해당 컴퓨터의 IPv4 주소를 확인하기 위해 IPv6을 사용하는 클라이언트 중 하나에 DNS 쿼리를 작성해야 합니다. 어떻게 해야 합니까? 호스트 이름을 사용하여 시스템의 IPv4 및 IPv6을 확인할 수 있다는 것을 알고 있지만 작업은 IPv6 주소를 사용하여 네트워크 클라이언트 중 하나의 IPv4 주소를 확인하는 것입니다.
클라이언트는 Windows 7 시스템이고 DNS 서버는 Bind9를 사용하는 Debian입니다.
IPv6 주소에 대한 PTR 레코드에 IPv4 주소를 추가하려고 시도했지만 이로 인해 nslookup을 수행할 때 IPv4 주소 또는 클라이언트의 호스트 이름만 얻을 수 있습니다(호스트 이름이 표시되는 시간의 절반, 표시되는 시간의 절반) 호스트 이름) IPv4 주소가 표시됩니다.
내가 본질적으로 원하는 것은 내가 작성할 때(nslookup 2001:db8:acad:1::10) DNS 서버가 호스트 이름과 Ipv4 주소 모두로 응답해야 한다는 것입니다.
답변1
IPv4 주소는 다음과 같습니다.매핑된하지만 후자가 전자보다 범위가 훨씬 크기 때문에 관계가 보장되지 않습니다.
매핑에 대한 설명은 다음을 참조하세요.IPv6/IPv4 주소 임베딩.
관계에 대한 논의는 다음을 참조하세요.인터넷 이름 서버 IPv4와 IPv6 주소 관계, Bergeret al.
답변2
이는 두 번의 조회로 이루어집니다. 먼저 호스트 이름을 얻기 위한 IPv6 역방향 조회와 해당 IPv4 주소(존재하는 경우)를 얻기 위한 IPv4 정방향 조회입니다.
Unix 스타일 셸에서 "dig" 명령을 사용하면 다음과 같이 작동할 수 있습니다.
dig +short $(dig +short -x <IPv6_address_here> ) A
nslookup
불행하게도 의 출력을 자신에게 다시 공급하는 것이 훨씬 더 어렵습니다.