[英]Returning IPv6 addresses from DNS server in C#
我正面臨一些將我的應用程序遷移到IPv6環境中的異常問題。
我正在使用.NET遠程連接來提供主機名的遠程服務。 該主機名(ipv6.dt112979.company)在我的DNS服務器上注冊(在網卡和DNS中啟用了IPv6的Windows 2003 Server上運行)作為AAAA主機。
問題是,每當我嘗試連接到該服務器時,都會得到“沒有這樣的主機是已知的”。 我已經設置了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地址。
此致,Nuno Centeio
我解決了這個問題。 我沒有完全啟用IPv6網絡。 我依賴於私有地址(FE80::),盡管能夠執行ping和nslookup,看起來像Winsocks2不喜歡這樣。
我已經將Cisco UBE配置為擁有真正的IPv6網絡,一切都按預期開始工作。
謝謝你的幫助。
Dns.GetHostAddresses
返回一個IPaddress值的數組,你確定你正在循環遍歷所有這些嗎?
此外,如果本地計算機不支持IPv6,則在使用Dns.GetHostAddresses
時會從結果列表中過濾IPv6結果。 您提到您已確保遠程主機支持IPv6,但您確定本地主機也支持此功能嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.