호스트 이름이 / etc / hosts에 127.0.0.1이 아닌 127.0.1.1로 표시되는 이유는 무엇입니까?


204

이것은 약간의 멍청한 질문 일지 모르지만 새로운 Xubuntu 설치에서 / etc / hosts를 살펴보고 이것을 보았습니다.

127.0.0.1 localhost
127.0.1.1 myhostname

내가 사용한 대부분의 'nixs에서 두 번째 줄은 생략되었으며 호스트 이름을 hosts 파일에 추가하려면 다음과 같이하십시오.

127.0.0.1 localhost myhostname

실제적인 의미에서이 두 파일간에 차이가 있습니까?


두 번째 줄을 삭제하거나 데비안 / 우분투의 일부 프로세스가 줄을 다시 생성하고 다시 추가 할 수 있을지 궁금합니다.
— simgineer

답변:


159

둘 사이에는 큰 차이가 없습니다. 127/8(예 : 127.0.0.0=> 127.255.255.255)는 모두 루프백 인터페이스에 바인딩됩니다.

그 이유는 Ch. 의 데비안 매뉴얼에 문서화되어 있습니다 . 5 네트워크 설정-5.1.1. 호스트 이름 확인 .

궁극적으로 버그 해결 방법입니다. 원래 보고서는 316099 입니다.


5
실제 이유 : "시스템 호스트 이름과 시스템 호스트 이름을 연결하면 'localhost.localdomain'을 시스템 호스트 이름과 연관된 표준 호스트 이름으로 만드는 원하지 않는 결과가 발생했습니다. 즉, 'hostname --fqdn'은 'localhost.localdomain'을 반환했습니다."
— cmroanirgo

실제로이 문서 목록을 다시 추적했습니다 .debian.org / debian-boot / 2005 / 06 / msg00938.html Thomas는 0.1 대신 1.1을 사용해야한다는 느낌을 받았기 때문에 해당 내용을 수정하십시오. 메신저가 틀렸다면이 답변은 실제로 빵 부스러기 일 뿐입니 까?
— Brian Thomas

@BrianThomas 그 메시지는 왜 그들이 동등하지 않은지를 제안합니다. 그들은 원 localhost하고 myhostname, 그렇지 않으면, 하나가 다른의 별칭 것 - 구별 할 수 있습니다. 루프백 주소가 하나만있는 IPv6에서는 작동하지 않습니다. 스레드에서 언급 한대로 NSS 모듈을 사용하면 피할 수 있습니다. IP 주소가 같더라도 / etc / hosts보다 유연하고 다른 정식 이름을 반환하기 때문입니다. 내 시스템이 그러한 NSS 모듈을 사용하여 구성 되었기 때문에 이것을 알고 있습니다.
— sourcejedi

46

링크 된 정보를 요약하려면 다음을 수행하십시오.

  • /etc/hosts머신의 정규화 된 도메인 이름을 영구 IP 주소로 변환 하는 항목을 입력하는 것이 유용 합니다.
  • debian-installer보다 구체적으로, netcfg현재 (최소한 2013 년 3 월까지) 구성 요소가이 항목을 작성합니다.
  • 머신이 영구적 인 IP 주소를 가지고 있지 않다면, debian-installer는 여전히 그런 종류의 엔트리를 원합니다.
  • 주소 127.0.1.1는 루프백 인터페이스를 사용하며 , 마치 자신의 컴퓨터에서 응답 127.0.0.1하지만 필요에 따라 필요할 때 /etc/hosts별도로 고려할 수 있는 별개의 항목입니다 127.0.0.1.

Thomas Hood는 다음과 같이이 항목을 추가하는 방법을 설명합니다.

[이것은] UNIX 호스트 이름 이 확인되면 항상 고유 한 표준 호스트 이름이되도록합니다.

그러나:

장기적으로 UNIX 호스트 이름은 / etc / hosts에 두지 않아야합니다.


.. 그리고 ...? fdqn에 127.0.0.1을 사용해야합니까? 또는 127.0.1.1? 또는 정적 랜 IP?
— realtebo

1
@realtebo : 1. 유용하고 설치 프로그램에 의해 추가됩니다. 2. 여기에 "필수"가 없습니다. FQDN에 영구 주소가없는 경우에만 관련이 있습니다.
— einpoklum

9

나는 호기심이 많았고, 내가 찾던 것을 대답하지 않은 것 같기 때문에 다른 대답을 좋아하지 않았습니다.

답 : 이 문서를 되돌아 보면 마치 토마스가 루프백에 또 다른 전용 IP를주고있는 것처럼 보이는 것이 거의 정식 일 수 있습니다.

둘 다 루프백을 가리 킵니다. 다음 127.0.1.1을 사용하는 것은 루프백에서 실제 IP이고 127.0.0.1은 장치 자체이거나 루프백에서 다른 IP입니다. 둘 다 루프백을 나타내는 동일한 서브넷에 있지만 ip로 구분됩니다. 그것들은 dns와 동일하지만 전용 IP를 가지고 있기 때문에 분리됩니다.

요점은 다음과 같이 한 줄에 모든 항목을 넣을 수 있다는 것입니다.

127.0.0.1 localhost localhost.domain www.myfakednsname.com myakednsname.com 

호스트 이름이 로컬 인 경우, 의미는 글로벌 인터넷 DNS 항목이 다음이 경우에는 토마스 당신이 말했듯이, 실제 인터넷 IP에 매핑이 없습니다 필요 이것은 (정식으로) 거기를 바치고 같이, 제 2 항목 라인을 가지고있다.

127.0.0.1 localhost localhost.localdomain
127.0.1.1 myfakednsname

모든 공정성에서, 나는 마침내 이것을 나에게 이해되는 방식으로 구성한 후에, 그것이 einpoklum이 그것을 뒷받침에서 보이는 것처럼 설명하려고 시도한 것과 거의 같습니다.
— Brian Thomas

부정 투표, 왜 그런지 잘 모르겠습니다. 나는 아직도 이것이 이것이 최선의 대답이라고 믿거 나, 여기에 착륙 한 후에 그것을 넣지 않았을 것이다. 원래의 답변은 도움이되었지만 모든 세부 사항을 포착하지는 못했습니다. 나는 이것으로 갈 것이다.
— Brian Thomas
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.