Проблема разрешения DNS с Fedora 20

2 ответа

Часть вашей проблемы, скорее всего, связана с тем, что путь поиска автоматически генерируется через NetworkManager:

search xyz.local

Эта строка действительно должна быть такой:

search xyz.local.

Период в конце критичен, так как он говорит DNS resolver остановиться. Поэтому она не будет делать таких вещей:

mysql.xyz.local.xyz.local

Вы можете подтвердить это, попробовав разрешить имена хостов вручную, временно добавив период самостоятельно.

$ nslookup mysql.xyz.local.

Разрешение этого домена

Для разрешения этого вам нужно изменить определение вашего домена на вашем DHCP-сервере так, чтобы он обслуживал домен как xyz.local. .

/etc/nsswitch.conf

Метод, используемый для разрешения имени хоста, управляется файлом /etc/nsswitch.conf. Нотация NSS, расшифровывается как Name Service Switch, подробнее об этом можно прочитать в man-странице man nss.

Вот строка из моего файла, которая управляет тем, как имена хостов разрешаются:

$ grep ^hosts /etc/nsswitch.conf
hosts:      files dns mdns4_minimal

Она смотрит на мой локальный файл, /etc/hosts, сначала, затем запрашивает DNS 2.

3
27.01.2020, 20:28

Проблема вызвана ключевым словом «mdns4_minimal» в файле nsswitch.conf. Это ключевое слово сообщает преобразователю, что все, что заканчивается на local, следует запрашивать с помощью mdns. Достаточно удалить это ключевое слово (и дополнительные параметры, обычно указываемые в квадратных скобках).

Более подробную информацию вы можете найти в моем сообщении

Причина, по которой nslookup решает все, заключается в том, что он не смотрит в nsswitch.conf, а напрямую использует /etc/resolv.conf. ping, с другой стороны, зависит от преобразователя, который сначала просматривает nsswitch.conf и разрешает имя, используя все, что там написано.

3
27.01.2020, 20:28

Теги

Похожие вопросы