Wie konfiguriere ich mein statisches DNS in Schnittstellen?

60

Ich benutze Ubuntu 12.04.

Meine /etc/network/interfacesDatei besteht aus:

# The loopback network interface  
auto lo  
iface lo inet loopback  


# The primary network interface  
auto eth0 
iface eth0 inet static  
address 192.168.1.58  
gateway 192.168.1.1
network 192.168.1.0  
broadcast 192.168.1.255
dns-nameservers 66.212.63.228 66.212.48.10  

Ich habe den Befehl ausgeführt: /etc/init.d/networking restart

Welche antwortete mit:

*Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces  
*Reconfiguring network interfaces...  
RTNETLINK answers: File exists  
Failed to bring up eth0  
[ OK ]  

Als nächstes habe ich ping google.com ausgeführt und Folgendes erhalten:

ping: unknown host google.com

Ich bin nicht sicher, ob meine Schnittstellen aktualisiert wurden. Wie konfiguriere ich mein Netzwerk richtig mit meinen statischen DNS-Adressen?

gepunkteter Vierer
quelle
1
Starte deinen Computer neu. Führen Sie nicht /etc/init.d/networking restart aus. Der Fehler wird durch die bereits vorhandene Standardroute verursacht. Dieses Setup sieht für mich richtig aus.
Matt H
2
Wie Matt H sagt, /etc/network/interfacesist er wählerisch in Sachen, die es bereits gibt. Sie können ein perfektes Setup haben, haben aber bereits etwas, und es wird sich beschweren. Wenn es sich um die Standardroute handelt, über die es sich beschwert, können Sie sie entfernen, indem ip route del defaultSie /etc/network/interfaces
ausführen
Der Netzwerkmanager hat ein weiteres Opfer gefordert. Löschen Sie einfach diesen Müll.
Owl

Antworten:

24

Da der Fragesteller den Inhalt seines /etc/network/interfacesI angibt, schließe er, dass er ifup zur Konfiguration von Schnittstellen verwendet. Da er jedoch möglicherweise NetworkManager verwendet, werde ich auch darauf eingehen.

Wenn Sie ifup verwenden, gehen die DNS-Einstellungen ein /etc/network/interfaces. Für jede Schnittstelle fügen Sie dns-*Optionen hinzu , die für die über diese Schnittstelle verfügbaren Nameserver geeignet sind. Wenn beispielsweise ein Nameserver unter der Adresse 1.2.3.4 über die Schnittstelle eth0 verfügbar ist, fügen Sie ihn dns-nameservers 1.2.3.4zur Zeilengruppe hinzu iface eth0.

Wenn Sie NetworkManager verwenden, werden die Einstellungen im Verbindungseditor (Netzwerkanzeige | Verbindungen bearbeiten ...) auf der Registerkarte IPv4-Einstellungen eingegeben.

Die /etc/init.d/networking restartNeukonfiguration von Schnittstellen ist veraltet. Wenn Sie ifupdann zuerst ifdownjede aktive Netzwerkschnittstelle verwenden, dann ifupjede Schnittstelle. Wenn Sie NetworkManager verwenden, deaktivieren Sie zuerst das Netzwerk mithilfe der Anzeige (oben auf dem Desktop). Öffnen Sie dann ein Terminal und führen Sie es aus

sudo /etc/init.d/network-manager restart

und aktivieren Sie dann das Netzwerk mithilfe der Anzeige.

Oder Sie können einfach neu starten.

In Bezug auf die Tatsache, dass /etc/init.d/networking restartergab

RTNETLINK answers: File exists
Failed to bring up eth0  

Dies bedeutet, dass ifupdown denkt, dass dies eth0bereits geschehen ist. Verwenden Sie ifdown --force eth0, um ifupdownzu verhindern, dass Sie glauben, dass die Schnittstelle bereits konfiguriert wurde.

In Bezug auf die "veraltete" Nachricht wird diese Nachricht in Ubuntu 12.10 nicht mehr gedruckt, aber Sie sollten trotzdem beachten, dass Initskripte "auf dem Weg nach draußen" sind. fooVerwenden Sie service foo restartoder, um einen Dienst neu zu starten restart foo. Beachten Sie auch, dass es zum Neukonfigurieren der Schnittstellen besser ist, die Schnittstellen einzeln herunterzufahren, als das "Netzwerk" neu zu starten.

