
Wenn ich meinen Computer für die Verwendung einer statischen IP konfiguriere, tritt bei Ubuntu 12.04 Server Edition offenbar ein Problem mit der Namensauflösung 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
Beim Ausführen $ sudo apt-get upgrade
wird die Meldung „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 einwandfrei.
Ein Blick in /etc/resolv.conf liefert weitere Hinweise.
In Fällen, in denen ich das Problem mit der Auflösung hatte, war resolv.conf leer; es wurden keine Nameserver angegeben. Dann wechselte ich von statisch zu DHCP und startete das Netzwerk neu; /etc/resolv.conf wurde geändert in: „Nameserver 192.168.1.1“.
Wenn ich von DHCP zurück auf statisch umschalte und neu starte, wird der Nameserver-Eintrag nicht entfernt. Aber als ich das System mit statischem Wert neu gestartet habe, war resolv.conf leer. Wenn ich das System mit DHCP neu starte, hat resolv.conf den Nameserver 192.168.1.1. Das Problem scheint also darin zu liegen, dass in resolve.conf nicht richtig geschrieben wird? Welches Paket/welcher Code ist für das Schreiben in resolv.conf verantwortlich? Gibt es ein bestimmtes Paket, bei dem ich mir offene Probleme ansehen kann?
UPDATE: istream hat einen guten Artikel gepostet, in dem die Änderungen an resolve.conf in 12.04 besprochen werden. http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/
Antwort1
Gemäßdie Manpage zu resolvconf(Beispiel auf der Manpage), fügen Sie Folgendes zu Ihrer /etc/network/interfaces unter Ihrer statischen Konfiguration hinzu:
dns-nameservers [IP address(es) of your DNS]
dns-search [your dns-search strings (optional)]
Antwort2
Sind Sie sicher, dass Sie 192.168.1.1
beim Einrichten der statischen IP den Wert für den DNS angegeben haben?
Ich weiß nicht, wie ich das über die Befehlszeile machen kann, aber über die System Settings -> Network
GUI sollte es doch auch funktionieren, oder? Ich denke nur, dass Sie so etwas wie den Screenshot unten wollen? Oder verstehe ich nicht, was Sie versuchen?
Hinweis: Ignorieren Sie die Werte im linken Fenster. Das sind nur meine Werte von DHCP. Ich habe mir nicht die Mühe gemacht, die statische Konfiguration zu speichern, da ich nur veranschaulichen wollte, was ich dachte.
Ich habe übrigens verwendet, 192.168.1.1
weil Sie das verwendet haben. Sie können aber auch die IPs für alle gültigen DNS-Server verwenden. Beispielsweise sollten 8.8.8.8
und/oder 208.67.222.222
auch funktionieren.
Antwort3
Wenn Sie das Network Manager-Applet nicht verwenden möchten (oder können), um Ihre Netzwerkeinstellungen einzurichten, finde ich den richtigen Weg zum Einrichten eines"statisch"Die IP-Konfiguration für den Fall, dass kein DHCP-Server verfügbar ist, besteht in einer statischen Lease dhclient.conf
. Dort sollten Sie den Nameserver angeben, der in die Datei geschrieben wird resolv.conf
, wenn dhclient auf statisch zurückgreift.
Wenn Sie sich jedoch nicht die Hände schmutzig machen möchten, empfehle ich dennoch, die GUI zu verwenden, um eine DNS-Serveradresse in den IP-Einstellungen Ihrer Verbindung anzugeben, wie inhttps://askubuntu.com/a/127537/33305.
Antwort4
Der OP verwendet den Server. NetworkManager trifft nicht zu. Aber wer weiß, vielleicht wird es nur hinzugefügt, um die Komplexität des Servers zu erhöhen.
Und warum in aller Welt wurde Resolvconf zum Server hinzugefügt? WARUM!!??!?
Um Ihre Frage zu beantworten, fügen Sie Folgendes hinzu:
/etc/Netzwerk/Schnittstellen
etwas wie das:
auto eth0 inet static
dns-nameservers ns1.mydnsservers.com ns2.mydnsservers.com
Die wichtige Option ist „DNS-Nameserver“.