moja konfiguracja dnsmasq została zerwana po aktualizacji do Ubuntu 18.04 z 16.04.
- systemd-resolved jest włączony i działa
- dnsmasq jest włączone i działa
Każde zapytanie DNS skierowane do świata zewnętrznego zostanie zawieszone na około 30 sekund przed sukcesem. Zapytania do moich lokalnych hostów (cokolwiek.mylocal) odniosą natychmiastowy sukces.
Jeśli zatrzymam dnsmasq (tj. service dnsmasq stop
), wtedy wszystkie zapytania DNS do świata zewnętrznego będą działać natychmiast (ale oczywiście nie. lokalny).
W: /etc/dnsmasq.conf
listen-address=127.0.0.1
address=/.mylocal/127.0.0.1
W: /etc/NetworkManager/NetworkManager.conf
[main]
...
# dns=dnsmasq
...
Odkomentowanie linii dns = uniemożliwi KAŻDĄ kwerendę dns.
W: /etc/systemd/resolved.conf
[Resolve]
#DNS=
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
#DNSStubListener=no
W: /etc/resolv.conf
Ten plik jest linkiem do: ../run/resolvconf/resolv.conf, który zawiera:
# 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
W: /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
Jedna zauważalna różnica w stosunku do mocy wyjściowej systemd-resolve --status
:
- Przy uruchomionym dnsmasq pierwsza linia w Global czyta:
DNS Servers: 127.0.0.1
- Po zatrzymaniu dnsmasq linia ta jest nieobecna, nie ma globalnego serwera DNS, a pierwszy użyteczny serwer jest zdefiniowany w sekcji Łącze 2, która określa moją bramę domyślną (192.168.1.1)
Każda pomoc jest bardzo mile widziana :)
źródło
Odpowiedzi:
Po nocnym śnie ;-) oto co wymyśliłem. Właśnie ręcznie dodałem kilka publicznych serwerów upstream (1.1.1.1 to CloudFlare's, 8.8.8.8 to Google)
W: /etc/dnsmasq.conf:
Wszystkie pozostałe pliki są pozostawione jak w moim pytaniu. Zarówno systemd-resolved, jak i dnsmasq są włączone i działają.
Dzięki temu kwerendy DNS działają.
Nadal nie uważam tego za poprawną odpowiedź, ponieważ wolałbym korzystać z DNS dostarczonego przez sieć, ale przynajmniej działa ...
źródło