2011-10-10 9 views
5

IPv6環境でアプリケーションを移行する際に珍しい問題が発生しました。C#のDNSサーバーからIPv6アドレスを返す

.NETリモート処理を使用して、ホスト名を提供するリモートサービスに接続しています。そのホスト名(ipv6.dt112979.company)は、AAAAホストとして(ネットワークカードとDNSでIPv6が有効になっているWindows 2003 Server上で実行されている)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アドレスだけを返します。

よろしく、IPアドレス値の配列を返しますDns.GetHostAddresses ヌーノCenteio

+0

開発マシンでIPV6がインストールされ、有効になっていますか?そうでない場合は、No Host例外メッセージが戻ってきても驚くことではありません。 –

+0

@GregoryABeamerはい私は確信しています。私はOSSupportsIPv6を印刷しており、Trueを返します。また、「ping -6 ipv6.dt112979.company」を使用し、すべての通信がIPv6を使用していることをWiresharkで証明することができます。 –

+0

私は疑問に思っています...私は完全に有効になっているIPv6ネットワークを持っていない可能性がありますか?私はすべてのホストでTeredoを使用していると思います... –

答えて

1

私は問題を把握しました。 私は完全に有効化されたIPv6ネットワークにいませんでした。私はプライベートアドレス(FE80::)に頼っていましたが、pingとnslookupを実行できるにもかかわらず、Winsock2はそうではないようです。

私は実際のIPv6ネットワークを持つようにCisco UBEを設定しましたが、すべてが期待どおりに動作するようになりました。

ありがとうございました。

0

は、あなたがそれらのすべてをループしていることを確認していますか?

また、ローカルコンピュータがIPv6をサポートしていない場合、Dns.GetHostAddressesを使用すると、IPv6結果が結果リストからフィルタリングされます。あなたは、リモートホストがIPv6をサポートしていることを確信していると述べましたが、ローカルホストもこれをサポートしていますか?

+0

私はOSSupportsIPv6を印刷しており、Trueを返します。関数がSocketExceptionをスローするので、結果を反復することはできません。私のホストはIPv6をサポートしています...私はIPv6を使ってリモートホストにpingすることもできます(Wiresharkで証明されています)。私はリモートデスクトップを他のIPv6ホストにもできます。 –

関連する問題