Утилита 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
После завершения выполнения команды ее вывод можно просмотреть, открыв файл в любом редакторе, например, в Блокноте.