Using the DNS Event Viewer to Diagnose Problems
As any good administrator knows, Event Viewer is the first place to look when troubleshooting. Windows Server 2012 makes it even more straightforward to use because DNS events compiled from Event Viewer are immediately accessible from the DNS Manager Console. Parsing this set of logs can help you troubleshoot DNS replication issues, query problems, and other issues.
For more advanced event log diagnosis, you can turn on Debug Logging on a per-server basis. It is recommended that this functionality be turned on only as required, however, as this can affect server performance and the log files can fill up fast. To enable Debug Logging, follow these steps:
1. Launch Server Manager from a Windows 2012 server with a full GUI.
2. Select the DNS section. The list of servers in the server pool with the DNS role installed will be shown.
3. Right-click the DNS server to configure and select DNS Manager.
4. Select the DNS server name to configure.
5. Right-click the server name and choose Properties.
6. Select the Debug Logging tab.
7. Check the Log Packets for Debugging check box.
8. Configure any additional settings as required, and click OK.
By default, the log file is named dns.log and is saved in The C:\Windows\System32\dns\ directory. Listing 1 shows the debug of the DNS server dc1.companyabc.com of a lookup of the record www.cco.com from the server at 10.1.2.13. You can see from the log that the request was forwarded to the DNS server at 12.222.165.144 and that the results were then sent to the requesting server at 10.1.1.1.
Listing 1. DNS Log File
5/28/2012 6:48:32 PM 067C PACKET 000000BDAFD158A0 UDP Rcv 10.1.1.1 3b60
Q [0001 D NOERROR] A (3)www(3)cco(3)com(0)
5/28/2012 6:48:32 PM 067C PACKET 000000BDB0216410 UDP Snd 12.222.165.144 ebfc
Q [0000 NOERROR] A (3)www(3)cco(3)com(0)
5/28/2012 6:48:32 PM 067C PACKET 000000BDB0D8FF80 UDP Rcv 12.222.165.144 ebfc
R Q [8084 A R NOERROR] A (3)www(3)cco(3)com(0)
5/28/2012 6:48:32 PM 067C PACKET 000000BDAFD158A0 UDP Snd 10.1.1.1 3b60
R Q [8081 DR NOERROR] A (3)www(3)cco(3)com(0)
5/28/2012 6:48:58 PM 067C PACKET 000000BDB0A2B5B0 UDP Rcv 10.1.2.13 0006
Q [0001 D NOERROR] A (3)www(3)cco(3)com(10)companyabc(3)com(0)
5/28/2012 6:48:58 PM 067C PACKET 000000BDB0A2B5B0 UDP Snd 10.1.2.13 0006
R Q [8385 A DR NXDOMAIN] A (3)www(3)cco(3)com(10)companyabc(3)com(0)
5/28/2012 6:48:58 PM 067C PACKET 000000BDB01CFCE0 UDP Rcv 10.1.2.13 0007
Q [0001 D NOERROR] AAAA (3)www(3)cco(3)com(10)companyabc(3)com(0)
5/28/2012 6:48:58 PM 067C PACKET 000000BDB01CFCE0 UDP Snd 10.1.2.13 0007
R Q [8385 A DR NXDOMAIN] AAAA (3)www(3)cco(3)com(10)companyabc(3)com(0)
5/28/2012 6:48:58 PM 067C PACKET 000000BDB0D8FF80 UDP Rcv 10.1.2.13 0008
Q [0001 D NOERROR] A (3)www(3)cco(3)com(0)
5/28/2012 6:48:58 PM 067C PACKET 000000BDAFD158A0 UDP Snd 128.8.10.90 d511
Q [0000 NOERROR] A (3)www(3)cco(3)com(0)
5/28/2012 6:48:59 PM 067C PACKET 000000BDAFD27B40 UDP Rcv 128.8.10.90 d511
R Q [0080 NOERROR] A (3)www(3)cco(3)com(0)
5/28/2012 6:48:59 PM 067C PACKET 000000BDAFD158A0 UDP Snd 192.55.83.30 9b01
Q [0000 NOERROR] A (3)www(3)cco(3)com(0)
5/28/2012 6:48:59 PM 067C PACKET 000000BDB09D48F0 UDP Rcv 192.55.83.30 9b01
R Q [0080 NOERROR] A (3)www(3)cco(3)com(0)
5/28/2012 6:48:59 PM 067C PACKET 000000BDAFD158A0 UDP Snd 12.222.165.144 c2da
Q [0000 NOERROR] A (3)www(3)cco(3)com(0)
5/28/2012 6:48:59 PM 067C PACKET 000000BDAF446E30 UDP Rcv 12.222.165.144 c2da
R Q [8084 A R NOERROR] A (3)www(3)cco(3)com(0)
5/28/2012 6:48:59 PM 067C PACKET 000000BDB0D8FF80 UDP Snd 10.1.2.13 0008
R Q [8081 DR NOERROR] A (3)www(3)cco(3)com(0)
5/28/2012 6:48:59 PM 067C PACKET 000000BDB0A2B5B0 UDP Rcv 10.1.2.13 0009
Q [0001 D NOERROR] AAAA (3)www(3)cco(3)com(0)
5/28/2012 6:48:59 PM 067C PACKET 000000BDB0D8FF80 UDP Snd 12.222.165.144 7b4a
Q [0000 NOERROR] AAAA (3)www(3)cco(3)com(0)
5/28/2012 6:48:59 PM 067C PACKET 000000BDB0F3BB90 UDP Rcv 12.222.165.144 7b4a
R Q [8084 A R NOERROR] AAAA (3)www(3)cco(3)com(0)
5/28/2012 6:48:59 PM 067C PACKET 000000BDB0A2B5B0 UDP Snd 10.1.2.13 0009
R Q [8081 DR NOERROR] AAAA (3)www(3)cco(3)com(0)
The DNS log can be very detailed and tedious to read, but provides a wealth of information about exactly what the DNS server is doing. You can get even more detail by selecting the Details check box on the Debug Logging tab, which also enables you to see the data that was returned. Logging does add significantly to the load of the DNS server, so it should only be enabled when troubleshooting and disabled immediately afterwards.
Using Performance Monitor to Monitor DNS
Performance Monitor is a built-in, often-overlooked utility that allows for a great deal of insight into issues in a network. With regard to DNS, many critical DNS counters can be monitored relating to queries, zone transfers, memory utilization, and other important factors.
Client-Side Cache and HOST Resolution Problems
Windows 2000 and higher clients have a built-in client cache for name resolution that caches all information retrieved from name servers. When requesting lookups, the client resolver parses this cache first, before contacting the name server. Items remain in this cache until the TTL expires, the machine is rebooted, or the cache is flushed. In cases where erroneous information has been entered into the client cache, it can be flushed by typing ipconfig /flushdns at the command prompt.
By default, all clients have a file named HOSTS that provides for a simple line-by-line resolution of names to IP addresses. This file is normally located in \%Systemroot%\System32\Drivers\etc. Problems can occur when these manual entries conflict with DNS, and it is, therefore, wise to ensure that there are not conflicts with this HOSTS file and the DNS database when troubleshooting.
Using the Nslookup Command-Line Utility
The Nslookup command-line utility is perhaps the most useful tool for DNS client troubleshooting. Its functionality is basic, but the information obtained can do wonders for helping to understand DNS problems. Nslookup, in its most basic operation, contacts the default DNS server of a client and attempts to resolve a name that is inputted. For example, to test a lookup on www.companyabc.com, type nslookup www.companyabc.com at the command prompt. Different query types can also be input into Nslookup. For example, you can create simple queries to view the MX and SOA records associated with a specific domain by following these steps, which are illustrated in Figure 1:
1. Open a command prompt instance by choosing Start, All Programs, Accessories, Command Prompt.
2. Type nslookup and press Enter.
3. Type set query=mx and press Enter.
4. Type domainname and press Enter.
5. Type set query=soa and press Enter.
6. Type domainname and press Enter.
Nslookup’s functionality is not limited to these simple lookups. Performing an nslookup /? lists the many functions it is capable of. Nslookup is a tool of choice for many name-resolution problems and is a must in any troubleshooter’s arsenal.
Windows Server 2012 : Troubleshooting DNS (part 2) – Using the DNSCmd Command-Line Utility, Managing DNS with PowerShell
Иногда надо посмотреть и проанализировать работу DNS сервера под W2012 сервером.
Для этого необходимоЖ
- Включить логирование.
- “Разобрать” полученный лог.
- Подробно о логировании и диагностике DNS Logging and Diagnostics
- Удобный инструмент для просмотра логов DNS сервера это – “Win DNS Log Analyzer from JSharp/ZedLan Tools and Utilities.”
Ссылки на ресурсы:
Enabling DNS Logging for Windows Server 2012
Windows DNS Log AnalyserПрямая ссылка на загрузку Setup-ZedlanWDNSLA.zip
Благодарность авторам за хорошую работу!
Скрин
А так же можно.
To enable DNS diagnostic logging
- Type eventvwr.msc at an elevated command prompt and press ENTER to open Event Viewer.
- In Event Viewer, navigate to Applications and Services Logs\Microsoft\Windows\DNS-Server.
- Right-click DNS-Server, point to View, and then click Show Analytic and Debug Logs. The Analytical log will be displayed.
- Right-click Analytical and then click Properties.
- Under When maximum event log size is reached, choose Do not overwrite events (Clear logs manually), select the Enable logging checkbox, and click OK when you are asked if you want to enable this log. See the following example.
- Click OK again to enable the DNS Server Analytic event log.
By default, analytic logs are written to the file: %SystemRoot%\System32\Winevt\Logs\Microsoft-Windows-DNSServer%4Analytical.etl.
Далее используя утилиту
Convert the .etl file to > csv :
Go to Start button >> Run >> Cmd
Xperf.exe -i DAXTrace.etl -o DAXTrace.csv
Xperf.exe – это компонент Windows Assessment and Deployment Kit (Windows ADK)
The Windows Performance Analyzer tools are designed to measure and analyze Windows system and application performance. The Performance Analyzer tools consist of two primary programs, Xperf.exe and Performance Analyzer (Xperfview.exe). Xperf is a command-line tool that is used to control tracing and to process trace data. Performance Analyzer is a graphical trace data visualization tool. The WPA tools are available via the command-line tool, Xperf. After you install the tools, you can view your first trace.
Подробнее: Install Windows Performance Analyzer Tools
Скачать можно Other ADK downloads
Прямая ссылка This ADK supports Windows 10, version 2004
При установке выбираем требуемые компоненты.
После установки найти её можно
C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\xperf.exe
DNS (Domain Name System, Система Доменных имен) – система, позволяющая преобразовать доменное имя в IP-адрес сервера и наоборот.
DNS-сервер – это сетевая служба, которая обеспечивает и поддерживает работу DNS. Служба DNS-сервера не требовательна к ресурсам машины. Если не подразумевается настройка иных ролей и служб на целевой машине, то минимальной конфигурации будет вполне достаточно.
Настройка сетевого адаптера для DNS-сервера
Установка DNS-сервера предполагает наличие доменной зоны, поэтому необходимо создать частную сеть в личном кабинете и подключить к ней виртуальные машины.
После того, как машина будет присоединена к двум сетям, важно не перепутать, какое из подключений требует настройки. Первичный сетевой адаптер настроен автоматически с самого начала, через него открыт доступ к интернету, в то время как на дополнительно подключенных сетевых адаптерах доступа в интернет нет, пока не будет произведена ручная настройка:
Наведя курсор на значок сети в системном трее, можно вызвать всплывающую подсказку с краткими сведениями о сетях. Из примера выше видно, что присоединённая сеть это Network 3.
Далее предстоит проделать цепочку действий:
- Нажать правой клавишей мыши Пуск, в выпадающем меню выбрать пункт Сетевые подключения;
- Правой кнопкой мыши нажать на необходимый сетевой адаптер, в меню выбрать Свойства;
- В окне свойств выбрать IPv4 и нажать на кнопку Свойства;
- Заполнить соответствующие поля необходимыми данными:
Здесь в качестве предпочитаемого DNS-сервера машина назначена сама себе, альтернативным назначен dns.google [8.8.8.8].
Установка роли DNS-сервера
Для установки дополнительных ролей на сервер используется Мастер Добавления Ролей и Компонентов, который можно найти в Диспетчере Сервера.
На верхней навигационной панели Диспетчера сервера справа откройте меню Управление, выберите опцию Добавить Роли и Компоненты:
Откроется окно Мастера, в котором рекомендуют убедиться что:
1. Учётная запись администратора защищена надёжным паролем.
2. Настроены сетевые параметры, такие как статические IP-адреса.
3. Установлены новейшие обновления безопасности из центра обновления Windows.
Убедившись, что все условия выполнены, нажимайте Далее;
Выберите Установку ролей и компонентов и нажмите Далее:
Выберите необходимы сервер из пула серверов и нажмите Далее:
Отметьте чек-боксом роль DNS-сервер и перейдите Далее:
Проверьте список компонентов для установки, подтвердите нажатием кнопки Добавить компоненты:
Оставьте список компонентов без изменений, нажмите Далее:
Прочитайте информацию и нажмите Далее:
В последний раз проверьте конфигурацию установки и подтвердите решение нажатием кнопки Установить:
Финальное окно Мастера сообщит, что установка прошла успешно, Мастер установки можно закрыть:
Создание зон прямого и обратного просмотра
Доменная зона — совокупность доменных имён в пределах конкретного домена.
Зоны прямого просмотра предназначены для сопоставления доменного имени с IP-адресом.
Зоны обратного просмотра работают в противоположную сторону и сопоставляют IP-адрес с доменным именем.
Создание зон и управление ими осуществляется при помощи Диспетчера DNS.
Перейти к нему можно в правой части верхней навигационной панели, выбрав меню Средства и в выпадающем списке пункт DNS:
Создание зоны прямого просмотра
- Выделите каталог Зоны Прямого Просмотра, запустите Мастер Создания Новой Зоны с помощью кнопки Новая зона на панели инструментов сверху:
- Откроется окно Мастера с приветствием, нажмите Далее:
- Из предложенных вариантов выберите Основная зона и перейдите Далее:
- Укажите имя зоны и нажмите Далее:
- При необходимости поменяйте название будущего файла зоны и перейдите Далее:
- Выберите, разрешить динамические обновления или нет. Разрешать не рекомендуется в силу значимой уязвимости. Перейдите Далее:
- Проверьте правильность выбранной конфигурации и завершите настройку, нажав кнопку Готово:
Создание зоны обратного просмотра
- Выделите в Диспетчере DNS каталог Зоны Обратного Просмотра и нажатием кнопки Новая зона на панели инструментов сверху запустите Мастер Создания Новой Зоны:
- Выберите тип Основная Зона, перейдите Далее:
- Выберите назначение для адресов IPv4, нажмите Далее:
- Укажите идентификатор сети (первые три октета сетевого адреса) и следуйте Далее:
- При необходимости поменяйте название будущего файла зоны и перейдите Далее:
- Выберите, разрешить динамические обновления или нет. Разрешать не рекомендуется в силу значимой уязвимости. Перейдите Далее:
- Проверьте правильность выбранной конфигурации и завершите настройку, нажав кнопку Готово:
Создание A-записи
Данный раздел инструкции в большей степени предназначен для проверки ранее проделанных шагов.
Ресурсная запись — единица хранения и передачи информации в DNS, заключает в себе сведения о соответствии какого-либо имени с определёнными служебными данными.
Запись A — запись, позволяющая по доменному имени узнать IP-адрес.
Запись PTR — запись, обратная A записи.
- В Диспетчере DNS выберите каталог созданной ранее зоны внутри каталога Зон Прямого Просмотра. В правой части Диспетчера, где отображается содержимое каталогов, правой кнопки мыши вызовите выпадающее меню и запустите команду «Создать узел (A или AAAA)…»:
- Откроется окно создания Нового Узла, где понадобится вписать в соответствующие поля имя узла (без доменной части, в качестве доменной части используется название настраиваемой зоны) и IP-адрес. Здесь же имеется чек-бокс Создать соответствующую PTR-запись — чтобы проверить работу обеих зон (прямой и обратной), чек-бокс должен быть активирован:
Если поле имени остается пустым, указанный адрес будет связан с именем доменной зоны.
- Также можно добавить записи для других серверов:
- Добавив все необходимые узлы, нажмите Готово.
Проверка
- Проверьте изменения в каталогах обеих зон (на примере ниже в обеих зонах появилось по 2 новых записи):
- Откройте командную строку (cmd) или PowerShell и запустите команду nslookup:
Из вывода команды видно, что по умолчанию используется DNS-сервер example-2012.com с адресом 10.0.1.6.
Чтобы окончательно убедиться, что прямая и обратная зоны работают как положено, можно отправить два запроса:
- Запрос по домену;
- Запрос по IP-адресу:
В примере получены подходящие ответы по обоим запросам.
- Можно попробовать отправить запрос на какой-нибудь внешний ресурс:
В дополнение к имени домена и адресам появилась строчка «Non-authoritative answer», это значит, что наш DNS-сервер не обладает необходимой полнотой информации по запрашиваемой зоне, а информация выведенная ниже, хоть и получена от авторитетного сервера, но сама в таком случае не является авторитетной.
Для сравнения все те же запросы выполнены на сервере, где не были настроены прямая и обратная зоны:
Здесь машина сама себе назначена предпочитаемым DNS-сервером. Доменное имя DNS-сервера отображается как неопознанное, поскольку нигде нет ресурсных записей для IP-адреса (10.0.1.7). По этой же причине запрос 2 возвращает ошибку (Non-existent domain).
Средняя оценка: 5.0
Оценили: 3
Заметил на паре серверов с Windows Server 2012 одну особенность – периодически останавливающуюся службу DNS Client, о чем назойливо сообщал SCOM:
Alert: DNS Service Stopped Source: Microsoft Windows Server 2012 Standard Path: KOM-AD01-NPS01.holding.com Description: The DNS service on server KOM-AD01-NPS01.holding.com has stopped running
В эвент-логе на этих серверах можно было видеть события — сначала об остановке службы…
EventID 7036 The DNS Client service entered the stopped state.
и через некоторое время – о её повторном запуске..
EventID 7036 The DNS Client service entered the running state.
Судя по соседним событиям лога, никакого криминала в это время в системе не происходило и поэтому понять природу такого поведения клиента с наскоку не удалось. Интересно то, что на других серверах с Windows Server 2012 такого поведения службы DNS не наблюдалось и по сути эти два сервера отличались от других разве что только пониженной сетевой активностью. В ходе экспериментов удалось заметить то, что отключение Windows Firewall приводило к тому, что служба работала постоянно без остановок. Где-то на форумах в интернете (ссылку к сожалению не сохранил) наткнулся на информацию про то, что на новых системах DNS клиент может останавливаться в случае отсутствия активности. Как я понял, в Windows Server 2012 тип запуска службы DNS Client отображается как Automatic (Trigger Start), в отличие, например, от Windows Server 2008 R2, где он был Automatic, а служба при этом работала постоянно. Там же дали совет о том, что дабы заставить службу DNS Client работать без остановок, надо включить в правилах Windows Firewall разрешающее правило сетевого обнаружения — Network Discovery (LLMNR-UDP-In)
Так как в нашей сети работает DNS сервер, LLMNR нам на самом деле не нужен, но для «успокоения» SCOM этот метод оказался вполне работоспособным и вот уже более двух недель наблюдения на двух исходных серверах служба DNS Client работает без остановок.