Возвращение адресов IPv6 с DNS-сервера в C # - PullRequest
6 голосов
/ 10 октября 2011

Я столкнулся с некоторыми необычными проблемами при переносе моего приложения для работы в средах IPv6.

Я использую удаленное взаимодействие .NET для подключения к удаленной службе, предоставляющей имя хоста.Это имя хоста (ipv6.dt112979.company) зарегистрировано на моем DNS-сервере (работающем на Windows 2003 Server с IPv6, включенным на сетевой карте и в DNS) как хост 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.

Если у меня была запись A для ipv6.dt112979.company, то вызов завершается успешно, но возвращается только адрес IPv4.

С уважением, Nuno Centeio

Ответы [ 2 ]

2 голосов
/ 11 октября 2011

Я разобрался в проблеме.Я не был в полностью включенной сети IPv6.Я полагался на частные адреса (FE80: :) и, несмотря на то, что он способен выполнять ping и nslookup, похоже, что Winsocks2 это не нравится.

Я настроил Cisco UBE для создания реальной сети IPv6и все заработало как положено.

Спасибо за помощь.

1 голос
/ 10 октября 2011

Dns.GetHostAddresses возвращает массив значений IP-адреса. Вы уверены, что просматриваете все из них?

Также, если локальный компьютер не поддерживает IPv6, результаты IPv6 отфильтровываются из списка результатов при использовании Dns.GetHostAddresses. Вы упомянули, что вы гарантировали, что удаленный хост поддерживает IPv6, но вы уверены, что ваш локальный хост также поддерживает это?

...