Ich benutze Ubuntu seit Ubuntu 8.10; Heute arbeite ich mit Ubuntu 12.04 Server.
Ich habe Schwierigkeiten, statische Routen beim Booten beizubehalten. Normalerweise würde ich die Routenbefehle setzen
/sbin/route add -net <IP>/<MASK> <GW> dev <ethX>
in /etc/rc.local
oder ich würde eine Datei (mit Namen routes
) im Verzeichnis erstellen /etc/network/if-up/
, aber ich stelle fest, dass es unter Ubuntu 12.04 nicht funktioniert.
Wenn ich die Befehle in die Shell eingebe, funktionieren sie, aber dieselben Befehle funktionieren nicht, wenn sie sich in der angegebenen Datei befinden.
Ich habe bereits versucht, den Dateinamen in andere Namen zu ändern, weil ich dachte, mein Dateiname ( routes
) könnte in Ubuntu 12.04 fehlerhaft sein, aber das hat auch nicht funktioniert.
Mir ist auch aufgefallen, dass der Befehl /sbin/ifconfig
funktioniert, abzüglich der /sbin/route
.
Was hat sich in der Netzwerkeinrichtung geändert?
Wie kann ich unter Ubuntu 12.04 statische Routen definieren?
quelle
your_command > stderr.txt 2>&1
) und deren Ausgabe zu überprüfen ...ip add
undip route
. Ein Befehl, um das Netz zu regieren. :)man 5 interfaces
Antworten:
Sie können statische Routen einfügen in
/etc/network/interfaces
:quelle
up ip route add 192.168.0.0/24 via 192.168.1.1
Ich habe sehr oft festgestellt, dass sich der richtige Ort zum Definieren einer statischen Route in / etc / network / interfaces befindet. Es ist in Ordnung, wenn Sie das Netzwerk global neu starten, beispielsweise mit /etc/init.d/networking restart. Wenn Sie jedoch ifdown und ifup verwenden, um eine Schnittstelle einzeln herunterzufahren, endet ifup mit dem Fehler:
Aus diesem Grund wird versucht, eine Route zu definieren, diese ist jedoch bereits definiert. Die Benutzeroberfläche ist trotzdem aktiv, aber ifup wird nicht aktualisiert / ausgeführt / vernetzt / ifstate. Wenn Sie uns das nächste Mal ifdown mitteilen, können Sie dies nur tun, wenn Sie das Flag --force verwenden.
Damit die Konfiguration fortgesetzt werden kann, auch wenn Routen bereits definiert sind, können Sie dieses Format verwenden, wenn Sie Routen in / etc / network / interfaces definieren
Auf diese Weise wird die Warnung in der Ausgabe angezeigt, die Schnittstellenkonfiguration wird jedoch abgeschlossen
quelle
ifconfig
manuelle Verwendung ausführen, anstatt sie auszuführenifdown
, möchten sie in der Lage sein, mithilfe der richtigen Tools eine Wiederherstellung durchzuführen. Daher ist es hilfreich, wenn diese Tools dem unerwarteten Zustand standhalten, wenn sie versuchen, den Zustand zu beheben. Der|| true
Vorschlag ist gut. Das Hinzufügen einer Downline ist ebenfalls hilfreich.up ip route replace 172.16.0.0/24 via 192.168.10.1
"Ersetzen" fügt die Route hinzu, wenn sie noch nicht vorhanden ist. Wenn jedoch eine Route mit demselben Selektor vorhanden ist, wird sie durch die aktuelle Route ersetzt, auch wenn sie dasselbe Ziel hat.Sie können dies ausprobieren (hinzufügen
/etc/network/interfaces
), dies ist fast die vollständige Methode zum Festlegen von Routen:quelle
In Ubuntu ist ein Paket ifupdown-extra verfügbar.
Es bietet automatische Skripte (installiert in
/etc/network/*/
), von denen eines zum Hinzufügen statischer Routen verwendet wird.Die Konfigurationsdatei dafür ist
/etc/network/routes
Am Anfang dieser Konfigurationsdatei befindet sich eine gute Beschreibung:
Eine Beispielroute, die ich benutze, ist:
quelle
was bei uns funktioniert hat war
Früher lief ich auf einem Mac:
aber auf einem Ubuntu fehlte das "gw" zwischen IPs und dem letzten "netmask" -Teil (auch -n auf Ubuntu nicht erforderlich)
quelle
Ich benutze lieber
nmcli
.Zum Beispiel:
Übernehmen Sie anschließend die Änderungen, indem Sie den NetworkManager-Dienst neu starten:
quelle
Mit konnte
nmcli
ich eine dauerhafte Lösung ausführen (@isapir-Lösung funktionierte auf meinem Gerät nicht).Zum Beispiel:
Danach können die Änderungen übernommen werden, indem die Verbindung unterbrochen und wieder hergestellt wird (kein vollständiger Neustart von NetworkManager erforderlich):
So zeigen Sie die aktuellen Verbindungen an:
quelle