Fix: Keine Route zum Host auf Ubuntu mit mehreren Netzwerken fehlgeschlagen
Wenn Sie ein komplexes Netzwerk einrichten, ist es frustrierend, dass nach dem Aufrufen einer neuen Schnittstelle die Meldung Keine Route zum Host angezeigt wird. Dies liegt häufig daran, dass die Standardroute entweder geändert oder gelöscht wurde.
Um Ihre Standardroute zu überprüfen, geben Sie ein
IP-Route zeigen
Wie oben gezeigt, habe ich drei physikalische Schnittstellen, eine nach außen und zwei nach innen. Die Standardroute wurde im Netzwerk gelöscht, als eine Verbindung zurückgesetzt wurde, wodurch der Rest meines Netzwerks normal funktionierte und nur dieser Computer nicht wusste, wo er das Internet erreichen sollte.
Damit die Maschine das Internet erreichen kann, muss sie eine Standardroute haben, die mit dem folgenden Befehl hinzugefügt werden kann
sudo ip route add default über 136.63.176.1
Wenn dieses Problem mehr als ein- oder zweimal auftritt, kann es zu einem Ärgernis werden, daher habe ich ein paar Shell-Skripte geschrieben, um die Situation schnell zu beheben.
Das erste Skript holt Ihre aktuelle IP für Sie. Ich habe $ INTF als STDIN festgelegt, Sie ändern es auf Ihre spezifische Schnittstelle, wenn Sie den Schnittstellennamen nicht eingeben möchten.
Mit meinem bevorzugten Texteditor mag ich vim und habe einen Quellordner in meinem Home-Verzeichnis
mkdir ~ / src && cd ~ / src
vim getip.sh
#! / bin / bash
# fetch IP-Adresse für das angegebene Gerät eingestellt
INTF = $ {1}
PTH = (~ / src /)
deklariere TMP_IP2
TMP_IP2 = $ (ip a | grep $ {INTF} | grep inet | ausschneiden -d -f6 | ausschneiden -d / -f1> $ {PTH} aktuell _ $ {INTF} .ip)
ip a | grep $ {INTF} | Grep inet | Schnitt -d -f6 | Schnitt -d / -f1 | geschnitten -d. -f1-3 | awk '{print $ 0 ".0 / 24"}'> $ {PTH} Netto _ $ {INTF} .ip
ip a | grep $ {INTF} | Grep inet | Schnitt -d -f6 | Schnitt -d / -f1 | geschnitten -d. -f1-3 | awk '{print $ 0 ".1"}'> $ {PTH} gw _ $ {INTF} .ip
deklariere TMP_IP
TMP_IP = $ (cat $ {PTH} aktuell _ $ {INTF} .ip)
PRO TIPP: Wenn das Problem bei Ihrem Computer oder Laptop / Notebook auftritt, sollten Sie versuchen, die Reimage Plus Software zu verwenden, die die Repositories durchsuchen und beschädigte und fehlende Dateien ersetzen kann. Dies funktioniert in den meisten Fällen, in denen das Problem aufgrund einer Systembeschädigung auftritt. Sie können Reimage Plus herunterladen, indem Sie hier klickenEchostrom wan ip $ TMP_IP
Speichern und beenden Sie, machen Sie es ausführbar, und testen Sie es dann.
sudo chmod a + x getip.sh
Bash getip.sh eth0.2
Angenommen, es funktionierte für Sie richtig und kopieren Sie es nach / usr / local / bin /, um es global ausführbar zu machen.
sudo cp getip.sh / usr / local / bin / getip
Jetzt kann ich einfach getip eth0.2 eingeben und die IP wird zurückgegeben.
Das zweite Skript wird die Standardroute zuweisen und das erste Skript ausführen.
vim setip.sh
#! / bin / bash
getip $ {1}
# fetch IP-Adresse für das angegebene Gerät eingestellt
PTH = (~ / src /)
deklariere RT_IP
RT_IP = $ (cat $ {PTH} gw _ $ {1} .ip)
ip route change default über $ RT_IP
IP-Route hinzufügen Standard über $ RT_IP
echo ip route - Standard über $ RT_IP
Speichern und Beenden. Sie haben vielleicht bemerkt, dass ich sowohl die Standardroute ändere als auch die Standardroute hinzufüge. Dies ist der Fall, wenn Sie das falsche Gateway eingestellt haben.
sudo chmod a + x setip.sh
sudo setip.sh eth0.2
Sie können die Routingtabelle erneut überprüfen, um zu überprüfen, ob alles in Ordnung ist.
sudo ip route show
Sie können die Skripts in / usr / local / bin / kopieren, wenn sie global ausführbar sein sollen. Es erfordert immer noch sudo, da Sie modifizieren und die Schnittstelle verwenden.
sudo cp settip.sh / usr / local / bin / settip
PRO TIPP: Wenn das Problem bei Ihrem Computer oder Laptop / Notebook auftritt, sollten Sie versuchen, die Reimage Plus Software zu verwenden, die die Repositories durchsuchen und beschädigte und fehlende Dateien ersetzen kann. Dies funktioniert in den meisten Fällen, in denen das Problem aufgrund einer Systembeschädigung auftritt. Sie können Reimage Plus herunterladen, indem Sie hier klicken