Die Art , wie ich dies tun ist , um Satz supersede domain-name-servers
in /etc/dhcp/dhclient.conf
. Ich habe verschiedene Optionen, einschließlich head
oder tail
Dateien, unter /etc/resolvconf/resolv.conf.d/
Ordner ausprobiert , aber nur dhclient.conf
den Trick für mich. Ich habe es in den Versionen 13.04, 14.04 und 15.04 von Ubuntu gemacht - funktioniert immer.
Die Grundidee ist, dass Sie beim Herstellen einer Verbindung zu einem WLAN-Zugangspunkt bestimmte Informationen vom dhcp
Server erhalten. Die supersede
Option weist Ubuntu an, den von dhcp
Ihnen gesendeten Server durch Ihren eigenen zu ersetzen . In diesem Fall ersetzen wir den DNS-Server. Egal mit welchem WLAN Sie eine Verbindung herstellen, Ihr Ubuntu ersetzt WLAN-DNS durch ein eigenes.
Unten ist das Beispiel meiner eigenen dhclient.conf
Datei. Beachten Sie die Zeile supersede domain-name-servers 208.67.220.220;
:
$ cat /etc/dhcp/dhclient.conf
# Configuration file for /sbin/dhclient, which is included in Debian's
# dhcp3-client package.
#
# This is a sample configuration file for dhclient. See dhclient.conf's
# man page for more information about the syntax of this file
# and a more comprehensive list of the parameters understood by
# dhclient.
#
# Normally, if the DHCP server provides reasonable information and does
# not leave anything out (like the domain name, for example), then
# few changes must be made to this file, if any.
#
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
#send host-name "andare.fugue.com";
send host-name = gethostname();
#send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
#send dhcp-lease-time 3600;
#supersede domain-name "fugue.com home.vix.com";
supersede domain-name-servers 208.67.220.220;
#prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
dhcp6.name-servers, dhcp6.domain-search,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers,
dhcp6.fqdn, dhcp6.sntp-servers;
Wenn Sie möchten, können Sie jetzt die prepend
Option verwenden, sowohl WLAN als auch Ihren eigenen Server zu verwenden. Falls ein WLAN-Server ausfällt, wird Ihre Anfrage an die vorangestellten DNS weitergeleitet.
/etc/NetworkManager/system-connections
kann. Es scheint jedoch, dass es in 15.04 nicht funktioniert. Lassen Sie mich wissen, wenn Sie es wollen, und ich werde die Antwort mit einer anderen, ähnlichen Frage verknüpfen, wo ich sie hier gepostet habe/etc/dhcp/dhclient.conf
, um sowohl IPv4- als auch IPv6-DNS-Server festzulegen:supersede domain-name-servers 84.200.69.80, 84.200.70.40;
supersede dhcp6.name-servers 2001:1608:10:25::1c04:b12f, 2001:1608:10:25::9249:d69b;
Wenn ich anschließend die Verwendung von DNS-Servern abfrage (nmcli dev show | grep DNS
), sind nur die IPv4-DNS-Server betroffen. Das System scheint immer noch einen Vorschlag von Upstream für IPv6 zu übernehmen. Irgendeine Idee, wie man das behebt?/ etc / resolvconf ist das Paket, das dies behandelt. Es erstellt dynamisch Ihre /etc/resolv.conf-Datei basierend auf allen möglichen Regeln.
Sie können Ihren bevorzugten DNS-Server in /etc/resolvconf/resolv.conf.d/head festlegen
Alle anderen DNS-Server würden danach für alle Schnittstellen kommen.
Es gibt viele fortgeschrittenere Möglichkeiten, um resolvconf an Ihre speziellen Anforderungen anzupassen, die Dokumente oder Anleitungen zu lesen.
quelle
Öffnen Sie das Netzwerksteuerungsfeld für jedes von Ihnen verwendete Netzwerkgerät. Wireless / Wired / VPN ... auf den IPv4-Registerkarten legen Sie nur DHCP-Adressen fest und geben Sie Ihre DNS von dort aus manuell an. Machen Sie dasselbe für IPv6 nur, wenn Sie es verwenden.
quelle