Javítás: Nem sikerült útvonal a gazdagépre az Ubuntuban, több hálózattal



Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére

Ha összetett hálózati beállítás van, akkor bosszantó, hogy a „ Nincs útvonal a gazda felé ”Egy új felület felvetése után kezdenek megjelenni. Ennek oka gyakran az, hogy az alapértelmezett útvonalat megváltoztatták vagy elvetették.



Az alapértelmezett útvonal ellenőrzéséhez írja be



ip útvonal megjelenítése



nincs útvonal az 1-hez

Mint fent látható, három fizikai interfésszel rendelkezem, egy kifelé néző és két belső hálózattal. Az alapértelmezett útvonal a kapcsolat visszaállításakor a hálózatra esett, ami a hálózat többi részének normális működését okozta, csak ez a gép nem tudta, hol érje el az internetet.

Ahhoz, hogy a gép elérhesse az internetet, rendelkeznie kell egy alapértelmezett útvonallal, amelyet a következő paranccsal lehet hozzáadni



sudo ip útvonal hozzáadása alapértelmezetten keresztül 136.63.176.1

Ha ez a probléma többször vagy kétszer jelentkezik, ez kellemetlenséget okozhat, ezért írtam egy pár shell parancsfájlt a helyzet gyors orvoslására.

Az első szkript be fogja tölteni az aktuális ip-t az Ön számára. STDIN-ként állítottam be a $ INTF-et, ha az nem akarja megadni a felület nevét, akkor módosítsa az adott felületre.

Kedvenc szövegszerkesztőjével szeretem a vim-et, és van egy forrásmappám a saját könyvtáramban

mkdir ~ / src && cd ~ / src

Eljöttem a getip.sh

#! / bin / bash

#fetch ip cím beállítva az adott eszközhöz

INTF = $ {1}

PTH = (~ / src /)

nyilatkozzon a TMP_IP2-ről

TMP_IP2 = $ (ip a | grep $ {INTF} | grep inet | cut -d '” -f6 | cut -d “/” -f1> $ {PTH} aktuális _ $ {INTF} .ip)

ip a | grep $ {INTF} | grep inet | vágás -d ”” -f6 | vágás -d “/” -f1 | vágott -d ”.” -f1-3 | awk ‘{print $ 0 ″ .0 / 24 ″}’> $ {PTH} net _ $ {INTF} .ip

ip a | grep $ {INTF} | grep inet | vágás -d ”” -f6 | vágás -d “/” -f1 | vágott -d ”.” -f1-3 | awk ’{print $ 0 ″ .1 ″}’> $ {PTH} gw _ $ {INTF} .ip

nyilatkozzon a TMP_IP-ről

TMP_IP = $ (macska $ {PTH} jelenlegi _ $ {INTF} .ip)

echo „jelenlegi wan ip $ TMP_IP”

Mentés és kilépés, futtathatóvá tétel, majd tesztelés.

sudo chmod a + x getip.sh

bash getip.sh eth0.2

nincs útvonal a host-2-hez

Feltéve, hogy ez megfelelően működött, folytassa, és másolja át a / usr / local / bin / könyvtárba, hogy globálisan futtatható legyen.

sudo cp getip.sh / usr / local / bin / getip

Most egyszerűen be tudom írni a getip eth0.2 parancsot, és az ip visszatér.

A második szkript hozzárendeli az alapértelmezett útvonalat, valamint futtatja az első szkriptet.

A setip.sh oldalról jöttem

#! / bin / bash

getip $ {1}

#fetch ip cím beállítva az adott eszközhöz

PTH = (~ / src /)

nyilvánítsa az RT_IP-t

RT_IP = $ (macska $ {PTH} gw _ $ {1} .ip)

ip útvonal megváltoztatása alapértelmezetten a $ RT_IP segítségével

ip útvonal hozzáadása alapértelmezetten keresztül $ RT_IP

echo „ip útvonal - alapértelmezés a $ RT_IP segítségével”

Mentés és kilépés. Lehet, hogy észrevette, hogy módosítom és hozzáadom az alapértelmezett útvonalat is, ez alkalmakkor fordul elő, hogy rossz átjárót adott meg.

sudo chmod a + x setip.sh

sudo setip.sh eth0.2

nincs útvonal a 3. gazda felé

Újra ellenőrizheti az útválasztási táblázatot, hogy még egyszer ellenőrizze, hogy minden rendben van-e.

sudo ip útvonal megjelenítése

A parancsfájlokat átmásolhatja a / usr / local / bin / könyvtárba, ha azt szeretné, hogy globálisan futtathatóak legyenek. Ehhez továbbra is sudo szükséges, mivel Ön módosítja és kezeli az interfészt.

sudo cp setip.sh / usr / local / bin / setip

2 perc olvasás