Nach dem Upgrade meiner 16.04-Installation auf 16.10 habe ich Probleme mit DNS.
Zuerst hatte ich ein paar Mal Probleme mit der WLAN-Verbindung, während es im Ethernet funktionierte. Jetzt scheint es auch über WLAN zu funktionieren. Ich weiß nicht warum und ob es in irgendeiner Weise mit dem Problem zu tun hat, mit dem ich jetzt konfrontiert bin:
Wenn Sie mit Cisco Anyconnect VPN eine Verbindung zu einem VPN-Host herstellen , wird in '/etc/resolv.conf' eine Zeile eingefügt . Ich verstehe , dass Ubuntu ist jetzt mit systemd-resolve , und der Mann - Seite sagt , dass es drei verschiedene Modi für den Umgang mit /etc/resolv.conf. Meine /etc/resolv.conf ist kein Symlink und listet 127.0.0.53 nicht als DNS-Server auf, so weit ich das verstehe, sollte systemd-resolved "es für DNS-Konfigurationsdaten lesen". Es scheint sich jedoch nicht darum zu kümmern.
graben
Das Seltsame (für mich) ist, dass dig host.customer.tld
eine nette Antwort mit einem ANTWORT-ABSCHNITT zurückgegeben wird, der die IP des angeforderten Hosts zeigt, und der sich auf den DNS-Server bezieht, der von VPN-Client als SERVER zu /etc/resolv.conf hinzugefügt wurde. Wenn die VPN-Verbindung deaktiviert ist, erhalte ich keine Antwort. Dh dig liest /etc/resolv.conf .
Klingeln
Der Browser auf der anderen Seite gelangt nicht zu /etc/resolv.conf und kann den Hostnamen nicht auflösen. Ping / Curl übrigens auch nicht.
nmcli
Ich habe einen ähnlichen Beitrag gefunden und versucht zu rennen
nmcli device show <interfacename> | grep IP4.DNS
Es werden jedoch keine DNS für das cscotun0-Gerät aufgelistet. (Dies ist jedoch auch in 16.04 nicht der Fall.) Außerdem listet nmcli meinen DHCP-Server (meinen Router) als IP4.DNS-Host für meine eth / wlan-Verbindungen auf. Die Verwendung dig @192.168.0.1 xxx
für jede öffentliche Domain funktioniert einwandfrei.
Aufbau
In meiner /run/systemd/resolve/resolv.conf sind einige andere DNS-Server aufgeführt:
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 2001:4860:4860::8888
# Too many DNS servers configured, the following entries may be ignored.
nameserver 2001:4860:4860::8844
Diese werden nicht von meinem DHCP-Server bereitgestellt. Die Datei /etc/systemd/resolved.conf enthält nur kommentierte Zeilen mit Ausnahme der Abschnittsüberschrift:
[Resolve]
#DNS=
#FallbackDNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
Die Manpage für resolved.conf sagt das
DNS = Eine durch Leerzeichen getrennte Liste von IPv4- und IPv6-Adressen, die als System-DNS-Server verwendet werden sollen. ... Wenn diese Einstellung nicht angegeben ist, werden aus Kompatibilitätsgründen stattdessen die in /etc/resolv.conf aufgelisteten DNS-Server verwendet, sofern diese Datei vorhanden ist und Server darin konfiguriert sind. Diese Einstellung ist standardmäßig auf die leere Liste eingestellt.
FallbackDNS = Eine durch Leerzeichen getrennte Liste von IPv4- und IPv6-Adressen, die als Fallback-DNS-Server verwendet werden sollen. Alle per Link von systemd-networkd.service (8) erhaltenen DNS-Server haben Vorrang vor dieser Einstellung, ebenso wie alle über DNS = above oder /etc/resolv.conf eingestellten Server. Diese Einstellung wird daher nur verwendet, wenn keine anderen DNS-Serverinformationen bekannt sind. Wenn diese Option nicht angegeben ist, wird stattdessen eine kompilierte Liste von DNS-Servern verwendet.
Scheint, als würde der Fallback in meinem Fall in /run/systemd/resolve/resolv.conf landen.
EDIT: Ich war nicht sicher, was das Problem war, und um ehrlich zu sein, weiß ich immer noch nicht genau, wie das funktioniert, aber es stellte sich heraus, dass die Lösung in meinem Fall darin bestand, den systemd-resolved
Dienst zu deaktivieren . Ich dachte, dass ein Dienst erforderlich ist, dass es die Komponente ist, die den DNS-Dienst für alle lokalen Anwendungen bereitstellt, aber anscheinend gibt es etwas anderes, das diesen Job ausführt.