resolv.conf wird beim Neustart nicht gesetzt, wenn das Netzwerk für statische IP-Adressen konfiguriert ist


17

Bei der Konfiguration meines Computers für die Verwendung einer statischen IP-Adresse tritt anscheinend ein Problem mit der Namensauflösung in Ubuntu 12.04 Server Edition auf.

In / etc / network / interfaces:

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1

Wird ausgeführt $ sudo apt-get upgrade, wird "Abrufen fehlgeschlagen ..." angezeigt:

. . . W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/precise-backports/universe/i18n/Translation-en_US Something wicked happened resolving 'us.archive.ubuntu.com:http' (-5 - No address associated with hostname)
[...]

Wenn ich meine / etc / network / interfaces ändere in:

auto eth0
iface eth0 inet dhcp

Alles funktioniert gut.

Weitere Hinweise finden Sie in der Datei /etc/resolv.conf.

In Fällen, in denen das Problem behoben wurde, war die Datei resolv.conf leer. Es wurden keine Nameserver angegeben. Dann habe ich von statisch zu DHCP gewechselt und das Netzwerk neu gestartet. /etc/resolv.conf wurde geändert in: 'nameserver 192.168.1.1'.

Durch das Zurückschalten von DHCP auf statisch und das Neustarten wird der Nameserver-Eintrag nicht entfernt. Aber als ich das System mit statischem Satz neu startete, war resolv.conf leer. Wenn ich das System mit eingestelltem DHCP neu starte, hat resolv.conf den Nameserver 192.168.1.1. Es scheint also, dass das Problem darin besteht, dass die resolve.conf nicht korrekt geschrieben wird? Welches Paket / welcher Code ist für das Schreiben in die resolv.conf verantwortlich? Gibt es ein spezielles Paket, mit dem ich offene Fragen untersuchen kann?

UPDATE: istream hat einen guten Artikel gepostet, der Änderungen an der resolve.conf in 12.04 behandelt. http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/


2
Wenn bei der Verwendung alles in Ordnung ist DHCP, besteht das "Problem" darin, dass Vorschläge "behoben" werden sollen. Wie sieht dein LAN aus? Welche Art von Router verwenden Sie? (Was ist bei 192.168.1.1?) Welche DNS-Server geben Sie an, wenn Sie eine statische IP verwenden?
irrational John

1
Der Titel wurde aktualisiert, um das Symptom genauer
wiederzugeben

+1 für die Bearbeitung von Frage und Titel, um sie zu verbessern, obwohl Sie bereits Ihre Antwort hatten!
irrational John

1
Istreams Verweis auf Änderungen in DNS in Ubuntu 12.04 hinzugefügt.
Kenneth Koontz

Antworten:


16

Fügen Sie gemäß der Manpage zu resolvconf (Beispiel in der Manpage) Folgendes zu Ihrer / etc / network / interfaces in Ihrer statischen Konfiguration hinzu:

dns-nameservers [IP address(es) of your DNS]     
dns-search      [your dns-search strings (optional)]

Perfekt. Das funktioniert!
Kenneth Koontz

Was seltsam ist, ist, dass ich in 11.10 keine DNS-Nameserver angeben musste.
Kenneth Koontz

Das ist richtig. In 12.04 begann Ubuntu mit der Verwendung von resolvconf für die Verarbeitung von resolv.conf. Es ist resolvconf, das die dns-nameserversOption in / e / n / i liest .
Jdthood

1

Sind Sie sicher, dass Sie 192.168.1.1beim Einrichten der statischen IP-Adresse den DNS-Wert angegeben haben?

Ich weiß nicht, wie ich das von der Kommandozeile aus machen soll, aber die System Settings -> NetworkGUI sollte auch funktionieren, oder? Ich denke nur, dass Sie so etwas wie den Screenshot unten wollen? Oder verstehe ich nicht, was Sie versuchen zu tun?

Netzwerkkonfiguration mit statischer IP, Standardroute, DNS-Server

Hinweis: Ignorieren Sie die Werte im linken Fenster. Das sind nur meine Werte von DHCP. Ich habe mich nicht darum gekümmert, die statische Konfiguration zu speichern, da ich nur versucht habe zu veranschaulichen, was ich dachte.

Übrigens, ich habe es benutzt, 192.168.1.1weil du es benutzt hast. Sie können die IPs aber auch für alle gültigen DNS-Server verwenden. Zum Beispiel 8.8.8.8und / oder 208.67.222.222sollte auch funktionieren.


Danke für die Lösung. Ich verwende jedoch keinen Desktop.
Kenneth Koontz

@kennethkoontz Ich verstehe nicht. Verwenden Sie einen Ubuntu-Server? Wenn Sie die typische Desktop-Installation von 12.04 nicht verwenden, bearbeiten Sie Ihre Frage und fügen Sie diese hinzu.
irrational John

2
Entschuldigung für die Verwirrung. Ich hätte sagen sollen: "Ich verwende nicht die Desktop-Edition. Ich verwende die Server-Edition." Ich werde den Fragenbeitrag aktualisieren, um Mehrdeutigkeiten zu beseitigen.
Kenneth Koontz

0

Wenn Sie das Network Manager-Applet nicht zum Einrichten Ihrer Netzwerkeinstellungen verwenden möchten (oder können), finde ich die richtige Methode zum Einrichten einer "statischen" IP-Konfiguration, wenn kein DHCP-Server verfügbar ist. ist eine statische Pacht auf die haben dhclient.conf. Dort sollten Sie den Nameserver angeben, der in die resolv.confDatei geschrieben wird, wenn dhclient auf static zurückgreift.

Wenn Sie sich jedoch nicht die Hände schmutzig machen möchten, empfehle ich weiterhin, die GUI zu verwenden, um eine DNS-Serveradresse in den IP-Einstellungen Ihrer Verbindung anzugeben, wie in /ubuntu//a/127537/33305 .


0

Das OP verwendet den Server ed. NetworkManager wird nicht angewendet. Aber wer weiß, dass es möglicherweise hinzugefügt wird, um dem Server Komplexität zu verleihen.

Warum in aller Welt wurde resolvconf dem Server hinzugefügt ed ... WARUM !! ??!?

Wie auch immer, um Ihre Frage zu beantworten, fügen Sie hinzu:

/ etc / network / interfaces

etwas wie das:

auto eth0 inet static
     dns-nameservers ns1.mydnsservers.com ns2.mydnsservers.com

Die wichtige Option ist "DNS-Nameserver".

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.