У меня есть сервер BIND, работающий в Ubuntu, который не может найти www.microsoft.com или какие-либо записи в Microsoft. Все остальные домены, такие как google.com и yahoo.com, работают нормально. Я ищу несколько предложений о том, как улучшить ведение журнала, чтобы выяснить, почему у BIND возникают проблемы с этим доменом.
Я уже записываю канал запроса в default_syslog и вижу запросы, поступающие на сервер, но я не вижу результата усилий сервера BIND в попытке найти IP-адрес этих имен.
Симптомы
> ping www.microsoft.com
не удается найти, указывает, что хост не найден
> dig @A.B.C.D www.microsoft.com
также время ожидания, где A.B.C.D - IP-адрес этого внутреннего DNS-сервера.
другие запросы работают нормально
В настоящее время я использую db.root для корневых серверов, и в этой конфигурации у меня нет настроек пересылки. Я ожидал, что этот сервер определит корневые серверы microsoft.com, а затем сможет найти оттуда записи. Благодарим вас за любые предложения о том, как улучшить детализацию ведения журнала в BIND и где искать сообщения журнала.
Как посмотреть, что происходит:
Чтобы увидеть, что сервер делает в реальном времени, если у вас есть rndc
настроенный запуск rndc trace x
(где x
уровень отладки, который вы хотите просмотреть).
Чтобы увидеть, что сервер делает вживую, без rndc
вам нужно будет запустить сервер в режиме переднего плана named -g -d x
(где x
это снова уровень отладки).
Чтобы настроить ведение журнала в файл, откройте named.conf и отредактируйте / добавьте раздел ведения журнала, например:
logging {
channel default_file {
file "/var/log/named.log" size 10m;
severity info;
print-time yes;
print-severity yes;
print-category yes;
};
category default{ default_file; };
};
Обратите внимание, что это настраивает ведение журнала для уровня «информация» и выше. Это сбрасывает довольно много информации для живого сервера. Возможные значения включают «extra», «debug», «info», «error», «fatal» и «dynamic» (значение -d должно быть указано в командной строке для динамического).
Что не так с вашим сервером:
Ваш сервер возвращается к себе, пытаясь рекурсивно разрешить домен. Поскольку это происходит только для одного домена, о котором вы знаете, вероятно, проблема в вашем hosts
файл или в вашем named.conf
файл (вероятно, последний).
Получение request failed: duplicate query
почти всегда проблема с forwarders
директива, которая возвращается к серверу или что-то подобное.
Это может быть проблема с кешем. Вы пробовали очистить кеш?
rndc flush # all entries
rndc flushname microsoft.com # all entries for microsoft.com supported from bind 9.3