Ja jums ir sarežģīta tīkla iestatīšana, ir satraucoši, ja jums ir Nav maršruta uz resursdatoru Sāk parādīties pēc jaunas saskarnes paaugstināšanas. Tas bieži notiek tāpēc, ka noklusējuma maršruts tiek mainīts vai nomests.
Lai pārbaudītu noklusējuma maršrutu, ievadiet
ip maršruta šovs
Kā parādīts iepriekš, man ir trīs fiziskās saskarnes, viena - vērsta uz āru un divas - iekšējiem tīkliem. Noklusējuma maršruts nokritās tīklā, kad tika atiestatīts savienojums, kā rezultātā pārējais mans tīkls darbojās normāli, un tikai šī mašīna nezināja, kur piekļūt internetam.
Lai mašīna varētu piekļūt internetam, tai ir nepieciešams noklusējuma maršruts, kuru var pievienot ar šādu komandu
sudo ip maršruts pievieno noklusējumu, izmantojot 136.63.176.1
Ja jums šī problēma rodas vairāk nekā vienu vai divas reizes, tā var kļūt par traucēkli, tāpēc man ir uzrakstīti pāris čaulas skripti, lai ātri novērstu situāciju.
Pirmais skripts iegūs jūsu pašreizējo ip jums. Man ir $ INTF iestatīts kā STDIN. Ja nevēlaties ievadīt saskarnes nosaukumu, jūs to maināt uz konkrēto saskarni.
Izmantojot jūsu iecienīto teksta redaktoru, man patīk vim, un manā mājas direktorijā ir avota mape
mkdir ~ / src && cd ~ / src
Es atnācu getip.sh
#! / bin / bash
#fetch ip adrese iestatīta konkrētai ierīcei
INTF = $ {1}
PTH = (~ / src /)
paziņot TMP_IP2
TMP_IP2 = $ (ip a | grep $ {INTF} | grep inet | cut -d '” -f6 | cut -d “/” -f1> $ {PTH} pašreizējais _ $ {INTF} .ip)
ip a | grep $ {INTF} | grep inet | griezt -d ”” -f6 | sagriezts -d “/” -f1 | sagriezts -d ”.” -f1-3 | awk ‘{print $ 0 ″ .0 / 24 ″}’> $ {PTH} neto _ $ {INTF} .ip
ip a | grep $ {INTF} | grep inet | griezt -d ”” -f6 | sagriezts -d “/” -f1 | sagriezts -d ”.” -f1-3 | awk ‘{print $ 0 ″ .1 ″}’> $ {PTH} gw _ $ {INTF} .ip
paziņot TMP_IP
TMP_IP = $ (kaķis $ {PTH} pašreizējais _ $ {INTF} .ip)
atbalss “pašreizējais wan ip $ TMP_IP”
Saglabājiet un izejiet no tā, padariet to izpildāmu un pēc tam pārbaudiet to.
sudo chmod a + x getip.sh
bash getip.sh eth0.2
Pieņemot, ka tas ir darbojies pareizi, dodieties uz priekšu un kopējiet to mapē / usr / local / bin /, lai padarītu to globāli izpildāmu.
sudo cp getip.sh / usr / local / bin / getip
Tagad es vienkārši varu ierakstīt getip eth0.2, un ip tiks atgriezts.
Otrais skripts piešķirs noklusējuma maršrutu, kā arī palaidīs pirmo skriptu.
Es nācu no setip.sh
#! / bin / bash
iegūt $ {1}
#fetch ip adrese iestatīta konkrētai ierīcei
PTH = (~ / src /)
paziņot RT_IP
RT_IP = $ (kaķis $ {PTH} gw _ $ {1} .ip)
ip maršruta noklusējuma maiņa, izmantojot $ RT_IP
ip maršruts pievieno noklusējumu, izmantojot $ RT_IP
atbalss “ip route - noklusējums caur $ RT_IP”
Saglabāt un atmest. Jūs, iespējams, pamanījāt, ka man ir gan mainīts, gan pievienots noklusējuma maršruts, tas ir gadījumiem, kad jums ir iestatīta nepareiza vārteja.
sudo chmod a + x setip.sh
sudo setip.sh eth0.2
Varat vēlreiz pārbaudīt maršrutēšanas tabulu, lai vēlreiz pārbaudītu, vai viss ir labi.
sudo ip maršruta šovs
Varat nokopēt skriptus mapē / usr / local / bin /, ja vēlaties, lai tos varētu izpildīt visā pasaulē. Tam joprojām būs nepieciešams sudo, jo jūs modificējat un saskarni.
2 minūtes lasītssudo cp setip.sh / usr / local / bin / setip