Утилита dnscmd доступна в пакете Support Tools. Утилита nslookup, которая рассматривается в иной статье, обычно используется для определения производительности и проверки ответов сервера DNS. Утилита dnscmd, в свою очередь, позволяет диагностировать и исправлять ошибки в конфигурации, а так же выполнять широкий диапазон действий по администрированию сервера DNS.

Команда dnscmd имеет следующий синтаксис:

dnscmd [server] <операция> [параметры] [аргументы]

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

Операция clearcache

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

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

После того, как были описаны причины использования этой команды, рассмотрим методы использования:

dnscmd [сервер] /clearcache

То есть, для очистки кэша сервера имен ns1.microsoft.com можно использовать следующую команду:

dnscmd ns1.microsoft.com /clearcache

Операция Statistics

Операция statistics позволяет получить большой объем информации о сервере DNS, включая:

  • запросы, отправленные и полученные;
  • типы полученных запросов (A, NS, MX, PTR);
  • попытки передачи зон и частота успешных попыток;
  • ссылки на WINS;
  • статистику динамических обновлений (безопасные обновления, типы записей);
  • статистику производительности записи.

Вывод команды содержит большой объем информации, часть из которой более полезна в разработке, а не при диагностике. Обычно, основное внимание следует уделить записанным ошибкам, после чего попытаться изолировать проблему на основе полученной информации.

Синтаксис команды для операции statistics выглядит следующим образом:

dnscmd [сервер] /statistics [id] [/clear]

Параметры команды для операции statistics рассматриваются в следующей таблице.

Параметры команды dnscmd /statistics

Параметр

Использование

сервер

Используется для указания имени или адреса IP удаленного сервера DNS, статистику которого необходимо сообщить

id

Этот параметр позволяет ограничить категории сообщаемой статистической информации о сервере DNS. Допустимые значения параметра id рассматриваются в табл. 8.2

/clear

Сбрасывает счетчик статистики указанного сервера DNS в 0. Счетчики автоматически сбрасываются и перезапускаются при запуске или перезапуске сервера DNS

Значения параметра id для команды dnscmd /statistics

Значение

Cтатистика

1

Time

2

Query

5

Query2

8

Recurse

10

Master

20

Secondary

40

WINS

100

Update

200

SkwanSec

400

DS

10000

Memory

40000

Database

80000

Records

100000

Packet Memory

200000

NBTStat Memory

Хотя статистические категории имеют не самые интуитивно-понятные названия, основное внимание следует уделить связанным с ними записям. При первом запуске этой команды не указывайте значение параметра id и обратите внимание на категории, которые особенно полезны при диагностике. Таким образом, при последующих попытках запуска утилиты объем выдаваемой информации будет намного меньшим.

Так как команда выдает большой объем статистической информации, стоит рассмотреть возможность перенаправления ее вывода в файл (на другую программу). Например, для получения всей статистики сервера dns1.microsoft.com и сохранения этой информации в файле D:\Info\dns.txt, необходимо ввести следующую команду:

dnscmd dns1.microsoft.com /statistics > D:\Info\dns.txt

После завершения выполнения команды ее вывод можно просмотреть, открыв файл в любом редакторе, например, в Блокноте.