Как выполнить поиск DNS в веб-роли Windows Azure?

#asp.net #azure #dns #mx-record

#asp.net #azure #dns #mx-запись

Вопрос:

Я загружаю DNDNS с http://dndns.codeplex.com / и заставить его работать в локальном IIS.

пример кода:

 request.Resolve("8.8.8.8", domain_a_string, NsType.MX, NsClass.INET, ProtocolType.Udp, null);
  

но в Windows Azure не работает, написано, что не удается подключиться к DNS-серверу, ответа нет (или отброшен)

Затем я попробовал 4.2.2.4 и множество других общедоступных DNS-серверов, ни один из них не работает.

У кого-нибудь здесь есть рабочий код или другое решение для поиска DNS для Azure?

Ответ №1:

Я полагаю, что DNS работает через UDP, а в Windows Azure трафик UDP не маршрутизируется. Вам нужно будет использовать DNS-сервер внутри Windows Azure. Если с помощью этой библиотеки есть способ просто использовать DNS-сервер по умолчанию, на который настроена Windows, это должно сработать. Если нет, вы могли бы черпать вдохновение из http://smarxrole.codeplex.com/SourceControl/changeset/view/3accd48815c3, который представляет собой скрипт PowerShell, который получает правильный DNS-сервер в Windows Azure.

Комментарии:

1. Кроме того, я просто добавлю, что библиотека, на которую ссылается (dndns.codeplex.com ) на самом деле также поддерживает TCP. @Эрик, ты должен использовать это с ProtocolType. Tcp вместо ProtocolType.Udp .

2. Ссылка на документацию Microsoft, которая подтверждает, что UDP действительно заблокирован: msdn.microsoft.com/en-us/library/windowsazure/jj136814.aspx

Ответ №2:

Проверьте StatDNS, который позволяет выполнять DNS-запросы через HTTP и получать обратные записи PTR как для адресов IPv4, так и для IPv6 @https://github.com/ghuntley/statdns