从C#中的DNS服务器返回IPv6地址

Nun*_*eio 6 c# dns ipv6

我正面临一些将我的应用程序迁移到IPv6环境中的异常问题.

我正在使用.NET远程连接来提供主机名的远程服务.该主机名(ipv6.dt112979.company)在我的DNS服务器上注册(在网卡和DNS中启用了IPv6的Windows 2003 Server上运行)作为AAAA主机.

问题是,每当我尝试连接到该服务器时,都会得到"没有这样的主机是已知的".我已经设置了Wireshark,并且没有发出任何DNS查询.我已经完成了"ipconfig/flushdns"并且观察到了相同的结果.

所以,我创建了一个简单的应用程序:

Dns.GetHostAddresses("ipv6.dt112979.company");
Run Code Online (Sandbox Code Playgroud)

结果总是"没有找到这样的主机".

我做了一个NSLOOKUP,结果是:

nslookup ipv6.dt112979.company
Server:  company-dev03.company
Address:  10.200.10.207

Name:    ipv6.dt112979.company
Address:  fe80::a5c3:bfde:5ece:e833
Run Code Online (Sandbox Code Playgroud)

你知道问题可能是什么吗?我用.NET 3.5和.NET 4.0进行了测试,问题是一样的.测试是在Windows 7机器上进行的.

如果我有ipv​​6.dt112979.company的A记录,那么该呼叫会超过但只返回IPv4地址.

此致,Nuno Centeio

Nun*_*eio 2

我解决了这个问题。我没有处于完全启用 IPv6 的网络中。我依赖于私有地址 (FE80::),尽管能够执行 ping 和 nslookup,但看起来 Winsocks2 并不喜欢这样。

我已将 Cisco UBE 配置为拥有真正的 IPv6 网络,一切都开始按预期工作。

感谢您的帮助。