Ich bin endlich von 7.10 auf 12.04 umgestiegen. Ich habe noch einen letzten Teil zu erledigen, aber ich bin ratlos. Ich verwende Puppet auf jedem Server und habe in der Vergangenheit eine Nameserver-Adresse und einen Such-Domain-Namen für den Puppetmaster in die resolv.conf aufgenommen.
search puppetmaster.com
nameserver 192.168.1.XXX
In 12.04 wird die resolv.conf beim Neustart überschrieben. Ich kann für diese keine statische IP-Adresse verwenden. Die Verwendung der Datei / etc / network / interfaces als Hilfe ist daher nicht sinnvoll.
# 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
Gibt es eine Möglichkeit, resolvconf dazu zu bringen, dies entweder im Kopf, im Schwanz oder in der Basis zu handhaben? Wenn ja, gibt es Beispiele, anhand derer ich meinen Server optimieren kann.
Jede Hilfe wird sehr geschätzt.
resolv.conf
Sam
quelle
quelle
Antworten:
Es ist wahrscheinlich besser, wenn Ihr DNS-Server in der Lage ist, "Marionette" in die richtige Adresse aufzulösen, und wenn Ihr DHCP-Server die DNS-Nameserver-Adresse und die Suchliste ausgibt oder (wenn Sie statische IP-Adressen haben) so etwas wie die folgenden in / etc / network / interfaces.
Wenn Sie dies jedoch über die resolvconf-Konfigurationsdateien tun möchten, müssen Sie sie bearbeiten
/etc/resolvconf/resolv.conf.d/base
. Tragen Sie in diese Datei Ihre Daten so ein, wie Sie es tun würdenresolv.conf
.Dann weisen Sie resolvconf an, neu zu generieren
resolv.conf
.quelle
Ich denke, die Antwort ist, überprüfen Sie Ihre
/etc/dhcp/dhclient.conf
, dh forderndns-nameservers
Sie nicht von Ihrem DHCP- Klienten an.Dann aktualisieren Sie Ihre
/etc/network/interfaces
Dann
resolv.conf
werden Sie automatisch so konfiguriert, wie Sie es möchten.Fügen Sie ein hinzu
dns-search
und führen Sie dann ein aus/etc/init.d/networking restart
(auch wenn dieses Skript veraltet ist, funktioniert es immer noch).quelle
/etc/init.d/networking restart
funktionierte nicht auf meiner Maschine, abersudo ifdown -a
und dannsudo ifup -a
tat. (Außerdem brauchte ich ein bisschen, um zu realisieren, dass ichdnsserverip
etwas ersetzen musste8.8.8.8
; ich fühle mich ein bisschen albern.)systemctl restart networking.service
Dies wird wahrscheinlich durch die DHCP-Konfiguration verursacht, als Sie Ubuntu zum ersten Mal installiert haben. Probieren Sie diesen dreistufigen Prozess aus, um dieses Problem der automatischen Konfiguration zu lösen.
Zuerst
Bearbeiten Sie Ihre Schnittstellenkonfiguration in:
/etc/network/interfaces
Fügen Sie diese Zeile unten hinzu
iface lo inet loopback
:Als Beispiel für Google DNS möchten Sie möglicherweise Folgendes verwenden:
Zweite
Bearbeiten Sie Ihre DHCP-Konfigurationsdatei unter:
Markieren Sie die Syntax als Kommentar
#
in jeder Zeile oder entfernen Sie einfach jeden Anforderungsnamenserver. In 16.04 müssen Sie hier möglicherweise keine Änderungen vornehmen.Dritte
Starten Sie Ihr Netzwerk mit dem folgenden Befehl neu:
Im 16.04 .:
quelle
/etc/init.d/networking restart
funktionierte nicht auf meiner Maschine, abersudo ifdown -a
und dannsudo ifup -a
tat.Bitte schauen Sie auf
resolvconf
die Manpage von. Sie können die Aufnahme bestimmter DNS-Einstellungen erzwingen, indem Sie beispielsweise Folgendes erstellen/etc/resolvconf/resolv.conf.d/base
:Es gibt andere spezielle Dateien (Kopf und Schwanz), die Ihnen helfen können, das zu erreichen, was Sie wollen.
quelle
Wie viele andere Antworten geben Sie dies mit dem zu tun hat
resolvconf
in dem System installiert ist.Der beste Weg, etwas zu behalten
resolv.conf
, das beim Neustart nicht verloren geht, besteht darin, es in die Konfigurationsdateien von resolvconf aufzunehmen, die sich in folgenden Verzeichnissen befinden:Gehen Sie dort für die
head
Datei. Was immer du dort hinlegst, wird oben auf geschrieben/etc/resolv.conf
Also wird alles so aussehen:
quelle
Für mich waren die obigen Antworten aus folgenden Gründen unzureichend:
resolvconf
, nur einfach/etc/resolv.conf
.chattr +i
zu sperrenresolv.conf
scheint zu hacky. Ich brauche Puppet, um bei Bedarf Änderungen vornehmen zu können./etc/network/interfaces
verhindert nicht, dassresolv.conf
sie überschrieben wird. Es gibt einfach die Nameserver an, die geschrieben werden sollen. Für mich ging es nicht darum, die Nameserver anzugeben. Ich versuche zu setzenoptions timeout:1
undoptions attempts:1
in meinerresolv.conf
Datei.Die beste Lösung, die ich gefunden habe, setzt das Standardverhalten der
dhclient
Verwendung der dokumentierten Hooks außer Kraft .Erstellen Sie eine neue Datei
/etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
mit folgendem Inhalt:Dann machen Sie die Datei ausführbar:
Wenn dhclient jetzt ausgeführt wird - entweder beim Neustart oder wenn Sie es manuell ausführen
sudo ifdown -a ; sudo ifup -a
- wird dieses Skript geladennodnsupdate
. Dieses Skript überschreibt eine interne Funktionmake_resolv_conf()
, die normalerweise überschrieben wird,resolv.conf
und führt stattdessen nichts aus.Das hat bei mir unter Ubuntu 12.04 geklappt.
quelle
Das ist vielleicht nur eine seltsame Eigenheit in meiner Maschine, aber jemand anderes hat möglicherweise den gleichen Eckfall.
Ich habe zahlreiche Möglichkeiten ausprobiert, um meine ISP-Nameserver ohne Erfolg in die Datei /etc/resolv.conf aufzunehmen:
Ich habe sie in das
/etc/network/interfaces
Netzwerk aufgenommen und neu gestartet. Sie sind nicht in aufgetaucht/etc/resolv.conf
.Ich habe sie
/etc/resolv.conf
explizit eingefügt, aber natürlich wurden sie überschrieben. Sie sind in aufgetaucht/run/resolvconf/interface/eth0.inet
, haben es aber nie geschafft/etc/resolv.conf
.Ich habe versucht, resolvconf für dynamische Updates zu konfigurieren. Keine Änderung.
Schließlich habe ich irgendwo gelesen, dass wenn der lokale Rechner (127.0.0.1) in
/etc/resolv.conf
irgendwelchen anderen Nameservern auftaucht, diese nicht enthalten sind.In ihrer Verzweiflung I edited
/run/resolvconf/interface/lo.named
gelöscht, die einzige Zeile in ihm (nameserver 127.0.0.1
) und neu gestartet:ifdown eth0 && ifup eth0
./etc/resolv.conf hat dann zum ersten Mal meine ISP-Nameserver aufgenommen! Ich bin gelaufen, um
service network-manager restart
zu prüfen, ob es stabil ist und/etc/resolv.conf
meine ISP-Nameserver enthält. Neu gestartet nur , um sicherzustellen , und es ist immer noch da , aber/run/resolvconf/interface/lo.named
wurde zurückgesetzt:nameserver 127.0.0.1
.Neugierig Neustart des Netzwerks funktioniert
/etc/resolv.conf
immer noch: enthält immer noch meine ISP-Nameserver. Ich kann das nicht erklären (kann jemand?), Aber das könnte jemandem helfen, der an der gleichen Stelle festsitzt.quelle
dnsmasq
. Sie können es einfach mit entfernenapt-get remove dnsmasq
oder die Konfiguration in aktualisieren/etc/dnsmasq.conf
.Fügen Sie Ihren Nameserver zur Datei /etc/resolvconf/resolv.conf.d/head hinzu. Die Datei enthält eine Nachricht, die Sie erhalten haben:
Diese Datei sollte nach dem Hinzufügen von 8.8.8.8 so aussehen
quelle
füge die letzte Zeile hinzu zB:
Öffne ein Terminal und tippe
Das + i sorgt dafür, dass die Datei beim Booten nicht zurückgesetzt wird.
Das oben genannte rückgängig machen
Für mehr
quelle
Die anderen Lösungen funktionierten auf meinem Fedora 20-System nicht. Mein besonderes Problem war, dass die "Suche" -Zeile in /etc/resolv.conf überschrieben wurde. Hier ist, was es behoben hat. (Dies setzt voraus, dass NetworkManager die Linie produziert
search rn.yourcompany.com
und Sie dies wünschensearch rn.yourcompany.com yourcompany.com intnet.yourcompany.com
:1.Mit dem Befehl "ifconfig" ermitteln Sie, welche Schnittstelle von Interesse ist:
2.Werden Sie root und wechseln Sie in das Verzeichnis der Systemkonfigurations-Netzwerkgeräte:
Domain
Zeile mit den zusätzlichen zu durchsuchenden Domänen hinzuzufügen :DOMAIN="yourcompany.com intnet.yourcompany.com"
Speichern, abmelden und wieder anmelden. NetworkManager sollte jetzt die folgende Zeile enthalten
\etc\resolve.conf
:quelle
Einträge hinzufügen in
/etc/resolvconf/resolv.conf.d/head
und folgenden Befehl ausführen
quelle
Für Ubuntu Server 18 ist Netplan das neue Dienstprogramm zum Konfigurieren von Netzwerken.
Bearbeiten Sie anschließend den Adresseintrag des Nameservers in der yaml-Datei (verwenden Sie den richtigen Einzug). Wenn Sie beispielsweise die DNS-Server von Google verwenden:
So starten Sie den Dienst neu
Siehe https://netplan.io/
https://www.techrepublic.com/article/how-to-set-dns-nameservers-in-ubuntu-server-18-04/
quelle
Wenn Sie DHCP verwenden, bearbeiten Sie
/etc/dhcp/dhclient.conf
, um zusätzliche DNS-Server hinzuzufügen:Der DHCP-Client überschreibt den
dns-nameservers
inetc/network/interfaces
und ich denke auch/etc/resolvconf/resolv.conf.d/base
rein.Dies funktionierte für mich in Ubuntu Server 14.04.3.
Einzelheiten finden Sie im Debian NetworkConfiguration Wiki .
quelle
Sichern Sie einfach Ihre resolve.conf und löschen Sie die resolvconf-Datei. Bearbeiten Sie die Datei /etc/resolv.conf nach Ihren Wünschen.
Wir sollten das Recht haben, schlechte Software wie resolvconf nicht zu verwenden.
Das Suchfeld in der /etc/resolv.conf ist übrigens unbrauchbar.
quelle
Verwenden
resolvconf
und Deaktivierensystemd-resolved.service
(das funktioniert bei mir unter Ubuntu 19.04):Installieren
resolvconf
Nameserver hinzufügen
Öffne
/etc/resolvconf/resolv.conf.d/base
mit deinem Texteditor, den ich benutzevim
.Fügen Sie dann die Nameserver in die geöffnete Datei ein, z.
Aktualisierung
resolv.conf
Deaktivieren
systemd-resolved.service
und neu starten.nameserver 127.0.0.53
wird nicht geschrieben/etc/resolv.conf
.Getan!
Quelle
quelle
Ich fand das die einfachste Lösung. Wenn Sie
resolv.conf
undresolvconf
Dateien haben, treten sie aufeinander. Sie müssen dieresolv.conf
Datei entfernen, die bei jedem Neustart abgerufen und überschrieben wird.Setzen Sie das
nameserver 1.1.1.1 1.0.0.1
am Ende der resolvconf-Datei und führen Sie dann ausUm die Datei loszuwerden. Führen Sie dann einen Neustart durch und alles wird funktionieren.
quelle
Mi Lösung am 12.04:
Ich bemerkte, dass, wenn Sie den DNS-Nameserver in Schnittstellen hinzufügen, die nicht die Namensauflösungsserver nehmen
resolvconf man page
Um die resolv.conf beim manuellen Bearbeiten nicht zu ändern, gehen Sie wie folgt im Terminal vor:
nach:
Bearbeiten Sie dann manuell das
/run/resolvconf/resolv.conf
Hinzufügen von maximal zwei DNS-Servern.Starten Sie dann den Dienst neu:
quelle
Setzen Sie einfach ein
Befehl auf Ihrer
/etc/network/interfaces
Konfiguration. Starten Sie dann Ihr Netzwerk neu.es sollte funktionieren.
quelle
Diese Konfiguration ist in deklariert
/etc/default/bind9
nein = Wende die Bedingung nicht im an
init.d
bind9
ja oder anderer Wert = überschreiben
resolv.conf
Dieses Problem tritt bei der Installation auf
bind9
und es interessiert Sie nicht, alle confs zu überprüfen.quelle