1: Resolvconf schreibt seine dynamische Datei resolv.conf unter /run/resolvconf/resolv.conf
. /etc/resolv.conf
ist eine symbolische Verbindung zum letzteren Ort. Wenn Sie eine statische resolv.conf-Datei verwenden möchten, ersetzen Sie einfach den symbolischen Link /etc/resolv.conf durch eine Datei. Dies wird derzeit unterstützt, aber nicht empfohlen.
2: Soweit ich weiß, wird auf dem betroffenen Computer die Ubuntu Server Edition ausgeführt. In diesem Fall werden Schnittstellen mit dem ifup
Programm konfiguriert, dessen Konfigurationsdatei sich befindet /etc/network/interfaces
. Für Schnittstellen, die über die dhcp
Methode konfiguriert wurden , wird ifup
(normalerweise) dhclient
aus dem isc-dhcp-client
Paket verwendet. Dhclient empfängt Nameserver-Informationen vom DHCP-Server und sein Hook-Skript /etc/dhcp/dhclient-enter-hooks.d/resolvconf
sendet diese Informationen, an resolvconf
die sie gesendet werden resolv.conf
.
Eine Sache, die Sie tun können, ist, /etc/resolvconf/interface-order
so zu bearbeiten , dass eth0.dhcp
vorher kommt eth0.dhclient
. (Ich gehe davon aus, dass die relevante Schnittstelle ist eth0
.) Wenn Sie die Standardeinstellung haben interface-order
, können Sie beispielsweise einfach eine Zeile eth0.dhcp
vor der Zeile hinzufügen eth*
.
--- interface-order_ORIG 2012-11-06 10:12:47.630529145 +0100
+++ interface-order 2012-11-06 10:13:16.410529800 +0100
@@ -9,6 +9,7 @@
hso*
em+([0-9])?(_+([0-9]))*
p+([0-9])p+([0-9])?(_+([0-9]))*
+eth0.dhcp
eth*
ath*
wlan*
Dann fügen Sie eine dns-nameservers
Zeile der iface eth0
Strophe in /etc/network/interfaces
mit dem richtigen Name - Server - Adresse.
iface eth0 inet dhcp
dns-nameservers 1.2.3.4
Da eth0.dhcp
vorher kommt eth0.dhclient
, wird die richtige Nameserver-Adresse resolv.conf
vor der falschen eingefügt.
Eine andere Möglichkeit, das unerwünschte Verhalten beim Einfügen der vom DHCP-Server bereitgestellten Nameserver-Adresse zu überschreiben, besteht darin, das dhclient-Hook-Skript zu bearbeiten. Sie können beispielsweise eine Zeile wie die folgende hinzufügen (wobei 1.2.3.4 eine Nameserver-Adresse ist, die Sie verwerfen möchten).
--- resolvconf_ORIG 2012-03-29 22:37:14.000000000 +0200
+++ resolvconf 2012-11-05 20:53:33.312681077 +0100
@@ -54,6 +54,7 @@
fi
shopt -s nocasematch
for nameserver in $new_dhcp6_name_servers ; do
+ [ "$nameserver" = "1.2.3.4" ] && continue
Eine weitere Möglichkeit (eine etwas grobe, da sie vollständig statisch ist) besteht darin, eine Nameserver-Option hinzuzufügen /etc/resolvconf/resolv.conf.d/head
.
3: Das Festlegen von DNS-Nameserver-Adressen ist komplizierter geworden, da Computer mobil werden, immer mehr Schnittstellen erhalten und die statische Konfiguration schrittweise durch die automatische Konfiguration ersetzt wird.
/etc/resolv.conf
Link möchten und den Symlink dort löschen, sollten Sie resolvconf dennoch nicht deinstallieren, da andere Programme/etc/resolv.conf
aufgrund seiner bloßen Anwesenheit nicht überschreiben .Nutzen Sie einfach dhclient (dies verwendet beispielsweise Google DNS). Das ist viel sauberer als die anderen Antworten IMO:
Sichern Sie /etc/resolv.conf:
sudo cp /etc/resolv.conf /etc/resolv.conf.auto
Bearbeiten Sie /etc/dhcp[3‹/dhclient.conf (Ubuntu 14.04 lässt die 3 weg):
sudo vi /etc/dhcp/dhclient.conf
prepend domain-name-servers 8.8.8.8, 8.8.4.4;
Für IPv6:prepend domain-name-servers 2001:4860:4860::8888, 2001:4860:4860::8844;
ifdown eth0 && ifup eth0
Starten Sie nun alle von Ihnen verwendeten Netzwerkclients neu (z. B. Chrome oder so weiter).
quelle
IMO: Dies ist ein Fehler im grafischen Konfigurationstool.
Meine einfachste Lösung besteht darin, die Zeile, die mit "request ..." beginnt, in der Datei /etc/dhcp/dhclient.conf zu kommentieren (oder zu entfernen)
quelle