jdthood
quelle
17

Wenn keines der oben genannten Verfahren funktioniert, denken Sie daran, dass Ubuntu eine tailDatei an die von ihm generierte Datei resolv.conf anfügt.

Versuche dies:

sudo nano /etc/resolvconf/resolv.conf.d/tail

Dadurch wird eine leere Datei resolv.conf.d im Nano-Texteditor geöffnet. Sie müssen Ihre DNS-Serveradresse in die erste Zeile dieser Datei einfügen und daran denken, die Zeile mit einem Zeilenumbruch (drücken Sie die Eingabetaste) zu beenden (siehe unten):

nameserver 10.20.1.2

Durch Bearbeiten der Tail-Datei anstelle der eigentlichen Datei resolv.conf wird verhindert, dass Ihre Änderung beim Neustart des Systems verloren geht.

Sie müssen ausführen sudo resolvconf -u, um die Änderung zu aktivieren. Danach sollten Sie google.com anpingen können. Viel Glück!

Sean Huggans
quelle
Hört sich gut an, aber mein Ubuntu 14.04-System hat diese Tail-Datei nicht verwendet. Das ist in meinem Fall also keine Lösung. Trotzdem danke.
James T Snell
11

Befehlszeilenversion:

Sie sollten Ihre Nameserver folgendermaßen hinzufügen /etc/resolvconf/resolv.conf.d/base:

nameserver 66.212.63.228 
nameserver 66.212.48.10
pl1nk
quelle
Ich muss diese Methode in ein paar Stunden ausprobieren und mich bei Ihnen melden. Wissen Sie, warum ich die veraltete Nachricht erhalte und die eth0-Nachricht nicht angezeigt wird?
Dottedquad
1
Sie könnten verwenden diese: $ ifdown eth0 && ifup eth0mehr zu diesem Thema lesen Sie hier .
29.
1
@dottedquad was ist das du die / etc / network / interfaces datei in diese auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.58 gateway 192.168.1.1 network 192.168.1.0 broadcast 192.168.1.255auto eth0 iface eth0 inet static
änderst
1
Es ist besser, Nameserver-Informationen zu NetworkManager-Verbindungen hinzuzufügen (wenn Sie NetworkManager verwenden), wie in bodhi.zazen beschrieben, oder Schnittstellendefinitionen in / etc / network / interfaces (wenn Sie ifup verwenden), als die Informationen statisch und global hinzuzufügen zu /etc/resolvconf/resolv.conf.d/base.
Jdthood
1
@jdthood Es scheint, dass Sie meine Kommentare und die Frage sowie die anderen Antworten gesehen haben! Einige Kommentare nach oben [..] "Sie könnten dies verwenden: $ ifdown eth0 && ifup eth0" [..]
pl1nk
11

Alle Antworten , die in / etc beziehen / network / interfaces angeben falsch dns-nameserversstatt dns-nameserver- unter funktionieren sollte:

auto wlan0
iface wlan0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameserver 8.8.8.8
dns-nameserver 8.8.4.4
dns-search something.network.com

(getestet auf Ubuntu 15.04)

babelmonk
quelle
8
Vorsichtig. Ich habe gerade bestätigt, dass dns-nameserver(Singular) auf RaspberryPi + Raspian Jesse nicht funktioniert . Ich fand , dass ich hatte zu verwenden dns-nameservers(Plural). YMMV und all das, nur um der nächsten Person zu helfen ...
evadeflow
2
Überprüfen Sie Ihre resolvconf (8) -Manpage auf Verwendung und Optionen. Unter Ubuntu 16.04.3 LTS heißt es, dass Sie entweder eine oder mehrere DNS-Nameserver-Zeilen mit einer einzelnen IP-Adresse pro Zeile verwenden oder DNS-Nameserver und eine durch Leerzeichen getrennte Liste von IP-Adressen verwenden können.
Jla
dns-nameserveroder dns-nameservers? weil wiki.ubuntu.com/KvmWithBridge sagt "Server" ...
Thufir
Funktioniert definitiv nicht bei mir. Kann nicht abstimmen, noch nicht genug Punkte.
Owl
Ja, das ist dann schön und konsequent! Entschuldigen Sie die Verwirrung, überprüfen Sie beide und überprüfen Sie die obigen Kommentare, da es scheint, dass verschiedene Ubuntu / Debian / Raspian-Varianten unterschiedlich sind.
Babelmonk
6

