systemd-resolved не разрешает определенные домены

У меня очень странная проблема с сервером Ubuntu 18.04.1, где по умолчанию используется распознаватель, systemd-resolved, не разрешает некоторые конкретные доменные имена.

Тот, на котором это надежно терпит неудачу, является stephenreescarter.net:

valorin@wp:~$ dig stephenreescarter.net

; <<>> DiG 9.11.3-1ubuntu1.3-Ubuntu <<>> stephenreescarter.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7015
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

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

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Sun Jan 27 20:01:05 UTC 2019
;; MSG SIZE  rcvd: 50

Но сам домен в порядке и работает везде:

valorin@wp:~$ dig stephenreescarter.net @1.1.1.1

; <<>> DiG 9.11.3-1ubuntu1.3-Ubuntu <<>> stephenreescarter.net @1.1.1.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45539
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1452
;; QUESTION SECTION:
;stephenreescarter.net.         IN      A

;; ANSWER SECTION:
stephenreescarter.net.  228     IN      A       104.28.2.92
stephenreescarter.net.  228     IN      A       104.28.3.92

;; Query time: 1 msec
;; SERVER: 1.1.1.1#53(1.1.1.1)
;; WHEN: Sun Jan 27 20:00:52 UTC 2019
;; MSG SIZE  rcvd: 82

И другие домены работают нормально, так что это не просто случай, когда сервер не может решить все:

valorin@wp:~$ dig google.com

; <<>> DiG 9.11.3-1ubuntu1.3-Ubuntu <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24208
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1

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

;; ANSWER SECTION:
google.com.             148     IN      A       74.125.24.100
google.com.             148     IN      A       74.125.24.101
google.com.             148     IN      A       74.125.24.102
google.com.             148     IN      A       74.125.24.113
google.com.             148     IN      A       74.125.24.138
google.com.             148     IN      A       74.125.24.139

;; Query time: 2 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Sun Jan 27 20:00:57 UTC 2019
;; MSG SIZE  rcvd: 135

Перезагрузка системы иногда решает проблему, также sudo systemd-resolve --flush-caches, Однако они не всегда работают, или иногда их нужно повторять несколько раз, прежде чем они начнут работать.

Я могу воспроизвести эту проблему на недавно созданной капле Ubuntu 18.04.1 DigitalOcean в регионе SGP1.

В остальном, systemd-resolve Кажется, работает, поэтому я понятия не имею, что происходит.

Обновление - информация об отладке

valorin@wp:~$ ls -al /etc/resolv.conf
lrwxrwxrwx 1 root root 39 Oct  3 16:43 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
valorin@wp:~$ cat /run/resolvconf/resolv.conf
cat: /run/resolvconf/resolv.conf: No such file or directory
1 valorin@wp:~$ cat /run/systemd/resolve/resolv.conf
# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients directly to
# all known uplink DNS servers. This file lists all configured search domains.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver 67.207.67.2
nameserver 67.207.67.3

2 ответа

Решение

Я думаю что твой /etc/resolv.conf символическая ссылка не так.

В настоящее время вы показываете...

~$ ls -al /etc/resolv.conf lrwxrwxrwx 1 root root 39 Oct 3 16:43 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

Я считаю, что это должно указывать на resolv.confне stub-resolv.conf, Чтобы изменить это, мы сделаем это...

sudo rm -i /etc/resolv.conf # удалить старую символическую ссылку

sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf # воссоздать символическую ссылку

Посмотрите, поможет ли это в любом случае.

По умолчанию при установке 18.04, похоже, отсутствует пакет libnss-resolv, при установке которого исправляется файл /etc/nsswitch.conf, поэтому строка hosts выглядит следующим образом

hosts:          files mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] dns myhostname  

Если вы просканируете файл / var / log / syslog, вы, вероятно, увидите такие строки:

Jan 27 09:33:15 leno systemd-resolved[931]: Using degraded feature set (UDP) for DNS server 192.168.1.1.
Jan 27 10:06:12 leno systemd-resolved[931]: Grace period over, resuming full feature set (UDP+EDNS0) for DNS server 192.168.1.1.  

Это указывает на то, что иногда вы работаете с сокращенной функцией, установленной через UDP, и большие выходы могут переполнять обычный буфер. См. Ошибки панели запуска 1804487 и 1805027. Другие обходные пути, такие как перенаправление ссылки /etc/resolv.conf из /run/systemd/resolv/stub-resolv.conf в файл... / resolv.conf, в основном вырезают systemd из цикла, предоставление сервера имен напрямую.


Вы тестировали разрешение с 1.1.1.1, но не 67... ip. Пытаться:

dig stephenreescarter.net @67.207.67.2  

Если это не помогло, проблема не в systemd-resolvd, который использует этот сервер имен. Этот сервер имен не работает для меня, но, возможно, это не публично.

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