Linux에서 / etc / hosts 형식 (Windows와 다른가?)


22

이 질문 아래 /etc/hosts에는 Linux (CentOS) 및 Windows 시스템 의 파일 샘플이 있습니다. Linux 파일에는 IP 주소 다음에 두 개의 탭 항목 (localhost.localdomain localhost)이 있으며 Windows에는 하나만 있습니다. localhost 대신 시스템 이름 (etest)을 갖도록 Windows에서 호스트 파일을 편집하려면 localhost라는 단어를 원하는 시스템 이름으로 바꾸십시오. 머신은 도메인의 일부일 필요는 없습니다.

리눅스 머신에서 두 항목 localhost.localdomainlocalhostI 도메인의 일부가 기계를해야 함을 나타내는 것으로 보인다. 이것이 사실입니까?

두 항목을 간단히 편집하여 etest읽을 수 있습니까?

127.0.0.1       etest etest

또는 하나의 항목을 도메인 이름으로 대체해야합니까?

또한 /etc/hostsLinux 시스템 에서 파일 의 두 번째 줄이 무엇인지 알려주십시오 .

::1     localhost6.localdomain6 localhost6

hosts Linux 시스템의 파일 :

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost.localdomain localhost
::1     localhost6.localdomain6 localhost6

hosts Windows 시스템의 파일 :

# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

127.0.0.1       localhost

최근에 비슷한 질문을 올렸지 만 그다지 흥미가 없었습니다. unix.stackexchange.com/questions/11844/etc-hosts-for-debian . 그러나 이것은 더 잘 작성되었습니다.
Faheem Mitha

답변:


13

항상 127.0.0.1 주소가 먼저 localhost로 해석되기를 원합니다. 도메인이 있으면 해당 도메인도 사용할 수 있지만 localhost가 두 번째로 나열되어 있는지 확인하십시오. 루프백 주소를 검색 할 시스템의 별명을 추가하려는 경우 해당 라인에서 별명을 공백으로 구분 된 값으로 계속 추가 할 수 있습니다. 여기에 도메인을 지정하는 것은 선택 사항이지만 옵션에서 "localhost"를 제거하지 마십시오.


5
또한 ":: 1"은 ipv6에 해당하는 127.0.0.1 (ipv4에 해당)입니다.
XQYZ

이것은 내 질문에 게시 한 줄 대신 이와 같은 줄을 갖는 것이 현명하다는 것을 의미합니까? localhost.localdomain localhost를 그대로두고 공백으로 구분 된 별칭 (가장 최근의 호스트 이름)을 포함 시켰습니다. 그렇지 않은 경우 내 컴퓨터 호스트 이름을 포함하고 호스트 파일에 localhost 항목을 포함시키는 이상적인 항목으로 제안하는 예를 게시하십시오.
토마스

1
127.0.0.1 localhost.localdomain localhost etest
Thomas

1
@ 토마스 : 귀하의 예는 그대로입니다. 그것으로 가서 테스트를 위해 더 많은 별칭을 추가 해야하는 경우 (예 : 아파치에 가상 호스트 이름이있는 경우) 라인에 별칭을 계속 추가 할 수 있습니다.
Caleb

22

/etc/hostsLinux 및 Windows 의 형식은 동일합니다.

IP address        hostname [hostalias]...

여기서 대괄호는 무언가가 선택 사항임을 나타내는 일반적인 방법이며 (실제로 입력하지는 않음) 점 ( ...)은 둘 이상이있을 수 있음을 의미합니다.

호스트를 도메인의 일부로 만들 필요는 없습니다. 사용해보십시오. 그러나 .localdomain실제 도메인 이름이없는 경우 사용하는 것이 좋습니다 . 의 ndots옵션 으로 인해 호스트 이름 확인이 약간 빨라질 수 있습니다 /etc/resolv.conf.

이런 의미에서 도메인은 Windows 도메인 또는 이와 유사한 것이 아닌 DNS 도메인 ( google.com또는 같은 stackexchange.com)을 의미 합니다.

로 시작하는 줄 ::1IPv6 입니다. 새로운 주소 체계에서 ::1와 같습니다 127.0.0.1. 실행 ifconfig lo하면 두 개의 주소가 표시됩니다. 로 시작하는 항목에 유의하십시오 inet6.

$ ifconfig lo
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
...

자세한 내용은 hosts (5) 매뉴얼 페이지 를 참조하십시오.


(...)는 둘 이상이있을 수 있음을 의미합니다. 엑스트라는 공백이나 쉼표 또는 둘 다로 구분됩니까?
Guy

1
공백. 더 정확하다고 생각합니다 hostname [hostalias[,hostalias]*].
Mikel

6

Windows가 Linux와 어떻게 다른지에 대해서는 말할 수 없지만 로컬 컴퓨터의 정의 형식은 'hostname'명령에서 얻을 수있는 결과에 영향을줍니다.

가장 일관되게 작동하는 형식은 다음과 같습니다.

127.0.0.1 etest.mydomain.com etest localhost

내가 찾은 중요한 것은 FQDN을 먼저하고 별칭을 순서에 상관없이 사용하는 것입니다.

IP 주소 다음에 이름을 다시 정렬 한 다음 'hostname -s'(짧은 이름) ​​및 'hostname -f'(정규화 된 도메인 이름 또는 FQDN) 명령을 사용하여 실험하면 의미하는 바를 볼 수 있습니다. 다음과 같이 보일 것입니다 :

$ hostname -s
etest

$ hostname -f
etest.mydomain.com

'hostname'자체는 /etc/conf.d/hostname 또는 / etc / hostname에 호스트에 입력 한 이름을 반환해야합니다 (파일 위치는 배포에 따라 다르지만 / etc 어딘가에 있습니다).

이름 순서를 변경하면 "hostname -f"가 "localhost"또는 "hostname : system error"와 같은 응답을 제공한다는 것을 알 수 있습니다. 내가 올바르게 작동하는 유일한 배열은 FQDN을 먼저 배치하는 것입니다.

항상 IPv6 로컬 주소 줄 (:: 1)을 같은 방식으로 설정합니다.

::1 etest.mydomain.com etest localhost

일부 배포판에서는 IPv6 이름을 ip6-localhost와 같은 것으로 설정했습니다. 실제로 IPv6을 사용하지 않으므로이 줄에 가장 적합한 설정에 대해서는 언급 할 수 없습니다. IPv4 네트워크에서 이름이 같은 두 줄을 모두 사용한다고 말할 수 있습니다.


0

슬레이브 호스트 파일을 다음과 같이 유지하십시오.

127.0.0.1 localhost

마스터 호스트 파일을 다음과 같이 유지하십시오

<private ip> master
<private ip> slave1
<private ip> slave2

100 % 일


답을 명확히하고 올바른 형식을 사용하십시오. 답에 이름을 넣을 필요는 없습니다.
Lambert
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.