моя конфигурация dnsmasq была повреждена после обновления до Ubuntu 18.04 с 16.04.
- systemd-resolved включен и работает
- dnsmasq включен и работает
Любой DNS-запрос к внешнему миру будет зависать в течение 30 секунд, прежде чем завершится успешно. Запросы к моим локальным хостам (any.mylocal) будут выполнены немедленно.
Если я остановлю dnsmasq (то есть service dnsmasq stop
), то все DNS-запросы к внешнему миру будут работать немедленно (но .mylocal, конечно, нет).
В: /etc/dnsmasq.conf
listen-address=127.0.0.1
address=/.mylocal/127.0.0.1
В: /etc/NetworkManager/NetworkManager.conf
[main]
...
# dns=dnsmasq
...
Раскомментирование строки dns = предотвратит ЛЮБОЙ запрос dns.
В: /etc/systemd/resolved.conf
[Resolve]
#DNS=
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
#DNSStubListener=no
В: /etc/resolv.conf
Этот файл является ссылкой на: ../run/resolvconf/resolv.conf, которая содержит:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 127.0.0.53
В: /etc/nsswitch.conf
passwd: compat systemd
group: compat systemd
shadow: compat
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Одно заметное отличие с выводом systemd-resolve --status
:
- Когда запущен dnsmasq, первая строка в Global гласит:
DNS Servers: 127.0.0.1
- При остановленном dnsmasq эта строка отсутствует, глобальный DNS-сервер отсутствует, а первый полезный сервер определен в разделе «Ссылка 2», в котором указан мой шлюз по умолчанию (192.168.1.1).
Любая помощь очень ценится :)