Remediere: nu a reușit nicio rută de găzduire pe Ubuntu cu mai multe rețele



Încercați Instrumentul Nostru Pentru Eliminarea Problemelor

Când aveți o configurare complexă a rețelei, este frustrant să aveți „ Niciun traseu către gazdă ”Începe să apară după creșterea unei noi interfețe. Acest lucru se datorează frecvent schimbării sau eliminării rutei implicite.



Pentru a verifica ruta implicită, introduceți



spectacol de traseu ip



niciun traseu către gazda-1

După cum se arată mai sus, am trei interfețe fizice, una orientată spre exterior și două către rețelele interne. Ruta implicită a căzut în rețea atunci când a fost resetată o conexiune, ceea ce a făcut ca restul rețelei mele să funcționeze normal, doar această mașină neștiind unde să ajungă la Internet.

Pentru ca aparatul să poată ajunge la Internet, trebuie să aibă un traseu implicit care poate fi adăugat cu următoarea comandă



sudo ip route add default prin 136.63.176.1

Dacă aveți această problemă, apare mai mult de o dată sau de două ori, aceasta poate deveni o pacoste, așa că am scris câteva scripturi shell pentru a corecta rapid situația.

Primul script vă va prelua ip-ul curent pentru dvs. Am setat $ INTF ca STDIN, îl schimbați la interfața dvs. specifică dacă nu doriți să introduceți numele interfeței.

Folosind editorul de text preferat, îmi place vim și am un director sursă în directorul meu de acasă

mkdir ~ / src && cd ~ / src

Am venit getip.sh

#! / bin / bash

#fetch adresa IP setată pentru dispozitivul dat

INTF = $ {1}

PTH = (~ / src /)

declarați TMP_IP2

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

ip a | grep $ {INTF} | grep inet | tăiat -d ”” -f6 | tăiat -d „/” -f1 | tăiat -d ”.” -f1-3 | awk ‘{print $ 0 ″ .0 / 24 ″}’> $ {PTH} net _ $ {INTF} .ip

ip a | grep $ {INTF} | grep inet | tăiat -d ”” -f6 | tăiat -d „/” -f1 | tăiat -d ”.” -f1-3 | awk ‘{print $ 0 ″ .1 ″}’> $ {PTH} gw _ $ {INTF} .ip

declarați TMP_IP

TMP_IP = $ (cat $ {PTH} curent _ $ {INTF} .ip)

ecou „ip actual wan $ TMP_IP”

Salvați și ieșiți, faceți executabil, apoi testați-l.

sudo chmod a + x getip.sh

bash getip.sh eth0.2

niciun traseu către gazda-2

Presupunând că a funcționat corect pentru dvs., mergeți mai departe și copiați-l în / usr / local / bin / pentru ao face executabil la nivel global.

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

Acum pot tasta pur și simplu getip eth0.2 și ip-ul va fi returnat.

Al doilea script va atribui ruta implicită, precum și rularea primului script.

Am venit de la setip.sh

#! / bin / bash

obține $ {1}

#fetch adresa IP setată pentru dispozitivul dat

PTH = (~ / src /)

declara RT_IP

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

schimbarea traseului ip implicit prin $ RT_IP

ip route add default prin $ RT_IP

ecou „ruta ip - implicit prin $ RT_IP”

Salvează și închide. S-ar putea să fi observat că am modificat și adăugat ruta implicită, aceasta este pentru ocazii în care aveți un gateway setat greșit.

sudo chmod a + x setip.sh

sudo setip.sh eth0.2

fără traseu către gazda-3

Puteți verifica din nou tabelul de rutare pentru a verifica dacă totul este bine.

sudo ip route show

Puteți copia scripturile în / usr / local / bin / dacă doriți ca acestea să fie executabile la nivel global. Va necesita în continuare sudo, pe măsură ce modificați și interfața.

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

2 minute citite