/etc/hosts
이 질문 아래에는 Linux(CentOS) 및 Windows 시스템의 샘플 파일이 붙여져 있습니다. Linux 파일에는 IP 주소 뒤에 두 개의 탭 항목(즉, localhost.localdomain localhost)이 있지만 Windows에는 하나만 있습니다. Windows에서 호스트 파일을 편집하여 localhost 대신 컴퓨터 이름(etest)을 사용하려면 localhost라는 단어를 원하는 컴퓨터 이름으로 바꾸면 됩니다. 머신이 도메인의 일부일 필요는 없습니다.
Linux 시스템에서 이 두 항목은 해당 시스템이 도메인의 일부가 되어야 함을 나타내는 것 localhost.localdomain
같습니다 . localhost
이게 진짜야?
이 두 항목을 간단히 편집하여 etest
다음과 같이 읽을 수 있습니다.
127.0.0.1 etest etest
아니면 항목을 도메인 이름으로 바꿔야 합니까?
/etc/hosts
또한 Linux 시스템에서 파일의 두 번째 줄의 목적을 알려주십시오 .
::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
답변1
형식은 Linux와 Windows에서 /etc/hosts
동일합니다 .
IP address hostname [hostalias]...
대괄호는 (실제로 입력하지 않고) 선택 사항임을 나타내는 일반적인 방법이며, 점( ...
)은 두 개 이상이 있을 수 있음을 의미합니다.
호스트를 도메인의 일부로 만들 필요는 없습니다. 한번 해보고 확인해 보세요. 하지만 .localdomain
실제 도메인 이름이 없다면 도메인 이름을 사용하는 것이 좋습니다. 옵션 으로 인해 ndots
호스트 이름 확인이 조금 더 빨라질 수 있습니다./etc/resolv.conf
.
이러한 의미에서 도메인은 Windows 도메인이나 이와 유사한 도메인이 아닌 DNS 도메인(예: google.com
또는 )을 나타냅니다.stackexchange.com
다음으로 ::1
시작하는 줄IPv6. 새로운 주소 지정 체계와 같습니다 ::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
...
보다Host(5) 매뉴얼 페이지자세한 내용은.
답변2
항상 127.0.0.1 주소가 먼저 localhost로 확인되기를 원합니다. 도메인이 있는 경우 해당 도메인도 사용할 수 있지만 localhost가 두 번째로 나열되어 있는지 확인하세요. 루프백 주소를 찾을 컴퓨터에 별칭을 추가하려면 해당 줄에 공백으로 구분된 값으로 추가하면 됩니다. 여기서 도메인을 지정하는 것은 선택 사항이지만 옵션에서 "localhost"를 제거하지 마십시오.
답변3
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 네트워크에서는 동일한 이름을 가진 두 개의 라인이 있을 수 있다는 것입니다.
답변4
슬레이브 호스트 파일을 다음과 같이 그대로 둡니다.
127.0.0.1 localhost
기본 호스트 파일을 다음과 같이 그대로 두십시오.
<private ip> master
<private ip> slave1
<private ip> slave2
100% 작동 중