IPv6 환경에서 작동하도록 응용 프로그램을 마이그레이션하는 중 일부 비정상적인 문제가 발생했습니다.C#의 DNS 서버에서 IPv6 주소를 반환 중
.NET Remoting을 사용하여 호스트 이름을 제공하는 원격 서비스에 연결하고 있습니다. 해당 호스트 이름 (ipv6.dt112979.company)은 AAAA 호스트로 (네트워크 카드 및 DNS에서 IPv6을 사용할 수있는 Windows 2003 서버에서 실행되는) DNS 서버에 등록됩니다.
문제는 해당 서버에 연결할 때마다 "해당 호스트를 알 수 없습니다."입니다. Wireshark를 설정했고 DNS 쿼리가 실행되지 않습니다. 나는 "ipconfig/flushdns"를했는데 같은 결과가 관찰되었다.
Dns.GetHostAddresses("ipv6.dt112979.company");
을 그리고 결과는 항상 "그런 호스트가 발견되지"입니다 :
그래서, 나는 단순히 수행하는 간단한 응용 프로그램을 만들었습니다.
나는 NSLOOKUP을 수행 한 결과는 다음과 같습니다
nslookup ipv6.dt112979.company
Server: company-dev03.company
Address: 10.200.10.207
Name: ipv6.dt112979.company
Address: fe80::a5c3:bfde:5ece:e833
당신은 문제가 될 일을 어떤 생각을 가지고 있습니까? .NET 3.5 및 .NET 4.0에서이를 테스트했으며 문제는 동일합니다. 테스트는 Windows 7 컴퓨터에서 수행되었습니다.
ipv6.dt112979.company에 대한 A 레코드가 있으면 호출은 성공하지만 IPv4 주소 만 반환합니다.
안부, 누누 Centeio
개발 컴퓨터에 특정 IPV6이 설치되어 있고 활성화되어 있습니까? 그렇지 않은 경우 No Host 예외 메시지가 다시 발생하는 것은 놀라운 일이 아닙니다. –
@GregoryABeamer 네, 확신합니다. OSSupportsIPv6을 인쇄하고 True를 반환합니다. 또한, "ping -6 ipv6.dt112979.company"를 사용할 수 있고 모든 통신이 IPv6을 사용한다는 Wireshark로 증명할 수 있습니다. –
궁금한데 ... 완전히 활성화 된 IPv6 네트워크가 없기 때문일 수 있습니까? 모든 호스트에서 Teredo를 사용하고 있다고 생각합니다. –