Как я могу убедиться, что DNS-серверы Windows работают?

9

Я думал, что знаю, как это сделать, но думаю, что нет.

Даже d2отладка nslookupне показывает фактического форвардера, запрашиваемого.

Итак ... допустим, я установил DNS-серверы пересылки на DNS-сервере Windows, а затем запросил с помощью nslookup (или что-то еще?) Этот сервер для внешнего полного доменного имени, такого как "www.purpleflowers.com".

Могу ли я на самом деле увидеть, где DNS-сервер Windows запрашивает свой сервер пересылки, какой сервер пересылки он в итоге использовал, и ответ от этого сервера пересылки?

Очиститель
источник
Почему вы ожидаете отладки, nslookupчтобы показать это? Пересылка выполняется сервером, а не клиентом.
Бармар
Можете ли вы включить ведение журнала запросов на серверах, которые вы пересылаете?
Бармар
@ Barmar - экспедиторы в OpenDNS ... не то, чем я могу управлять.
TheCleaner
Попробуйте это с помощью ETW: stackoverflow.com/a/34518185/843000 ненавистники будут ненавидеть.
mbrownnyc

Ответы:

8

Могу ли я на самом деле увидеть, где DNS-сервер Windows запрашивает свой сервер пересылки, какой сервер пересылки он в итоге использовал, и ответ от этого сервера пересылки?

Я не знаю ни одного журнала, который дал бы вам эту деталь. Но вы всегда можете запустить фильтрацию захвата пакетов для трафика DNS. Вы должны увидеть запросы, поступающие от ваших клиентов, и запросы, отправляемые вашим настроенным серверам пересылки для запросов, на которые невозможно ответить из кэша.

Zoredache
источник
Спасибо Zoredache ... это то, что я понял, но у меня была небольшая надежда, что мой Google-Fu подвел меня. Я возьму захват пакета и отредактирую ваш ответ с этой информацией когда-нибудь на этой неделе. (Кстати, в моем конкретном случае мы переходили на OpenDNS и Umbrella. У них есть страница «проверки», которая в основном проверяет, что они получают запросы DNS от вашего WAN IP. Это достаточно хорошо для меня, но вопрос по-прежнему актуален для других которые не используют их)
TheCleaner
2

Пакеты DNS не содержат информации об источнике и назначении, которые они выполняют автоматически с помощью каскада DNS-запросов.

Чтобы узнать, работает ли сервер пересылки или нет, нужно настроить клиента с IP-адресом Windows Server DNS в качестве только DNS.

Обязательно очистите кеш, выполнив (ipconfig / flushdns) на клиенте.

Тогда попробуйте без какого-либо форвардера, настроив его, у вас должны быть проблемы с попаданием на внешние сайты. (помните, что в клиенте и на сервере также содержится информация о кеше, которую необходимо очистить).

Затем попробуйте использовать один сервер пересылки, например 8.8.8.8, и вы сможете получить доступ к сайтам, но конкретный ip того, к какому DNS-серверу запрашивается, вы не сможете получить эту информацию, поскольку на сетевом уровне такой информации нет.

Вот интересный вопрос, связанный с тем, что вы хотите: https://www.experts-exchange.com/questions/24079211/How-can-I-trace-the-DNS-forwarder-query-from-my-Server.html

Хосе Ортега
источник
Хосе, я ценю ответ, но эта часть Then try without any forwarder configured it, you should have issues to hit external sites.не соответствует действительности. Большинство наших DNS-серверов не настроены на использование серверов пересылки, а просто используют серверы Root Hints в качестве неавторизованного поиска. Вы должны отредактировать эту часть (или я могу), чтобы не запутать других.
TheCleaner