Разрешение имени виртуальной машины Azure Linux

У нас есть одна виртуальная сеть с одним облачным сервером в Azure. Эта виртуальная сеть имеет несколько серверных узлов, включая машины с Windows и некоторые машины с Linux. На одном из компьютеров Windows размещен локальный DNS-сервер для разрешения имен в виртуальной сети. Все узлы были созданы с опцией DNS, так что локальный DNS регистрируется в узлах как их DNS. Кроме того, параметры виртуальной сети были обновлены, чтобы включить этот DNS-сервер (172.16.0.4) в качестве DNS для VN.

Мои машины Windows могут работать хорошо - при новой инициализации или перезапуске DNS автоматически обновляется, чтобы отобразить новый IP для этой машины, если таковой имеется.

Однако машины Linux не зарегистрированы на этом локальном DNS вообще. Узлы Linux могут разрешать IP-адрес узла Windows, используя локальный DNS (172.16.0.4), но они не могут связаться с другими узлами Linux с помощью разрешения имен.

Я попытался обновить файл resolvconf/resolvconf.d/tail, добавил запись "search " и перезапустился. Также попытался предоставить полное доменное имя в файл имени хоста сервера Linux. Я заметил, что в resolv.conf все еще есть строка "search reddog.microsoft.com". Это говорит о том, что используемый DNS-суффикс все еще является старым, даже если в VN доступен новый локальный DNS-сервер. Resolv.conf выглядит следующим образом:

nameserver 172.16.0.4
search reddog.microsoft.com

Как я понимаю, основная причина этой проблемы заключается в том, что DHCP-сервер Azure должен отправлять запросы DDNS на этот локальный DNS (который был должным образом зарегистрирован как DNS уровня VN), чтобы обновить записи для любого нового узла или перезапущенного узла, который появляется в этом VN. Но Azure DHCP, похоже, не отправляет эти запросы DDNS в DNS. Что мне не хватает?

3 ответа

Мои первоначальные мысли заключаются в том, что проблема заключается в том, что DNS-сервер принимает регистрацию с сервера Linux, а не связана с тем, что она направлена ​​туда. Необходимо проверить, настроена ли ваша DNS-зона для принятия незащищенных обновлений? Это необходимо, поскольку серверы Linux не смогут проходить проверку подлинности для обновления DNS.

Вы можете изменить конфигурацию вашего DHCP-клиента, добавив следующие строки:

 supersede domain-name "your.domainname.com";
 supersede domain-search "your.domainname.com";
 supersede search "your.domainname.com";

Обычно вы можете найти конфигурацию DHCP в /etc/dhcp/dhclient.conf файл. Ищи dhclient внутри /etc/ найти правильный.

Другие возможные решения: https://superuser.com/questions/110808/how-can-i-add-additional-search-domains-to-the-resolv-conf-created-by-dhclient-i

Не говоря уже о том, что содержимое /etc/resolv.conf сбрасывается до значения по умолчанию Azure при каждой перезагрузке сервера. Поэтому, даже если вы измените его, в следующий раз при перезагрузке он вернется с поисковым доменом reddog.microsoft.com и любым другим сервером имен Azure по умолчанию.

Другие вопросы по тегам