/etc/hosts
저는 Linux의 파일을 주의 깊게 관찰하고 있습니다 . /etc/hosts
추가, 수정, 삭제와 같은 일부 파일 작업을 설계했습니다 .
나는 그 내용을 거의 읽지 않았 /etc/hosts
으며 그 내용이 포함되어 있다는 것을 알고 있습니다 <IP> <FQDNS separated by space>
.
내 질문은: 입력 줄에 /etc/hosts
다음과 같은 IP 주소 항목만 포함되어야 하는지입니다.
:1 localhost
192.168.25.21 host1.support.com
192.168.25.22 host2.support.com
192.168.25.23
192.168.25.24
192.168.25.25 host5.support.com
답변1
이에 대해 예, 아니오로 대답하는 것은 실제로 불가능합니다.
Linux(커널)는 호스트 파일을 전혀 읽지 않습니다. 대신, DNS 확인을 사용하는 모든 프로그램은 파일 자체를 읽습니다.
이전에는 호스트 이름 확인 측면에서 소프트웨어가 다르게 동작하는 문제가 있었고 그 결과는 다음과 같습니다.유클리브다른 일을 해라glibc. 이러한 파일을 읽기 위한 자체 코드가 있으며 모두 정확히 동일하게 작동하지는 않습니다.
기본 라이브러리의 용도를 확실히 알고 있더라도 종종 예외를 발견하게 될 것입니다. 예를 들어, Google 크롬이 호스트 파일을 읽지 않거나 반드시 존중하지 않는다는 것을 암시하는 참조가 인터넷에 많이 있습니다. 하나의 예외가 있는 곳에는 일반적으로 더 많은 예외가 있습니다.
제가 드리는 조언은 시스템의 모든 프로그램이 어떻게 작동하는지 정확히 알지 않는 한 IP만 입력하지 말라는 것입니다.
답변2
/etc/hosts
IPv4 또는 IPv6 주소만 포함하는 항목은 기술적으로 유효하지 않으며 의미가 없지만 다양한 확인자 루틴이 이 상황을 처리하는 방법은 구현에 따라 다릅니다.
/etc/hosts
또한 주석으로 간주되는 모든 텍스트 #
및 별칭(닉네임) 뿐만 아니라 주석 줄도 포함될 수 있다는 점에 유의해야 합니다 . 하나 이상의 공백 및/또는 탭은 공백뿐만 아니라 줄에서 필드를 구분하는 데 사용됩니다.
예를 들어:
# comment
192.168.1.100 foobar.mydomain.org foo bar