Решение systemd не отвечает на запросы

Я получаю dns-сбои на некоторых серверах с Ubuntu Server 17.10 или 18.01. Я не могу разрешать адреса, если я не перейду напрямую к серверам имен (т. Е. С помощью dig @ 1.2.3.4 ...) Он не может решить простейшие запросы:

$ host localhost ;; connection timed out; no servers could be reached

/ etc / nsswitch. conf:

hosts: files dns

/etc/resolve.conf

nameserver 127.0.0.53 search xx.uk xxx

netstat output:

$ netstat -pluten Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 102 209799 7876/systemd-resolv tcp 0 0 192.168.x.1:53 0.0.0.0:* LISTEN 0 45394 2673/dnsmasq tcp 0 0 127.0.0.1:7030 0.0.0.0:* LISTEN 0 26916 3236/docker-proxy tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 23759 1925/sshd tcp6 0 0 :::7946 :::* LISTEN 0 48402 2076/dockerd tcp6 0 0 :::22 :::* LISTEN 0 23761 1925/sshd udp 0 0 0.0.0.0:4789 0.0.0.0:* 0 26906 - udp 0 0 127.0.0.53:53 0.0.0.0:* 102 209798 7876/systemd-resolv udp 0 0 192.168.x.1:53 0.0.0.0:* 0 45393 2673/dnsmasq udp 0 0 0.0.0.0:67 0.0.0.0:* 0 45390 2673/dnsmasq udp 0 0 10.x.x.x:68 0.0.0.0:* 101 2702 7218/systemd-networ udp6 22592 0 :::7946 :::* 0 48403 2076/dockerd

Однако systemd-resolve работает:

$ systemd-resolve localhost localhost: 127.0.0.1%lo ::1%lo -- Information acquired via protocol DNS in 201.5ms. -- Data is authenticated: yes

Отсутствует выход из systemd-разрешен даже при отладке при выполнении запросов

0
задан 10 May 2018 в 18:51

4 ответа

Простой обходной путь, если вы точно знаете, какой DNS-сервер вы хотите использовать, просто добавьте их в /etc/systemd/resolved.conf. Это работает для меня:

sudo vi /etc/systemd/resolved.conf

Раскомментируйте строку #DNS= и добавьте предпочтительные DNS-серверы (пробел разделен).

DNS=8.8.8.8 8.8.4.4

Затем выполните:

sudo systemctl restart systemd-resolved
1
ответ дан 17 July 2018 в 14:39

У меня нет каких-либо советов о том, как правильно исправить DNS-ответчик systemd-разрешения, но я могу предложить обходное решение:

Включить nss-resolve для приложений, которые используют приложения NSS Tell, которые не используют NSS для непосредственного контакта с ведущими серверами имен

Для (1) измените свой /etc/nsswitch.conf:

hosts: files resolve [!UNAVAIL=return] dns

Для (2), ссылку /etc/resolv.conf на /run/systemd/resolve/resolv.conf.

0
ответ дан 17 July 2018 в 14:39

Простой обходной путь, если вы точно знаете, какой DNS-сервер вы хотите использовать, просто добавьте их в /etc/systemd/resolved.conf. Это работает для меня:

sudo vi /etc/systemd/resolved.conf

Раскомментируйте строку #DNS= и добавьте предпочтительные DNS-серверы (пробел разделен).

DNS=8.8.8.8 8.8.4.4

Затем выполните:

sudo systemctl restart systemd-resolved
1
ответ дан 20 July 2018 в 14:43

У меня нет каких-либо советов о том, как правильно исправить DNS-ответчик systemd-разрешения, но я могу предложить обходное решение:

Включить nss-resolve для приложений, которые используют приложения NSS Tell, которые не используют NSS для непосредственного контакта с ведущими серверами имен

Для (1) измените свой /etc/nsswitch.conf:

hosts: files resolve [!UNAVAIL=return] dns

Для (2), ссылку /etc/resolv.conf на /run/systemd/resolve/resolv.conf.

0
ответ дан 20 July 2018 в 14:43

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

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