Fix: Failed Ingen rute til at hoste på Ubuntu med flere netværk

Når du har en kompleks netværksopsætning, er det frustrerende at få startet Ingen rute til vært efter at have opgraderet en ny grænseflade. Dette skyldes ofte, at standardruten enten er ændret eller faldet.

For at kontrollere din standard rute, indtast

ip ruteshow

Som vist ovenfor har jeg tre fysiske grænseflader, en udadvendt og to til interne netværk. Standardruten faldt på netværket, da en forbindelse blev nulstillet, hvilket gjorde det muligt for resten af ​​netværket at fungere normalt, idet kun denne maskine ikke vidste, hvor man skulle komme til internettet.

For at maskinen skal kunne nå internettet, skal den have en standardrute, som kan tilføjes med følgende kommando

sudo ip-rute tilføjer standard via 136.63.176.1

Hvis du har dette problem opstår mere end en eller to gange, kan det blive en gener, så jeg har skrevet et par shell-scripts for hurtigt at rette op på situationen.

Det første script henter din nuværende ip for dig. Jeg har $ INTF indstillet som STDIN, du ændrer det til din specifikke grænseflade, hvis du ikke vil indtaste grænsefladesnavnet.

Ved hjælp af din yndlings teksteditor, kan jeg godt lide vim og have en kildemappe i min hjemmekatalog

mkdir ~ / src && cd ~ / src

vim getip.sh

#! / bin / bash

#fetch ip-adresse indstillet til den givne enhed

INTF = $ {1}

PTH = (~ / src /)

erklære TMP_IP2

TMP_IP2 = $ (ip a | grep $ {INTF} | grep inet | cut -d -f6 | cut -d / -f1> $ {PTH} nuværende _ $ {INTF} .ip)

ip a | grep $ {INTF} | grep inet | cut -d -f6 | cut -d / -f1 | cut -d. -f1-3 | awk '{print $ 0 ".0 / 24"}'> $ {PTH} netto _ $ {INTF} .ip

ip a | grep $ {INTF} | grep inet | cut -d -f6 | cut -d / -f1 | cut -d. -f1-3 | awk '{print $ 0 ".1"}'> $ {PTH} gw _ $ {INTF} .ip

erklære TMP_IP

TMP_IP = $ (cat $ {PTH} nuværende _ $ {INTF} .ip)

PRO TIP: Hvis problemet er med din computer eller en bærbar computer / notesbog, skal du prøve at bruge Reimage Plus-softwaren, som kan scanne lagrene og udskifte korrupte og manglende filer. Dette virker i de fleste tilfælde, hvor problemet er opstået på grund af systemkorruption. Du kan downloade Reimage Plus ved at klikke her

ekko nuværende wan ip $ TMP_IP

Gem og afslut, gør den eksekverbar, og test den derefter.

sudo chmod a + x getip.sh

bash getip.sh eth0.2

Forudsat at det fungerede korrekt for dig, fortsæt og kopier det til / usr / local / bin / for at gøre det globalt eksekverbart.

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

Nu kan jeg bare skrive getip eth0.2 og ip vil blive returneret.

Det andet script vil tildele standard ruten samt at køre det første script.

vim setip.sh

#! / bin / bash

getip $ {1}

#fetch ip-adresse indstillet til den givne enhed

PTH = (~ / src /)

erklærer RT_IP

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

IP-ruteændring standard via $ RT_IP

IP-rute tilføjer standard via $ RT_IP

echo ip route - standard via $ RT_IP

Gem og afslut. Du har muligvis bemærket, at jeg har begge ændringer og tilføjer standardrute, det er til lejlighedsvis, at du har den forkerte gateway-sæt.

sudo chmod a + x setip.sh

sudo setip.sh eth0.2

Du kan tjekke rutetabellen igen for at kontrollere, om alt er godt.

sudo ip ruteprogram

Du kan kopiere scripts til / usr / local / bin / hvis du gerne vil have dem globalt eksekverbare. Det vil stadig kræve sudo, som du ændrer og interface.

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

PRO TIP: Hvis problemet er med din computer eller en bærbar computer / notesbog, skal du prøve at bruge Reimage Plus-softwaren, som kan scanne lagrene og udskifte korrupte og manglende filer. Dette virker i de fleste tilfælde, hvor problemet er opstået på grund af systemkorruption. Du kan downloade Reimage Plus ved at klikke her

Facebook Twitter Google Plus Pinterest