systemd-resolver не перенаправляет запросы DNS на указанный DNS-сервер

Кто-нибудь знает, как работает systemd-resolv voodo?

192.168.1.30 является правильным DNS-сервером для моей сети как возвращено DHCP.

/etc/resolv.conf указывает на 127.0.0.53

Systemd утверждает, что использует правильный сервер.

systemd-resolve --status | grep "DNS Servers"
192.168.1.30

Но dig указывает, что это не переадресация запросов Если я укажу сервер, который смогу разрешить shadowbox

dig @192.168.1.30 shadowbox

; <<>> DiG 9.16.1-Ubuntu <<>> @192.168.1.30 shadowbox
...

;; ANSWER SECTION:
shadowbox.      60  IN  A   192.168.1.34
...

, то systemd-resolv не сможет

dig @127.0.0.53 shadowbox

; <<>> DiG 9.16.1-Ubuntu <<>> @127.0.0.53 shadowbox
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 60161
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;shadowbox.         IN  A

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Sun Jun 07 14:00:12 CEST 2020
;; MSG SIZE  rcvd: 38

Я попытался отскочить от сервера, сбросить вызов и установить сервер вручную

systemd-resolve --flush-caches
systemd-resolve --set-dns=192.168.1.30 --interface=enp0s31f6

Я смогу chattr + i / etc / resolv.conf для восстановления контроля над DNS, но было бы неплохо узнать, почему systemd не работает, так как я теряю преимущества DHCP.

2
задан 7 June 2020 в 16:33

2 ответа

Чтобы добавить определенный восходящий поток:

  • добавьте вышестоящий dns в /etc/systemd/resolved.conf

    [Разрешить] DNS = 192.168.1.123

  • restart служба systemd-resolved restart

  • проверка с systemd-resolv --status

    Global DNS-серверы: 192.168.1.123

Чтобы использовать DNS-сервер, предоставленный DHCP (поскольку вы указали в комментариях, что хотите, чтобы он «просто вел себя как обычно»):

В файле конфигурации для интерфейса локальной сети (файл, соответствующий файлу шаблон имени / etc / systemd / network / *. network ) либо указывает на получение адреса локального DNS-сервера от DHCP-сервера, используя опцию DHCP = :

[Network]
DHCP=yes

Также убедитесь, что resolvconf имеет значение не мешает:

systemd-resolved будет работать из коробки с сетевым менеджером, используя /etc/resolv.conf. Никакой конкретной конфигурации не требуется, так как systemd-resolved будет обнаружен, следуя /etc/resolv.conf символическая. Это будет в случае с systemd-networkd или NetworkManager.

Однако, если клиенты DHCP и VPN используют программу resolvconf, чтобы установить серверы имен и поисковые домены (см. openresolv # Users для списка программное обеспечение, которое использует resolvconf), дополнительный пакет systemd-resolvconf необходим для предоставления / usr / bin / resolvconf символическая. Примечание: systemd-resolved имеет ограниченный интерфейс resolvconf и может не работать со всеми клиентами, см. resolctl (1) для более Информация. (из archwiki )

0
ответ дан 19 June 2020 в 22:10

Похоже, это дизайн. Поттеринг закрыл проблему https://github.com/systemd/systemd/issues/2514 с помощью wont-fix.

dig @127.0.0.53 shadowbox

systemd-resolved не поддерживает простые имена через DNS, только fqdn и игнорирует директиву поиска.

0
ответ дан 19 June 2020 в 22:10

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

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