2012-06-06 6 views
8

Ich habe ein Problem mit der statischen IP unter Ubuntu 12.04.Einstellen der statischen IP auf Ubuntu Server 12.04 macht den Verlust der externen Verbindung

Mit DHCP habe ich kein Problem, aber wenn ich (unter /etc/network/interfaces) die statische Adresse, das Gateway, die Subnetzmaske und die DNS-Nameserver, habe ich, dass der Server keine Verbindung zur externen Welt herstellen kann.

Es kann nur eine Verbindung zu lokalen IP-Hosts herstellen.

Ich habe versucht, die Nameserver in die /etc/resolv.conf einzufügen, aber jedes Mal, wenn ich das Gerät neu starte, werden die Änderungen abgebrochen.

Was könnte das Problem sein?

Antwort

1

Zuerst einmal: Überprüfen Sie, ob Sie die richtige Konfiguration haben: - versuchen Sie, Ihr Gateway zu pingen, ist es Arbeit? Wenn nicht, überprüfen Sie Ihre Gateway IP. - versuchen Sie, ping 8.8.8.8 (Googles DNS) - ist es Arbeit? Wenn nein, dann überprüfen Routing Sie eine Verwendung:

mtr 8.8.8.8 

oder

tracepath -n 8.8.8.8 

und prüfen, bei der Hopfen das Routing stoppt.

in Bezug auf DNS namees: fügen Sie bitte die Datei/etc/network/interfaces Linien:

dns-nameservers Your_DNS_IP_address 
+0

danke ich gelöst, ich tippte einen falschen DNS-Server – frakorn

+0

Auf jeden Fall den Trick. Vielen Dank! – Asken

0

Wir haben das gleiche Problem mit einem alten HP-Terminal und Ubuntu 12.04 hatten eine statische IP zu verwenden, die wir verwenden mussten Setzen Sie das Flag "manual" in /etc/network/interfaces.und simulieren Sie eine ifconfig-Eingabe.

auto eth1 
iface eth1 inet manual 
up ifconfig eth1 <IP> netmask <IP> broadcast <IP> up 
up route add default gw <IP> 

Eine seltsame Lösung, aber die minimale Menge an voodoo, dieses Problem zu lösen.

0

Verschiedene Prozesse überschreiben /etc/resolv.conf (dhcpd, networkmanager usw.). Ich vermute, das ist das Problem, das Sie sehen. Ich würde ein paar Optionen vorschlagen:

  1. Statt die Nameserver der Zugabe zu „/etc/resolv.conf“, sie stattdessen in den „/etc/resolv.conf.head“. Der Inhalt von "/etc/resolv.conf.head" wird automatisch dem Inhalt vorangestellt, der automatisch generiert wird. Abhängig von Ihren Optionen können Sie "/etc/resolv.conf.tail" verwenden, um Ihre Einstellungen am Ende der Datei anzuhängen. In jedem Fall sollte dies eine dieser automatisch generierten Einstellungen mit Ihren festen überschreiben.

  2. Schreibschutz /etc/resolv.conf Ihre Änderungen zu verhindern, dass von einem anderen Dämon überschrieben wird (nachdem Sie Ihre Änderungen vornehmen):

    $ sudo chattr +i /etc/resolv.conf

  3. Wahrscheinlich ist es dhcpd das Modifizieren /etc/resolv.conf, und Sie haben vergessen, es zu deaktivieren. Entfernen Sie (oder deaktivieren Sie) dhcpd, damit es /etc/resolv.conf nicht ändert. Zu entfernen:

    $ sudo apt-get remove isc-dhcp-client

  4. Verwenden auditd zu bestimmen, welche Daemon Modifizieren/etc/resolv.conf:

    $ sudo auditctl -w /etc/resolv.conf -p w

Die Protokolle sind in /var/log/audit/audit.log. Sie können das Datum/die Uhrzeit sehen, zu der die Datei geändert wurde und welches Programm sie modifiziert hat (um Korrekturmaßnahmen zu ergreifen).

+0

Ups, ich habe den Pfad falsch für Schwanz/Kopf. Es ist "/etc/resolvconf/resolv.conf.d/head" oder "/etc/resolvconf/resolv.conf.d/tail". In den meisten Fällen erstellen Sie eine Datei "/etc/resolvconf/resolv.conf.d/tail" und fügen dort Ihre "Nameserver" -Einstellungen hinzu. –

0

Ich weiß nicht über Sie, aber ich mag nicht die resolv.conf Datei verwenden. Ich bevorzuge es, den Nameserver so einzustellen, dass er meine Router liest, und normalerweise verwende ich die Namenserver von Google 8.8.8.8 oder 8.8.4.4.

Hier ist eine kleine Anleitung, die ich gefunden habe, wenn jemand interessiert ist.

http://ubuntuserverhelp.com/setting-up-a-static-ip/

19

Ubuntu 12.04 verwendet resolvconf (eine Reihe von Skripten und Hooks) anstelle von resolv.conf, um DNS-Server zu verwalten. Der bemerkenswerteste Unterschied für den Benutzer besteht darin, dass jede Änderung, die manuell in /etc/resolv.conf vorgenommen wird, verloren geht, da es beim nächsten Mal überschrieben wird, wenn etwas resolvconf auslöst.

Um die statischen DNS-Einträge in resolv.conf-Datei hinzufügen, bearbeiten /etc/resolvconf/resolv.conf.d/base:

diese Zeilen hinzufügen (das Beispiel unten ist öffentlich Nameserver des OpenDNS):

nameserver 208.67.222.222 
nameserver 208.67.220.220 

Führen Sie diesen Befehl des auffrischen resolvconf Einstellung:

sudo service resolvconf restart 

Ihre DNS-Server-Adressen anzuzeigen, verwenden Sie diesen Befehl:

cat /etc/resolv.conf 
+0

Perfekte Antwort, jeder Schritt funktionierte genau so, wie ich es bei Ubuntu 12.04 beschrieben habe –

+0

Dies sollte die akzeptierte Antwort sein. – Mustafa

Verwandte Themen