Ich brauche Hilfe, um herauszufinden, warum sich mein resolv.conf
Netzwerk ständig ändert, sodass ich nicht mehr auf das externe Internet und nur noch auf das lokale Netzwerk zugreifen kann:
$ cat /etc/resolv.conf
nameserver 192.168.16.1
domain localdomain
search localdomain
Ich dachte, ich habe das Problem behoben, indem ich die Loopback-Schnittstelle entfernt und die eth0-Schnittstelle /etc/network/interfaces
mit den Anweisungen in Jontsais Poster-Blog hinzugefügt habe .
Ich habe Dinge ausprobiert wie:
$ sudo ifconfig eth0 down
$ sudo ifconfig eth0 up
$ sudo /etc/init.d/networking restart
$ sudo dhclient
Und dann würden die Dinge vorübergehend funktionieren und schließlich würde der Nameserver in der resolv.conf wieder zurückgesetzt.
PS Ich habe dies auch auf Ubuntuforums gepostet .
Bearbeiten: Neben NetworkManager gibt es mindestens ein anderes Programm, in das geschrieben wird resolv.conf
, und das weiß ich, da die resolv.conf
generierte Datei beim Aktualisieren von NetworkManager einen Kommentar enthält, der besagt # Generated by NetworkManager
, dass die Version, in die sie ständig geändert wird, dies nicht tut.
Also versuche ich Folgendes:
while true; do echo listening; lsof | grep /etc/resolv.conf; echo sleeping; sleep 1; done
Bearbeiten 2:
Ausgabe von Dateien hinzufügen:
$ cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
Keine solche Datei wie /etc/NetworkManager/NetworkManager.conf
$ sudo cat /etc/NetworkManager/system-connections/Auto\ Ethernet
[connection]
id=Auto Ethernet
uuid=#######omitted#######
type=802-3-ethernet
autoconnect=true
timestamp=1314377063
[ipv4]
method=auto
ignore-auto-routes=false
ignore-auto-dns=false
dhcp-send-hostname=false
never-default=false
[802-3-ethernet]
speed=0
duplex=full
auto-negotiate=true
mtu=0
[ipv6]
method=ignore
ignore-auto-routes=false
ignore-auto-dns=false
never-default=false
quelle
resolvconf
Paket installiert? Stellen Sie den Inhalt/etc/network/interfaces
,/etc/NetworkManager/NetworkManager.conf
und/etc/NetworkManager/system-connections/*
.resolvconf
Paket. Irgendwann ging mein DSL-Modem kaputt (hinter dem Router), während mein lokales Netzwerk in Ordnung war. Vielleicht habe ich versucht, es zu installierennscd
oderdnsmasq
--sie werden jetzt deinstalliert, aber es sind möglicherweise einige störende Artefakte zurückgeblieben?vmnet1
odervmnet8
(NAT und Host-Only)Antworten:
Sie können statische Ergänzungen vornehmen
/etc/resolv.conf
. Diese Zusätze können die Dinge überschreiben, die automatisch hinzugefügt werden.Installieren Sie zuerst das
resolvconf
Paket.Drücken Sie dann Alt + F2 und führen Sie aus
gksudo nautilus
. Öffnen/etc/resolvconf/resolv.conf.d/head
Sie, wenn Sie den Anfang der Datei hinzufügen möchten. Öffnen/etc/resolvconf/resolv.conf.d/tail
Sie, wenn Sie am Ende hinzufügen möchten. Nehmen Sie Ihre Änderungen vor, speichern / schließen Sie die Dateien und führen Sie sie aussudo resolvconf -u
, um die Änderungen zu übernehmen.(Entschuldigung, dass ich mich nicht erinnere, ob die Einstellungen am Anfang oder Ende der Datei die höchste Priorität haben.)
quelle
Ich hatte genau das gleiche Problem - resolv.conf wurde jedes Mal neu geschrieben, wenn der Server neu gestartet wurde.
Es wurde von DHCP verursacht. Um die resolv.conf auf das zu setzen, was ich möchte, habe ich
/etc/dhcp/dhclient.conf
Folgendes bearbeitet und hinzugefügt:Sie können tatsächlich einiges über Ihre resolv.conf-Datei steuern, indem Sie Änderungen daran vornehmen.
Ich hoffe es hilft.
quelle
(Diese Antwort enthält Möglichkeiten, um zu untersuchen, was vor sich geht. Ich kann möglicherweise eine tatsächliche Lösung angeben, wenn Sie diese Methoden verwenden, um weitere Informationen zu sammeln und bereitzustellen.)
Ein möglicher Auslöser für die scheinbar spontanen Updates
/etc/resolv.conf
ist die Erneuerung Ihrer DHCP-Lease. Überprüfen Sie, wie lange Sie DHCP-Leases für erhalten (dies sollte in den Systemprotokollen angezeigt werden, denke ich in/var/log/syslog
).Mit auditd können Sie herausfinden, welche Änderungen an der Datei vorgenommen wurden. Starten Sie den Daemon (
sudo service auditd start
) und weisen Sie ihn an, auf Änderungen an dieser Datei zu achten:Überwachungsprotokolle sind in
/var/log/audit/audit.log
. Sie sehen die Zeit, zu der die Datei geändert wurde, und den Namen des Programms, das sie geändert hat.Wenn Sie das
resolvconf
Paket installiert haben, tritt Network Manager möglicherweise auf die Zehenspitzen. Versuchen Sie, alle Netzwerkschnittstellen herunterzufahren, stoppen Sie den Network Manager (sudo service network-manager stop
) und starten Sie ihn neu.quelle
nm-connection-editor
in Ihrem Terminal. Wählen Sie Ihre Benutzeroberfläche und klicken Sie auf Bearbeiten. Unter IPv4-Einstellungen sollte es eine Methode geben, die nur DHCP-Adressen (oder ähnliches) heißt. Wenn ich mich nicht irre, können Sie IP-Adressen über DHCP erhalten, jedoch keine Nameserver (Sie können sie in den Feldern unten angeben).auditctl
Leitung funktioniert bei mir nicht, und ich glaube, der Dienstname für Network Manager lautetnetwork-manager
(einschließlich Bindestrich). Ich hatte keinresolvconf
Paket installiert, aber ich hatte Sachen in dem/etc/resolvconf/
Ordner, und als ich es mit einem anderen Ubuntu-Rechner verglich, hatte er es nicht, also habe ich das Paket installiert und deinstalliert und diesen Ordner manuell entfernt./etc/resolv.conf
wurde gerade neu geschrieben, daher finde ichauditctl
es sehr hilfreich , an die Arbeit zu gehen./etc/resolvconf
ist normal, auch wenn Sie nicht über dasresolvconf
Paket verfügen . Einige Pakete lassen dort Hooks fallen, und diese Hooks werden nur verwendet, wenn sieresolvconf
installiert sind. Ich habe dieauditctl
Leitung repariert, falls das Problem erneut auftritt.Öffne ein Terminal und tippe
Das + i sorgt dafür, dass die Datei auch von root beim Booten nicht zurückgesetzt wird.
Das oben genannte rückgängig machen
Für mehr
quelle
Eine andere Option, mit der ich etwas Glück hatte, ist die Verwendung von
resolvconf
.Fügen Sie Einträge zu dieser Datei hinzu:
Und sie werden dem hinzugefügt
/etc/resolv.conf
.Dank dieser Ask Ubuntu-Veröffentlichung: Wie binde ich Zeilen in die resolv.conf ein, die beim Neustart nicht verloren gehen?
quelle
Deaktiviere ich die Aktualisierung
resolv.conf
durch Erstellen einer Datei namensdisable_make_resolv_conf
in/etc/dhcp3/dhclient-enter-hooks.d
Es ersetzt die Standardfunktion durch den gleichen Namen, der für die
resolv.conf
Aktualisierung verantwortlich ist.quelle
Spät zu diesem Zeitpunkt werde ich jedoch meinen Fall veröffentlichen, da er sich von allen oben genannten unterscheidet.
In meinem Fall
/etc/resolv.conf
ist ein Symlink zu/var/run/NetworkManager/resolv.conf
, und aus irgendeinem Grundcat /etc/resolv.conf
gibt mir Fehler keine solche Datei oder Verzeichnis (vielleicht weil es leer ist?)Wenn ich es mit vi öffne und hinzufüge
nameserver x.x.x.x
, funktioniert es, wird aber beim Neustart gelöscht.Ich habe versucht zu bearbeiten
/etc/network/interfaces
und hinzuzufügendns-nameservers x.x.x.x
, zu ändern/etc/dhcp/dhclient.conf
und zu entfernenrequest
domain-name-servers
, auch bearbeitetprepend domain-name-servers x.x.x.x
.Resolvconf Binary ist nicht installiert,
NetworkManager.conf
hatte nichts Relevantes. Bei jedem Neustart des Computers war jedoch kein Domänenserver vorhanden.Ich bin mir nicht sicher, was der Grund ist, aber es scheint damit zu tun zu haben, dass es sich um eine VBox-Maschine handelt, die von GNS3 gestartet wurde. Aus diesem Grund muss ich in der VBox-Einstellung keine Schnittstelle erstellen. Anscheinend erstellt GNS3 eine "UDP-Schnittstelle" im laufenden Betrieb, wenn ich die Maschine starte, vorausgesetzt, ich starte sie von GNS3 aus.
Also, um mich zu retten von endlos suchen, ich habe gerade hinzugefügt
echo nameserver x.x.x.x> /etc/resolv.conf
zu/etc/profile
, Problem gelöst (nicht gelöst, sondern arbeitete um hehe). Aber es könnte interessant sein zu wissen, was mit diesem Szenario passiert, wenn jemand darauf stößt.quelle
Wenn Sie die Datei haben
/etc/NetworkManager/NetworkManager.conf
Sie können NetworkManager so konfigurieren, dass das Zurücksetzen von resolv.conf mit beendet wird
Ändern Sie nun manuell Ihre
/etc/resolv.conf
und testen Sie ihre Beständigkeit mitQuelle: https://askubuntu.com/a/623956/452398
quelle
Machen Sie einfach Einträge in Ihren ifcfg-ethX-Dateien wie folgt
DNS1 = 192.168.XX
DNS2 = 192.168.XX
DOMAIN = yourdomain.com
Anschließend sendet der Netzwerkmanager diese Einträge an die Datei resolv.conf, nachdem Sie die Dienste neu gestartet oder die Box neu gestartet haben.
quelle
Nur für den Fall, dass jemand in den gleichen Fall fällt:
Ich habe vergessen, dass ich DHCP für eine Schnittstelle in der Datei festgelegt habe
/etc/network/interfaces
Der Netzwerkmanager ändert
/etc/resolv.conf
die DHCP-Antwort, die er erhält.hth
quelle
Wenn es
# Generated by NetworkManager
in/etc/resolv.conf
Bearbeiten der Network Manager-Konfiguration:
In
[main]
Abschnitt hinzufügenrc-manager=unmanaged
:Warum?
Konfigurationsreferenz für weitere Informationen: https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html
Bearbeiten Sie dann Ihren
/etc/resolv.conf
und starten Sie den Network Manager neu, um festzustellen, ob er nicht verändert wurde/etc/resolv.conf
:oder
als:
Wenn die Prozedur fehlgeschlagen ist und
/etc/resolv.conf
während des Neustarts von Network Manager überschrieben wurde, fügen Siedns=none
den[main]
Abschnitt in der Konfiguration wie folgt hinzu : https://askubuntu.com/a/1150326/364772 saidquelle