Как влияет поле nameservers / address в файле конфигурации yaml?
Любое приложение, которое я пробовал, использует серверы имен /etc/resolv.conf. Это происходит даже при остановленном resolvconf.
Это использует systemd в качестве резольвера. Нет ошибок при генерации или применении.
РАЗРЕШЕНИЕ
Спасибо всем, кто откликнулся. Конфигурация netplan yaml настраивает серверы имен после того, как я это сделаю:
Замените ссылку /etc/resolv.conf статическим файлом как
поисковый сервер имен 127.0.0.53
И это работает. Я нахожу, что должен включить поиск в resolv.conf, даже если у меня есть поле поиска в моей конфигурации netplan yaml. Головоломка на другой день.
Примечание: Это может копировать информацию от
chili555
, однако в обсуждении с ними, вышеупомянутый человек предложил отправить 'авторитетный' ответ, поскольку я работал с этой точной проблемой/вопросом прежде.
Поведение, засвидетельствованное в Вашей среде, systemd-resolved
эквивалентный какой dnsmasq
на пред18.04 делал. netplan
обновления влияют на серверы имен это systemd-resolved
используйте для его поисков. Это детализировано в последнем разделе ответа.
Но сначала, для любопытного, некоторой истории об этом поведении, и как это отличается от 'более старых' версий Ubuntu, которые используют Администратора сети и dnsmasq
. (Не стесняйтесь пропускать мимо следующего раздела этого ответа, если Вы только хотите 18.04-связанный материал),
Прежде 18.04: dnsmasq
как локальный сопоставитель кэширования
До 18,04, каждый раз, когда Вы использовали Ubuntu GUI, она установит dnsmasq
вместе с Администратором сети. Интеграция Администратора сети с dnsmasq
обновил бы dnsmasq
список 'следующего транзитного участка' серверы (восходящие серверы DNS) для того, куда отправить запрос.
Поэтому запрос DNS для google.com
передал бы из любого приложения, запрашивает разрешение, в dnsmasq
, и если dnsmasq
не знает IP-адреса или имел кэшируемую запись, истекают, затем передал бы запрос DNS любому восходящему серверу DNS (для этого примера, 8.8.8.8
или 8.8.4.4
). Необходимо было бы затем проверить Администратора сети или dnsmasq
конфигурация для наблюдения, где 'восходящие' серверы DNS были.
Это - типичное поведение в графической Ubuntu, установленной от Настольного ISOs.
Установка по умолчанию с Сервера ISOs, с другой стороны, следовала за традиционным "обновлением /etc/resolv.conf
"метод через resolvconf
пакет и используемый /etc/resolv.conf
непосредственно вместо того, чтобы связаться через dnsmasq
.
18.04: netplan
, и systemd-resolved
С 18,04, система DNS по умолчанию systemd-resolved
. Это работает как dnsmasq
из старых делает, кроме него делает это и для Рабочего стола и для Сервера установки ISO в настоящее время. Это также может интегрироваться с Администратором сети (используемый в средах GUI для руководящего Wi-Fi и такого), и с Netplan (который лучшие дескрипторы сети Ethernet)
systemd-resolved
от вручают netplan
(серверы или пользовательские рабочие столы) или Администратор сети (Рисунки рабочего стола по умолчанию) список серверов DNS для отправки запросов в (ли статически настроенный или настроенный через DHCP). Поэтому с помощью того же примера сверху, запроса DNS google.com
прошел бы systemd-resolved
тупиковый сопоставитель, который или возвратил бы кэшируемое справочное значение или передал бы его на восходящие серверы DNS.
Это эмулирует поведение по умолчанию dnsmasq
, но также и добавляет некоторую дополнительную обработку поиска для того, как 'localhost' и другие локально-связанные адреса могут быть запрошены.
С NetPlan или Администратором сети, можно передать список восходящих серверов DNS systemd-resolved
со следующей командой:
systemd-resolve --status
который даст Вам набор вывода. Соответствующий раздел был бы похож на это (взятый от chili555
ответ для целесообразности):
DNS Servers: 8.8.8.8
8.8.4.4
2600:1700:5aa0:830::1
Отказ от ответственности: Это - хорошо образованное предположение и не канонический, зарегистрированный ответ.
Любое приложение, которое я попробовал, использует/etc/resolv.conf серверы имен.
В моих 18,04 системах, непрокомментированном, то есть, на самом деле операционный, говорит раздел/etc/resolv.conf:
nameserver 127.0.0.53
Таким образом, я верю, признак использования dnsmasq, система та информация DNS кэшей. Это означает, я верю, посмотрите в локальном кэше сначала, прежде, чем спросить внешние серверы имен.
Но локальный кэш не будет содержать информации о сервере имен о веб-сайте, который никогда не посещался прежде. В этом случае система использует объявленные внешние серверы имен DNS. Они могут быть объявлены в/etc/network/interfaces в более старых системах; в/etc/netplan / *.yaml в более новых системах или, почти во всех настольных установках, в Администраторе сети.
На самом деле/etc/resolv.conf говорит нам, как внешние серверы имен могут быть найдены.
Выполненная "systemd-твердость - состояние" для наблюдения деталей о восходящих использующихся в настоящее время серверах DNS.
В моей системе в сообщении говорится, частично:
DNS Servers: 8.8.8.8
8.8.4.4
2600:1700:5aa0:830::1
Короче говоря, я полагаю, что серверы имен DNS, как объявляют, в netplan говорят систему, где посмотреть, если информация DNS не найдена в локальном кэше.