簡體   English   中英

從C#中的DNS服務器返回IPv6地址

[英]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機器上進行的。

如果我有ipv​​6.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM