ping6이 foo.localdomain을 ::1로 확인하는 이유는 무엇입니까?

ping6이 foo.localdomain을 ::1로 확인하는 이유는 무엇입니까?

VirtualBox에서 CentOS 7 시스템을 실행하고 있습니다. 호스트 전용 네트워크에 연결됩니다. 파일 /etc/hosts에는 다음 내용이 포함되어 있습니다.

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.56.102 prospero.localdomain prospero
192.168.56.105 ariel.localdomain ariel

ariel.localdomain을 ping하면 예상대로 192.168.56.105가 ping됩니다.

# ping -c1 ariel.localdomain
PING ariel.localdomain (192.168.56.105) 56(84) bytes of data

ariel.localdomain을 ping6하면 예상하지 못한 ::1 ping이 발생합니다.

# ping6 -c1 ariel.localdomain
PING ariel.localdomain(localhost (::1)) 56 data bytes

또한 존재하지 않는 foo.localdomain에 대해 ping6을 수행하고 동일한 응답을 얻을 수 있는데, 이는 전혀 예상하지 못한 결과입니다.

# ping6 -c1 foo.localdomain
PING foo.localdomain(localhost (::1)) 56 data bytes

ping6이 *.localdomain을 localhost로 확인하는 이유는 무엇입니까?

호스트 전용 네트워크에는 DNS 서버가 없으므로 DNS를 사용하는 쿼리는 시간 초과됩니다. 예를 들면 다음과 같습니다.

  • nslookup
  • dig
  • host

답변1

귀하의 hosts문서에 따르면 "ariel.localdomain의 IPv6 주소는 무엇입니까?"라는 질문에 대한 답변은 ::1해당 유형의 요청 에 응답하도록 구성되는 DNS 서버에서 나올 가능성이 높습니다 *.localdomain(btw, I 이것이 foo.localdomainIPv4 도메인에서도 해결된다는 사실은 놀라지 않을 것입니다 .127.0.0.1

디버그 모드에서 nslookup(또는 dig, 또는 )를 사용하면 hosts정보의 출처를 확인할 수 있습니다. 아래 (가상) 예시의 처음 두 줄을 참조하세요.

$ nslookup -debug -type=AAAA foo.localdomain
Server:     ns1.google.com
Address:    216.239.32.10#53
...
foo.localdomain has AAAA address ::1

마지막으로 이는 일반적으로 LAN( 귀하의 경우) 이 아닌 localdomain루프백 네트워크( )에 대한 것입니다 . 호스트는 일반적으로 컴퓨터에 대해 로컬이어야 합니다(즉, IPv4 주소가 있어야 함 ). 이는 단지 관례일 뿐이지만 DNS가 이런 방식으로 응답하는 이유를 설명할 수 있습니다.127/8192.168.56/24xxx.localdomain127.x.x.x

관련 정보