Dnsmasq nach Upgrade auf Bionic defekt: funktioniert, benötigt aber ca. 30 Sekunden, um eine Abfrage aufzulösen

Dnsmasq nach Upgrade auf Bionic defekt: funktioniert, benötigt aber ca. 30 Sekunden, um eine Abfrage aufzulösen

Meine DNSMASQ-Konfiguration ist nach dem Upgrade von Ubuntu 16.04 auf Ubuntu 18.04 beschädigt.

  • systemd-resolved ist aktiviert und läuft
  • dnsmasq ist aktiviert und läuft

Jede DNS-Abfrage an die Außenwelt bleibt etwa 30 Sekunden hängen, bevor sie erfolgreich ist. Abfragen an meine lokalen Hosts (anything.mylocal) sind sofort erfolgreich.

Wenn ich dnsmasq (also ) stoppe service dnsmasq stop, dann funktionieren sofort alle DNS-Anfragen nach außen (aber .mylocal natürlich nicht).

In: /etc/dnsmasq.conf

listen-address=127.0.0.1
address=/.mylocal/127.0.0.1

In: /etc/NetworkManager/NetworkManager.conf

[main]
...
# dns=dnsmasq
...

Durch das Entfernen des Kommentarzeichens aus der Zeile „dns=“ wird JEDE DNS-Abfrage verhindert.

In: /etc/systemd/resolved.conf

[Resolve]
#DNS=
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
#DNSStubListener=no

In: /etc/resolv.conf

Diese Datei ist ein Link zu: ../run/resolvconf/resolv.conf und enthält:

# 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

In: /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

Ein auffälliger Unterschied bei der Ausgabe von systemd-resolve --status:

  • Wenn dnsmasq ausgeführt wird, lautet die erste Zeile in Global:DNS Servers: 127.0.0.1
  • Wenn dnsmasq gestoppt ist, fehlt diese Zeile, es gibt keinen globalen DNS-Server und der erste nützliche Server ist im Abschnitt Link 2 definiert, der mein Standard-Gateway (192.168.1.1) angibt.

Ich bin für jede Hilfe sehr dankbar :)

Antwort1

Nach einer Nacht Schlaf ;-) ist das hier das Ergebnis. Ich habe einfach manuell einige öffentliche Upstream-Server hinzugefügt (1.1.1.1 ist von CloudFlare, 8.8.8.8 ist von Google)

In: /etc/dnsmasq.conf:

listen-address=127.0.0.1
address=/.mylocal/127.0.0.1
server=1.1.1.1
server=8.8.8.8

Alle übrigen Dateien bleiben wie in meiner Frage. Sowohl systemd-resolved als auch dnsmasq sind aktiviert und laufen.

Dadurch funktionieren DNS-Abfragen.

Ich halte das immer noch nicht für die richtige Antwort, da ich lieber das vom Netzwerk bereitgestellte DNS verwenden würde, aber zumindest funktioniert es ...

verwandte Informationen