/ etc / hosts에 '127.0.0.1 localhost myhost.example.org myhost'와 같은 항목이 포함되어야합니까?


16

다양한 Linux 및 FreeBSD 시스템을 살펴보면 일부 시스템 /etc/hosts에는 호스트의 공개 호스트 이름에 대한 항목이 있지만 다른 시스템 에는 없습니다.

가장 좋은 방법은 무엇입니까? 내 / etc / hosts 파일에 호스트 FQDN (예 : myhost.example.org) 및 짧은 호스트 이름 (예 : myhost)에 대한 항목이 포함되어야합니까? FQDN 레코드가 로컬 호스트를 가리켜 야합니까 아니면 상자의 외부 IP를 가리켜 야합니까?

예를 들어 많은 RHEL / EL 상자의 기본 구성은 공개 호스트 이름을 /etc/hosts다음과 같이 지정하지 않습니다 .

myhost # cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
myhost #

다른 변형은 호스트의 짧은 호스트 이름과 FQDN도 127.0.0.1을 가리 킵니다. 나는 이것이 요즘 싫은 오래된 관행이라고 들었지만 많은 관리자들이 여전히 이것을하고 있습니다.

myhost # cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 myhost myhost.example.org
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
myhost #    

세 번째 변형은 호스트의 FQDN과 짧은 호스트 이름에 호스트의 외부 IP 주소가 제공된다는 것입니다. 이 세 번째 변종은 DNS 서버에 대한 조회를 줄이기 때문에 나에게 최적 인 것 같습니다.

myhost # cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
74.125.239.xxx myhost myhost.example.org
myhost #  

가장 좋은 방법은 무엇입니까?


2
프로그램이 사용하는 별칭 (예 : Mysql이 'localhost'별칭을 가질 필요 127.0.0.1 localhost myhost가 있음)에 충분하며 74.125.239.xxx myhost myhost.example.orgDNS 조회를 저장한다고 말했듯 이 충분 합니다. "지식있는 사람들이 사용하는"표준이 없다면 "모범 사례".
LinuxDevOps

답변:


12

환경에서 작동하는 DNS 오류 지점을 기꺼이 수락 하시겠습니까? 시스템이 로컬 컴퓨터 이름을 확인할 수없는 경우 일부 서비스 / 응용 프로그램은 특정 구성에서 실패합니다.

모든 상황에서 실행해야하는 절대적으로 중요한 서비스가있는 경우 호스트 파일에 항목을 추가하여 DNS 확인이 실패하는 상황에서 서비스가 계속 작동 할 수 있도록하는 것은 드문 일이 아닙니다.

DNS를 장애 지점으로 받아 들일 수 있거나 분석이 실패한 경우 서비스가 실패하지 않으면 호스트 파일의 구성 항목을 피할 수 있습니다.

DNS 서버를 최대한 견고하게 만드는 것이 좋습니다. 호스트 파일을 구성해야하는 경우 구성 관리 시스템을 사용하여 구성하십시오. 호스트 파일을 직접 만지지 마십시오.


13
여기에 추가하기 만하면 대부분의 경우 /etc/hostsDNS가 대체되며 DNS 장애시 대체로 사용되지 않습니다. 이것은 내가 생각해야 할 구별입니다. (nit-pick을 시도하지는 않습니다.) 모두에 정의 된 순서에 따라 다릅니다 /etc/nsswitch.conf.
Aaron Copley

4
다른 문제는 DNS 서버를 쿼리하는 것이 /etc/hosts파일 을 컨설팅하는 것보다 훨씬 느리다는 것 입니다. 많은 응용 프로그램이 초당 여러 번 호스트 이름을 계속해서 쿼리합니다. 호스트 이름을 추가하면 /etc/hosts대기 시간이 줄어들고 애플리케이션 속도가 빨라집니다.
Stefan Lasiewski 2014 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.