Das Thema
Im internen Netzwerk meiner Firma gibt es einen Entwicklungsserver namensdevserver.mycompany.com
Normalerweise kann ich problemlos eine Verbindung zu diesem Server herstellen, aber manchmal (kommt mir zufällig vor) kann Ubuntu die Adresse nicht auflösen.
Weitere Informationen und Beobachtungen
Wenn ich es nmcli dev list iface eth0
in einem Terminal ausführe, sehe ich, dass zwei DNS-Server konfiguriert sind:
IP4.DNS[1]: 192.168.50.103
IP4.DNS[2]: 128.255.1.3
Der zweite DNS-Server ist der Server meines ISP.
Auf meiner Windows-Partition, die für die Verwendung derselben beiden DNS-Server konfiguriert ist, tritt dieses Problem nie auf.
Wenn das Problem bei mir auftritt:
nslookup devserver.mycompany.com
schlägt fehlnslookup devserver.mycompany.com 128.255.1.3
schlägt fehldie ganze Zeit (keine Überraschung, Devserver ist kein öffentlicher Server)nslookup devserver.mycompany.com 192.168.50.103
Werke
Hier ist die tatsächliche Ausgabe von nslookup
:
Ubuntu-14:~$ nslookup devserver.mycompany.com
Server: 127.0.1.1
Address: 127.0.1.1#53
** server can't find devserver.mycompany.com: NXDOMAIN
Fragen
- Aus der obigen Ausgabe geht hervor, dass Ubuntu versucht, einen lokalen DNS-Server zu verwenden. Stimmt das? Wird eine fehlgeschlagene Suche auf meinem lokalen Computer zwischengespeichert?
- Wenn es sich um einen Cache handelt, wie kann ich den Cache leeren?
- Benutzt Ubuntu manchmal diesen zweiten DNS-Server? Warum? Ist das ein Lastenausgleich? Ist der lokale Server langsamer?
- Wie kann ich das beheben? Ich möchte den zweiten DNS-Server nicht entfernen, falls der primäre ausfällt.
- Und schließlich: Warum tritt dieses Problem unter Windows nicht auf?
Ubuntu-Versionsinformationen
Ubuntu 14.04 LTS ohne ausstehende Updates.
Die gesamte Netzwerkeinrichtung erfolgte mehr oder weniger automatisch. Mit DHCP
Antwort1
Aus der obigen Ausgabe geht hervor, dass Ubuntu versucht, einen lokalen DNS-Server zu verwenden. Stimmt das? Wird eine fehlgeschlagene Suche auf meinem lokalen Computer zwischengespeichert?
Ja, Ubuntu verwendet alles, was mit dem DHCP-Lease bereitgestellt wurde, genauer gesagt dnsmasq
ein Plug-In, das sich darum kümmert network-manager
.
Benutzt Ubuntu manchmal diesen zweiten DNS-Server? Warum? Ist das ein Lastenausgleich? Ist der lokale Server langsamer?
Wenn die Auflösung des ersten DNS fehlschlägt, dnsmasq
sollte die Abfrage an den sekundären DNS umgeleitet werden. Zumindest ist das die Idee.
Falls Sie Ihren eigenen DNS-Server verwenden möchten
Persönlich verwende ich supersede domain-name-server xxx.xx.xxx.xxx
in immer /etc/dhcp/dhclient.conf
, um meinem Ubuntu-System mitzuteilen, dass es alle DNS, die es per DHCP-Lease erhält, durch meinen eigenen Server ersetzen soll. Hier ist der Auszug aus dieser Datei:
30)serg@ubuntu[/home/xieerqi]
>_ 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;
Nach der Einrichtung und erneuten Verbindung bzw. dem Neustart network-manager
sehe ich Folgendes:
31)serg@ubuntu[/home/xieerqi]
>_ nmcli dev list | grep -i dns
IP4.DNS[1]: 208.67.220.220
Nslookup meldet dies Server: 127.0.1.1
und Address: 127.0.1.1#53
da es der Netzwerk-Manager ist, dsnmasq
der auf dieser Adresse lauscht, verwendet er das, was von DHCP bereitgestellt wurde (in diesem Fall den ersetzten DNS).