Usmjerivačke tablice često se čitaju kao pokvarene kad stupac pristupnika ostane prazan, iako je linija obično sama po sebi potpuna. Polje via pojavljuje se samo kad jezgra preda paket adresi sljedećeg skoka; ruta vezana uz sučelje dostiže svoja odredišta razrješavanjem na sloju veze ili preko para od točke do točke. Čitanje stupaca slijeva nadesno kaže u kojem se slučaju nalazite, i to čitanje treba obaviti prije nego što itko uredi zadanu rutu. Većina zahtjeva zbog pristupnika koji nedostaje završava na toj razlici.

Čitajte liniju rute stupac po stupac

Svaki zapis počinje odredištem i duljinom njegova prefiksa, a zatim dodaje modifikatore u fiksnom rječniku: via, dev, proto, scope, src i metric. Linija poput 198.51.100.0/24 dev tun0 proto kernel scope link src 198.51.100.2 gusta je ali potpuno određena. U njoj ništa ne nedostaje i ne podrazumijeva se nikakva adresa usmjerivača.

Odsutnost via zanimljiv je dio. Bez sljedećeg skoka jezgra razrješava odredište izravno na navedenom sučelju, što za tunel znači predaju okvira tunelskom uređaju i prepuštanje inkapsulaciji da ga preuzme odatle. proto kernel bilježi da je zapis ugrađen automatski kad je adresa dodijeljena, a ne da ga je upisao administrator. scope link kaže da je odredište dostupno na toj vezi bez prolaska kroz usmjerivač, a src imenuje adresu koju će jezgra preferirati kao izvor za promet koji se podudara.

Sada pročitajte zadanu rutu na isti način: default via 192.0.2.254 dev eth0 proto static metric 100. Ovdje via postoji jer paket doista treba sljedeći skok, a taj skok mora i sam biti dostupan na eth0. Dvije linije nisu varijante jedna druge; one odgovaraju na različita pitanja o tome kamo promet ide.

Dva oblika ruta koja se međusobno brkaju

Ruta podmreže tunela i zadana ruta slično izgledaju na snimci zaslona, a ponašaju se posve različito. Upotrijebite tablicu u nastavku kao pomoć pri čitanju polja, a zatim potvrdite stvarne brojke na stroju koji ispravljate umjesto da vjerujete primjeru iz priručnika.

Piece of the lineWhat it settlesWhat it says nothing about
The destination and maskWhich packets are eligible to matchWhere those packets leave the host
via plus its addressWhich next hop receives them, and therefore that a router is involvedWhether that router is reachable or sane
devWhich interface carries the encapsulated or raw packetWhether the interface is up or has a carrier
proto and scopeWho installed the entry and how far the destination is considered to beWhether a firewall later drops the traffic

Ono što vam tablica ne može reći jest namjera. Izravna ruta prema privatnom rasponu kroz tunel namjeran je dizajn podijeljenog tuneliranja; isti oblik na hostu koji bi trebao sve slati kroz VPN simptom je. Namjera živi u konfiguraciji koja je stvorila zapis, pa pogledajte alat koji ga je ugradio prije nego zaključite da je jezgra nešto pogriješila.

Jednako tako, pristupnik koji nedostaje nije dopuštenje da ga izmislite. Ako ruta doista treba sljedeći skok, taj skok mora biti dostupan na sučelju koje ga nosi, a za tunel od točke do točke adresa para nije isti objekt kao lokalna adresa. Tretiranje lokalne adrese tunela kao Ethernet usmjerivača čest je način da se dobije ruta koja izgleda ispravno i ne prosljeđuje ništa.

Pitajte jezgru koju će liniju doista upotrijebiti

Čitanje tablice nije isto što i izvođenje pretrage, jer jezgra prije odgovora provjerava pravila politike, nekoliko tablica i predmemorirane zapise. Glagol koji izvodi stvarnu pretragu jest ip route get, i on ispisuje rutu kojom bi paket s tim svojstvima krenuo.

ip route get 203.0.113.37 from 198.51.100.2 iif tun0

Umetnite odredište do kojeg vam je doista stalo, a zatim dodajte from ili iif kad je promet odabran po izvoru ili proslijeđen, jer obična lokalna pretraga može odabrati drukčiji put od proslijeđenog klijenta. Odgovor imenuje sučelje, odabranu izvorišnu adresu i svaki sljedeći skok, a to su iste informacije s kojima bi paket u tom trenutku bio usmjeren.

Ako vas odgovor iznenadi, ispišite pravila prije bilo kakve izmjene: ip -4 rule show navodi ih po redu prioriteta, a VPN klijent koji ugrađuje vlastitu tablicu ili pravilo za označene pakete uopće se neće pojaviti u glavnoj tablici. Popisivanje svih tablica zatvara tu prazninu.

ip -4 route show table all | grep -E 'tun|default'

Provjerite podlogu prije nego zamijenite zadanu rutu

Vlastiti paketi tunela moraju doći do udaljene krajnje točke, a to čine kroz fizičko sučelje koristeći rutu koja je postojala prije uspostave VPN-a. Zamjena cijele zadane rute bez pričvršćivanja te krajnje točke šalje inkapsulirane pakete u tunel koji bi trebali izgraditi, i veza se ruši. Najprije potvrdite put do krajnje točke pretragom samo za njezinu adresu.

Držite tri stvari odvojenima kad radite izmjenu: rutu do krajnje točke koja mora ostati na fizičkom sučelju, privatne raspone koji trebaju ući u tunel i zadanu rutu koja odlučuje o svemu ostalom. Razdvojite ih tim redom, primijenite jednu po jednu i ponovno pokrenite pretragu nakon svakog koraka. Neuspjeli ping nakon toga sam po sebi dokazuje vrlo malo, jer dopuštenja, usmjeravanje odgovora, DNS i sama usluga svi stoje nizvodno od ispravne rute.

Zapišite četiri vrijednosti koje vam je linija dala prije izmjene: odredište, sljedeći skok ili njegovu odsutnost, uređaj i odabrani izvor. Ako kasnija promjena pomakne bilo koju od njih, znate koja je odluka zapravo promijenjena i možete obnoviti jedan zapis umjesto da nagađate o cijeloj tablici.

Povezani članci