Lassen Sie mich Ihnen meine kleine Geschichte erzählen:
Im Moment verwende ich in meinem Labor eine Ubuntu 16.04 LTS-Distribution. Nach der Installation von Ubuntu habe ich versucht, meinen Internetzugang einfach durch Google zu überprüfen. Das war jedoch unmöglich. Also habe ich zunächst versucht, den Server von Google anzupingen:
ping 8.8.8.8
Dieser erste Ping war erfolgreich. Also versuche ich als nächstes, die Yahoo-Site anzupingen:
ping yahoo.com
Die Antwort war, dass der Name unbekannt war, also beschloss ich, die Datei resolv.conf in /etc zu überprüfen:
# 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.0.1
search <www.some-sites>
Das Problem ist der Nameserver. Meine Mitarbeiter sagten mir, dass sie einige Zeilen in /etc/resolvconf/resolv.config.d/base kopiert haben:
domain bla.bla
search <www.some-sites>
nameserver 111.222.3333.4444
nameserver 555.666.7777.8888
Sie schlugen mir vor, neu zu starten oder einfach die folgenden Befehle auszuführen
resolvconf --enable-updates
resolvconf -u
Als ich /etc/resolv.conf überprüfte, war es wieder dasselbe wie am Anfang
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 <www.some-sites>
Wie kann ich also die Domäne und meine beiden neuen spezifischen Nameserver eingeben??? Ich weiß nicht wirklich, wie ich Schnittstellen konfiguriere und ob das möglich ist. Ich kann auch nicht verstehen, warum das passiert ist, da base eine Datei ist, die in die Datei resolv.conf kopiert werden sollte. Können Sie mir erklären, warum dieser Fehler aufgetreten ist?
Danke
Antwort1
NetworkManager ist das Programm, das (über das Dienstprogramm resolvconf) die Adresse einfügt . NM fügt diese Adresse nur dann 127.0.1.1
ein resolv.conf
, 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 sehen möchten, welche DNS
Sie derzeit verwenden, geben Sie den Befehl ein
nmcli device show <interfacename> | grep IP4.DNS
Sie können DNS
für jede Verbindung unterschiedliche Parameter festlegen
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.conf
die Zeile ausdns=dnsmasq
sudo nano /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq
und starten Sie den NetworkManager-Dienst neu.
sudo systemctl restart network-manager
In diesem Modus wird NetworkManager aktualisiert /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 nano /etc/resolv.conf # Create static file
# Content of static resolv.conf
nameserver 8.8.4.4
nameserver 8.8.8.8