Dhclient aktualisiert /etc/resolv.conf nicht

Dhclient aktualisiert /etc/resolv.conf nicht

Wenn ich mir die Datei unter Linux Mint ansehe /etc/resolv.conf, heißt es im ersten Kommentar, dass die /etc/resolv.confDatei 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 resolvconfProgramm aktualisieren /etc/resolv.conf. Die /var/lib/dhcp/dhclient.leasesDatei 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.confnicht aktualisiert. Die /etc/resolv.confDatei 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.confDatei 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 mdnsstandardmäß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.confist korrekt und angemessen für dieses Szenario, und wenn mdnsSie 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 mdnsverwalten, 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.confdie 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

verwandte Informationen