Системное разрешение не отвечает на запросы

Я получаю 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:

$ 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 localhost
localhost: 127.0.0.1%lo
           ::1%lo

-- Information acquired via protocol DNS in 201.5ms.
-- Data is authenticated: yes

Нет вывода из systemd-resolved даже при отладке при выполнении запросов

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

2 ответа

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

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

Для (1), изменение Ваш /etc/nsswitch.conf:

hosts: files resolve [!UNAVAIL=return] dns

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

1
ответ дан 29 October 2019 в 09:01

Простое обходное решение, если Вы знаете наверняка, что сервер 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
ответ дан 29 October 2019 в 09:01

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

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