Wenn ich mir die Datei unter Linux Mint ansehe /etc/resolv.conf
, heißt es im ersten Kommentar, dass die /etc/resolv.conf
Datei von generiert wurde resolvconf(8)
.
~ $ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
Um die resolvconf(8)
Manpage zu paraphrasieren:
Das Programm resolvconf wird von DHCP-Clients wie dhclient ausgeführt.
Ich renne dhclient wlan0
.
~ $ dhclient wlan0
Dhclient sollte das resolvconf
Programm aktualisieren /etc/resolv.conf
. Die /var/lib/dhcp/dhclient.leases
Datei bestätigt, dass ich die IP-Adresse des Nameservers (192.168.0.6) leasen kann.
~ $ cat /var/lib/dhcp/dhclient.leases
lease {
interface "wlan0";
. . .
option domain-name-servers 192.168.0.6;
. . .
}
Die Datei wird jedoch /etc/resolv.conf
nicht aktualisiert. Die /etc/resolv.conf
Datei hat den Nameserver 127.0.1.1.
~ $ cat /etc/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
nameserver 127.0.1.1
search software.eng.apl
In sind keine Nameserver aufgeführt /etc/network/interfaces
.
~ $ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
Ich bin nicht sicher, was mir hier fehlt, damit die /etc/resolv.conf
Datei mit dem vom DHCP-Server geleasten Nameserver aktualisiert wird. Der DHCP-Server ist eine Linux-CentOS-Maschine, die DHCPD verwendet.
Antwort1
Mint und andere moderne Distributionen werden mdns
standardmäßig mit ausgeliefert, das den regulären öffentlichen DNS mit einem lokalen „dezentralen“ Wrapper umschließt, der Zeroconf-Unterstützung für Ihr lokales Netzwerk ermöglicht. Grundsätzlich löst ein lokaler DNS-Server Namen im lokalen Netzwerk auf, das er erkannt hat, und greift dann für die Auflösung im öffentlichen Internet, also für Namen außerhalb Ihres lokalen Netzwerks, auf den (jetzt geproxied) öffentlichen DNS zurück.
Mit anderen Worten, Ihr resolv.conf
ist korrekt und angemessen für dieses Szenario, und wenn mdns
Sie Probleme beim Zugriff auf den Nameserver Ihres ISPs haben, sollten Sie sich Folgendes ansehen:es istKonfiguration - wenn Ihnen die Zeroconf-Unterstützung egal ist, können Sie sie natürlich auf herkömmliche Weise mdns
verwalten, indem Sie sie deaktivieren (und dann wahrscheinlich auch Avahi) .resolv.conf
Siehe auch zBhttps://help.ubuntu.com/community/HowToZeroconf
Antwort2
Sie können /etc/dhcp/dhclient.conf
die Zeile bearbeiten, indem Sie die Kommentierung aufheben#prepend domain-name-server
Antwort3
Ich hatte das gleiche Problem wie im OP beschrieben, aber keine der vorherigen Antworten hat bei mir funktioniert. Ich verwende Linux Mint 18 und habe dieses Problem entdeckt, als ich versucht habe, Netzwerkfunktionen in einem Docker-Container zu verwenden. Docker erwartete, DNS-Werte von aufzulösen /etc/resolv.conf
. Da jedoch nur der Nameserver 127.0.1.1 aufgeführt war, war die Docker-Netzwerkverbindung nicht erfolgreich.
ich fandeine andere Lösungbei Askubuntu hat es bei mir funktioniert. Ich poste es hier als Querverweis, falls es jemandem hilft.
NetworkManager ist das Programm, das (über das Dienstprogramm resolvconf) die Adresse 127.0.1.1 in resolv.conf einfügt. NetworkManager fügt diese Adresse genau dann ein, wenn es so konfiguriert ist, dass es eine Instanz des Programms dnsmasq startet, die als lokaler Weiterleitungs-Nameserver dient. Diese Instanz von dnsmasq wartet auf Abfragen an der Adresse 127.0.1.1.
Wenn Sie keinen lokalen Weiterleitungs-Nameserver verwenden möchten, konfigurieren Sie NetworkManager so, dass keine dnsmasq-Instanz gestartet wird und diese Adresse nicht eingefügt wird. Kommentieren Sie /etc/NetworkManager/NetworkManager.conf
die Zeile ausdns=dnsmasq
sudo vim /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq
und starten Sie den NetworkManager-Dienst neu.
sudo service network-manager restart
In diesem Modus aktualisiert NetworkManager /etc/resolv.conf (immer noch über resolvconf), um die Nameserver-Adressen einzuschließen, die NetworkManager für aktive Verbindungen hat.
Wenn Sie den Resolvconf-Mechanismus zum Aktualisieren von resolv.conf deaktivieren und nur eine statische Resolv.conf-Datei verwenden möchten, gehen Sie wie folgt vor.
sudo rm -f /etc/resolv.conf # Delete the symbolic link
sudo vim /etc/resolv.conf # Create static file