Сначала я прочитал этот вопрос и большинство ответов. Проблема в том, что ни одна из них не применяется.
В попытке «пойти с потоком» я хотел перейти на systemd-resolved. Однако требование состоит в том, что локальный авторитетный сервер имен вводится в доступные серверы имен, полученные из dhcp. Они используются для разрешения доменов разработки. Мне нужен полноценный сервер, поэтому я могу также тестировать специализированные записи, такие как TXT (для spf, ключей домена и т. Д.). Поэтому /etc/hosts не хватает.
После многих лунных циклов я сдался. systemd-resolved просто ненадежна для этой установки. Мне удалось получить правильный заказ в какой-то момент (используя конфигурацию, конфликтующую с документацией), но после перезагрузки заказ был другим другим systemd-resolve даже не проконсультировался с этим сервером имен, что заставляет браузер не разрешать его.
Короче говоря (слишком поздно?) Я отключил systemd-resolved, но продолжаю использовать systemd-networkd. В процессе resolvconf, dnsmasq и network-manager были удалены и удалены из системы.
Итак, вернемся к основам - раскомментируем prepend-domainname-servers в /etc/dhcp/dhclient.conf и двигаться дальше. Не так много. После перезагрузки локальный сервер имен не вводится. Итак, теперь мне интересно, кто создает /etc/resolv.conf?
/etc/systemd/network/50-wireless.network:
[Match]
Name=wlo1
[Network]
DHCP=ipv4
[DHCP]
RouteMetric=20
UseDNS=True
Для 20-wired.network конфигурация идентичное имя запрещающего интерфейса и RouteMetric из 10. Кроме того, никакой провод не подключен. Переключение UseDNS больше не действует (или, по крайней мере, не должно быть), поскольку systemd-resolved отключен:
% systemctl status systemd-resolved
● systemd-resolved.service - Network Name Resolution
Loaded: loaded (/lib/systemd/system/systemd-resolved.service; disabled; vendo
Active: inactive (dead)
Поэтому я подозреваю, что у systemd-networkd есть собственный встроенный клиент dhcp, который также не может быть настроен для работы с локальным авторитетным сервером, потому что:
UseDNS = True, добавляет DHCP-серверы. То, что делает «False», не указано в документации, но из имени и тестирования он вообще не использует серверы передачи DHCP-сервера. Любые статические настроенные DNS-серверы, использующие DNS=, используются systemd-resolved, которые не знают, как последовательно добавлять серверы домена.Итак, я предполагаю, что я обречен устанавливать resolvconf и / или NetworkManager, если кто-то не знает, как сообщить systemd-networkd не использовать его отсутствующий в функции встроенный клиент, а вызвать dhclient или знает, как надежно настроить стек systemd, чтобы предпочесть локальный сервер имен.
Каковы мои варианты здесь?