Die einfachste Methode zum Konfigurieren Ihrer DNS-Server ist die Verwendung von NetworkManager

Tragen Sie unter IPv4 Ihre DNS-Server ein

Bildbeschreibung hier eingeben

Panther
quelle
2
Ich habe vergessen zu erwähnen, dass ich weder Unity noch Gnome installiert habe. Gnome installatio ist mein nächstes Projekt.
Dottedquad
Ich kann das nicht retten. warum könnte das so sein
Josh
4

Ich konnte dies auf einem kopflosen Ubuntu-Server durch Hinzufügen umgehen

nameserver 8.8.8.8

... nach den relevanten Schnittstelleninhalten in / etc / network / interfaces:

auto wlan0
iface wlan0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
dns-nameservers 8.8.4.4

Hoffe das hilft späteren Usern!

corq
quelle
für dns-nameserverskönnen Komma Sie 8.8.8.8, 8.8.4.4 trennen?
Thufir
1
@ Thufir spaces wiki.debian.org/NetworkConfiguration
Philippe Gachoud
4

Hinweis: Bei vorsichtiger Verwendung ohne direkten Zugriff auf die Maschine wird die Verbindung unterbrochen ...

ich benutze

sudo ifdown eth0

dann

sudo ifup eth0

Es wird alles zurückgesetzt und freigegeben ...

Wenn Konfigurationsfehler auftreten, können Sie Folgendes verwenden:

sudo ifdown eth0 --force
user294233
quelle
3

Das hat bei mir funktioniert

sudo vi /etc/resolvconf/resolv.conf.d/base

und füge hinzu:

nameserver <add your router ip>

Lauf:

sudo resolvconf -u

Ich benutze Core-Installation von Ubuntu Server.

Bongo
quelle
2

In der Interface-Datei fehlt eine Subnetzspezifikation.

In netmask 255.255.255.0auf /etc/network/interfacesunterhalb der Netzwerkleitung.

Brian
quelle
1

Aus irgendeinem Grund macht die dns-nameserversAussage in meinem Fall nichts. Und die anderen Antworten stammen nicht aus dem Buch, da sie umgangen werden, dnsmasqwie es in Ubuntu verwendet wird.

Um dies richtig zu machen, bearbeiten Sie /etc/dnsmasq.conf

Fügen Sie Ihre Nameserver am Ende der Datei hinzu:

server=8.8.8.8
server=8.8.4.4

Starten Sie dnsmasq neu, um die neuen Einstellungen zu verwenden: sudo service dnsmasq restart

Kredit: https://unix.stackexchange.com/a/163506/187949

DustWolf
quelle
1

Ich hatte dieses Problem. Ich dachte, ich würde verrückt. Jedes Mal /etc/resolv.conf, wenn ich es bearbeitete , löschte es meine Konfiguration. Es stellte sich heraus, dass total lunatic Debian mit dem Netzwerkmanager verteilt hat, der alle meine Netzwerkeinstellungen überschreibt.

So habe ich es behoben:

1) sudo apt-get purge network-manager

Dadurch wird dieses schreckliche neue Tool beseitigt, das die ordnungsgemäße Funktion aller Konfigurationen verhindert.

2) Bearbeiten Sie die /etc/network/interfacesDatei:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto enp0s25
iface enp0s25 inet static
        address 192.168.1.2
        netmask 255.255.255.0
        gateway 192.168.1.1

3) Bearbeite /etc/resolv.conf:

nameserver 8.8.8.8
nameserver 8.8.4.4

4) Neustart.

Herzlichen Glückwunsch, Sie haben jetzt vernünftige Konfigurationen, die wieder funktionieren.

Eule
quelle
0

Sie können diese Schnittstelle auch in einer anderen Datei konfigurieren, da Sie über mehr Gateways verfügen.

Details finden Sie hier .

Antivirtel
quelle