Локальные DNS-запросы не выполняются на сервере, но работают на клиентах

Локальные DNS-запросы не выполняются на сервере, но работают на клиентах

У меня есть сервер Ubuntu 14.04, на котором установлен и настроен Bind9. На клиентских компьютерах я установил адрес DNS-сервера на этот сервер. nslookupдля моих пользовательских записей DNS возвращают правильные IP-адреса. Однако при запросе локального DNS-сервера на сервере Ubuntu происходит сбой:

** server can't find intranet: NXDOMAIN

Я проверил, что мой сервер использует себя как with nmcli dev list iface eth0 | grep IP4. Я также пробовал запросить with nslookup intranet 10.0.2.1на сервере. IP принадлежит серверу.

Почему это не работает на самом сервере?

решение1

Резолвер на вашем сервере должен быть настроен на использование себя в качестве DNS-сервера. Проверьте, /etc/resolv.confесть ли в списке ваш IP-адрес. Например:-

nameserver 10.0.2.1

Кроме того, NSS должен быть настроен так, чтобы резолвер фактически использовал DNS для разрешения имен (в отличие от других систем). Проверьте, что файл /etc/nsswitch.confсодержит строку, похожую на следующую:-

hosts:      files dns myhostname

Это сообщает распознавателю о необходимости сначала проверить локальную базу данных ( /etc/hosts), прежде чем пытаться использовать DNS.

Связанный контент