호스트 이름이 / 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.