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.
quelle
Antworten:
Ich hatte ähnliche Probleme, zum Beispiel beim Hinzufügen eines zusätzlichen USB-WLAN-Dongles. Zuerst habe ich dnsmasq im Netzwerkmanager wie oben beschrieben deaktiviert und dnsmasq gestoppt (Dienst dnsmasq stop)
Ich habe festgestellt, dass die Routing-Tabelle beim Beheben von Fehlern während der VPN-Verbindung etwas anders aussieht (Ausgabe des Befehls route). Der Name des Gateways lautet DD-WRT für den Fall, dass es nicht funktioniert, und einfach „Gateway“, wenn es funktioniert. Die Ausgabe davon hat sich nicht geändert:
Die IP-Adresse meines Routers wurde weiterhin angezeigt. Ein Workaround, um es für eine Weile zum Laufen zu bringen, besteht darin, systemd-resolvd neu zu starten:
Da dnsmasq nicht in der Gleichung enthalten ist, ist entweder systemd-resolvd die Ursache für das Problem oder eine Änderung der Routingtabelle.
Das ist also der einzige Unterschied, den ich sehe:
welches funktioniert. Und das, wenn es NICHT funktioniert:
Und der gleiche Namensunterschied auf der VPN-Leitung:
Wer weiß, was die Routing-Tabelle beeinflussen kann? Es wäre großartig, wenn wir dies identifizieren könnten, damit ein Fehlerbericht eingereicht werden kann. Ich werde ernsthaft krank und müde, all diese Fehler zu verfolgen, aber ich möchte, dass sie behoben werden, damit zukünftige Benutzer und wir glücklich sind :).
[update] Es scheint, als würde das Beenden von systemd-resolved das Problem beheben und andere Dinge nicht negativ beeinflussen. Sie können das versuchen und es wissen lassen, wenn es Sachen kaputt macht. Ich sah beim Ausführen von systemd-resolvd im Debug, als es kaputt ging:
Etwas deaktivieren:
Ich habe den Ubuntu-Bericht mit Vorschlägen aktualisiert. [/ update] Hinzufügen: Hinweis: Der Fehlerbericht: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624317 enthält für einige Probleme einen Patch für 17.04. Bitte überprüfen Sie den Fehlerbericht und testen Sie den Patch, falls möglich. Vielen Dank!
[aktualisieren]
Bitte überprüfen Sie den oben genannten Fehlerbericht. Das Problem scheint für 17.10 behoben zu sein. Mit einem einfachen Befehl kann auch DNS-Leakage deaktiviert werden.
[/aktualisieren]
quelle
sudo systemctl disable systemd-resolved.service
und das DNS einzustellen bis 8.8.8.8 in /etc/resolv.confDas DNS-Verhalten während der OpenVPN-Verbindung wurde sofort verbessert, als ich einem Vorschlag auf Ubuntuforums folgte:
/etc/NetworkManager/NetworkManager.conf
in einem Editor mit Root-Rechten.#
Zeile (oder kommentieren Sie sie mit einem Hash aus )dns=dnsmasq
sudo service NetworkManager restart
quelle
Bin auf dasselbe Problem gestoßen. Irgendwie muss ich DNSmasq mit einer Anwendung installiert haben. Das Entfernen von dnsmasq löste das Problem für mich.
Seitdem gibt es keine Verbindungsabbrüche mehr oder einige Websites können nicht mehr geladen werden (ich hatte ein Problem beim Laden von Google Mail, dh plötzlich konnte keine Verbindung zu Google Mail hergestellt werden, obwohl andere Websites funktionierten).
quelle
apt remove dnsmasq-base
...The following packages will be REMOVED: account-plugin-ubuntuone checkbox-converged checkbox-gui dnsmasq-base indicator-network network-manager network-manager-gnome network-manager-openconnect network-manager-openconnect-gnome network-manager-openvpn network-manager-openvpn-gnome network-manager-pptp network-manager-pptp-gnome network-manager-vpnc pay-service plainbox-provider-checkbox plainbox-provider-resource-generic ubuntu-desktop ubuntu-fan ubuntu-push-client ....
Bearbeiten
/etc/nsswitch.conf
und ändernzu
Bearbeiten:
Ich habe seit einiger Zeit die gleichen Probleme. Ich konnte Domänennamen über VPN auflösen, aber ich konnte diese nicht pingen oder locken oder sie in anderen Anwendungen verwenden. Die oben beschriebene Änderung hat es für mich gelöst.
quelle