Назад | Перейти на главную страницу

Отладка DNS: что делать, если разрешение имени хоста не работает должным образом?

Текущие результаты поиска по запросу «debug dns» не содержат указания, что делать, если вы (как пользователь / клиент) думаете, что что-то не так с разрешением имени хоста.

Что я могу сделать, чтобы сузить проблему?

Мой частный случай:

Инструмент host может разрешить имя:

root@mypc# host remotehost.internal-domain.local
remotehost.internal-domain.local has address 10.99.204.11

Но инструмент nslookup не могу:

root@mypc# nslookup host remotehost.internal-domain.local
nslookup: couldn't get address for 'remotehost.internal-domain.local': not found

Я смущен.

Решение

В моем случае я изменил эту строку в /etc/nsswitch.conf:

hosts:          files mdns4_minimal [NOTFOUND=return] dns

к этому

hosts:          files dns

Теперь домен .local разрешается DNS, а не одноранговыми соединениями avahi.

Что я могу сделать, чтобы сузить проблему?

В общем: многие команды имеют переключатели, которые увеличивают подробность и / или уровень отладки, что упрощает устранение неполадок. Проверьте страницу руководства для получения точных опций, т. Е. man host и man nslookup

В случае проблем с DNS:

  • довольно типичная проблема - наличие статических записей в /etc/hosts
  • ваша система может использовать базу данных альтернативных хостов, настроенную в /etc/nsswitch.conf и когда вы используете инструменты, которые проверяют только действительные серверы имен DNS, вы получаете разные результаты по сравнению с тем, что разрешает ваша система.
  • ваш /etc/resolv.conf может содержать несколько серверов имен, и один или несколько из них отвечают иначе, чем другие, проверьте, запросив каждый конкретный сервер имен напрямую