Я использую systemd 213 в Arch Linux и systemd-networkd/ разрешается с помощью DHCP для подключения к Интернету. Я также использую кеширующий DNS-сервер на 127.0.0.1. Я хотел бы сделать этот сервер первым DNS-сервером в списке, но я также хотел бы использовать серверы имен, обнаруженные systemd-resolved. Использование статического resolv.conf на самом деле невозможно, потому что я подключаюсь к сетям с разными настройками DNS.
Я знаю, что могу установить резервные DNS-серверы в /etc/systemd/resolved.conf
, но есть ли способ с systemd-networkd добавить мой локальный DNS-сервер к тем, которые обнаружены DHCP?
Изменить: что я пробовал до сих пор
Добавление ручной записи
DNS
в файл.network
приводит к тому, что эта запись добавляется, а не добавляется:# This file is managed by systemd-resolved(8). Do not edit. # # Third party programs must not access this file directly, but # only through the symlink at /etc/resolv.conf. To manage # resolv.conf(5) in a different way, replace the symlink by a # static file or a different symlink. nameserver 141.48.3.51 nameserver 141.48.3.17 nameserver 141.48.3.3 # Too many DNS servers configured, the following entries may be ignored nameserver 127.0.0.1
Если я добавлю
UseDNS=true
в раздел[DHCPv4]
, как описано вsystemd.network(5)
, обнаруженные DHCP серверы имен игнорируются, и используется только статическая запись DNS, а это не то, что мне нужно или:# This file is managed by systemd-resolved(8). Do not edit. # # Third party programs must not access this file directly, but # only through the symlink at /etc/resolv.conf. To manage # resolv.conf(5) in a different way, replace the symlink by a # static file or a different symlink. nameserver 127.0.0.1
Использование представления in_addr для адреса DNS просто добавляет мой сервер имен, так же, как и обычное представление.