Почему Ubuntu рассматривает NXDOMAIN как преобразование в localhost?

Каждый раз, когда я получаю сообщение об ошибке, потому что домен не существует (например, не удалось разрешить хост ), вместо этого я получаю сообщение об ошибке подключения к адресу обратной связи:

$ curl -4 -v https://nonexist.invalid
Trying 127.0.0.1...

Проблема начинается только через 2 секунды после установления беспроводного соединения. В течение короткого времени все работает как положено.

Я использую systemd-resolved , и dns, кажется, работает:

$ readlink /etc/resolv.conf
../run/systemd/resolve/stub-resolve.conf
$ dig +short A example.com
192.0.2.1
$ dig +short A nonexist.invalid
$ systemd-resolve -t A nonexist.invalid
nonexist.invalid: resolve call failed: No appropriate name servers or networks for name found

Если разрешение имен выглядит нормально, почему программы все еще могут разрешать имена на 127.0.0.1 ?

0
задан 7 June 2020 в 08:37

1 ответ

Это DNS. Параметр для поискового домена вызывает это:

$ cat /etc/resolv.conf
nameserver 127.0.0.53
options edns0
search localhost

Маршрутизатор обманом заставил Ubuntu расширять имена с помощью поискового домена, который получает специальную обработку из systemd-resolved и поэтому нарушает ожидаемое поведение:

Имена хостов "localhost" и "localhost.localdomain" (, а также любые имена хостов, оканчивающиеся на ".localhost" или ".localhost.localdomain") разрешаются в IP-адреса 127.0.0.1 и: : 1..

Решение A: Переконфигурируйте маршрутизатор для отправки более подходящего поискового домена

Решение B: отключите автоматическую настройку DNS , например в NetworkManager вы можете отключить его только для Ipv4 или IPv6, если проблема ограничена одним. Соответствующая опция в формате текстовой конфигурации: ignore-auto-dns .

# /etc/NetworkManager/system-connections/WLAN
# ..
[ipv6]
ignore-auto-dns=true
# ..

Не решение: edit /etc/dhcp/dhclient.conf (эта конфигурация не может заменить DNvL-рекламу маршрутизатора IPv6)

0
ответ дан 19 June 2020 в 21:29

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

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