Tunel se podigne, ikonica postane zelena i lokalna mreža nestane: štampači, NAS i kancelarijski ruter prestanu da odgovaraju. FortiClient radi ono što je profil tražio. Gejtvej je poslao podrazumevanu rutu, klijent ju je instalirao i svaki paket sada ima put u tunel. Popravka je izmena tabele ruta sa izmenom DNS-a iza nje, a redosled tih izmena odlučuje da li će mašina završiti bolje ili gore.

Šta je klijent instalirao i zašto je LAN nestao

Počnite čitanjem tabele umesto interfejsa klijenta. Na macOS-u netstat -rn ispisuje celu tabelu, a route -n get default imenuje interfejs i metriku koji trenutno pobeđuju; na Linuxu par je ip route show i ip route get 8.8.8.8. Oba odgovaraju na jedno pitanje: koji će zapis nositi paket koji se ne poklapa ni sa čim konkretnijim.

Naziv tunelskog uređaja nije fiksan. IKEv2 profil na macOS-u obično prikazuje utun sa brojem, klijent SSL VPN prikazuje ppp0, a OpenVPN prikazuje tun0. Dve podrazumevane rute mogu biti prisutne i istovremeno sa različitim metrikama, a klijentski zapis može preuzeti kontrolu tek posle ponovnog povezivanja, a ne u trenutku pojavljivanja. Zato dva ispisa tabele uzeta u razmaku od pet minuta mogu pričati različite priče.

Zašto tunelska podrazumevana ruta mora prva da ode

Jezgro bira najduži odgovarajući prefiks, a kada je nekoliko ruta jednako specifično, bira onu sa najnižom metrikom. Klijent koji instalira 0.0.0.0/0 sa boljom metrikom zato pobeđuje na svakom odredištu bez brisanja izvorne podrazumevane rute, i zato je fizička ruta još u tabeli i još objašnjava prekid. Uklanjanje tunelske podrazumevane rute prvo vraća prethodno ponašanje. Tek tada prefiksna ruta kroz tunel radi ono što je njen autor nameravao.

Dodavanje prefiksa pre tog koraka greška je koja daje napola ispravnu mašinu. Saobraćaj novog prefiksa prati tunel, a sve što nije na spisku takođe prati tunelsku podrazumevanu rutu, pa ništa ne izgleda pokvareno dok neko ne otvori uslugu koju niko nije dodao. Izbrišite, vratite, zatim dodajte i međustanje ostaje predvidljivo.

Sled na macOS-u i na Linuxu

Na macOS-u sled briše tunelsku podrazumevanu rutu, vraća fizičku podrazumevanu rutu i šalje jedan kancelarijski prefiks natrag u tunel. Zamenite ilustrativne nazive interfejsa ovde onima iz svoje tabele.

sudo route delete -net default -interface utun4
sudo route add -net 0.0.0.0 -interface en0
sudo route add -net 10.20.0.0 -netmask 255.255.0.0 -interface utun4

Na Linuxu isti redosled koristi drugi alat: LAN gejtvej za podrazumevanu rutu i tunelski uređaj za kancelarijski prefiks. Stara naredba route još prihvata staru sintaksu, ali ip route je oblik koji odgovara aktuelnoj dokumentaciji.

sudo ip route del default dev tun0
sudo ip route add default via 192.168.50.1
sudo ip route add 10.20.0.0/16 dev tun0

Kada ruti treba sledeći skok umesto uređaja, uzmite peer iz izlaza klijenta. Pogađanje daje jednu od dve greške i one znače različito: pogrešan gejtvej odmah daje network unreachable, a pogrešan tunelski cilj daje istek vremena. Pročitajte koju ste dobili pre nego ponovo promenite naredbu.

Prefiksi, razrešivač i DMZ koji ostaje mračan

Jedan prefiks retko pokriva posao. Aplikacioni serveri, upravljačke mreže, DMZ i sami DNS serveri mogu svaki biti u drugom opsegu, zato popišite svaki opseg koji možete imenovati pre početka i testirajte pretragu uz svaki ping. Odredište otkriveno tokom testa ono je koje se zaboravi u zapisu promena. Ruta koja odgovara po adresi, ali pada po imenu, obično je problem razrešivača u kostimu usmeravanja.

Razrešivač je zasebna odluka. Kada je profil poslao interne DNS servere, oduzimanje podrazumevane rute može te adrese ostaviti nedostupnima za javna imena ili dostupnima samo kroz tunel, a oba stanja daju zbunjujuće delimične rezultate. Usmerite adrese razrešivača kroz tunel ili postavite razrešavanje po domenu tako da javne pretrage koriste lokalni razrešivač.

Linux SSL klijent ima kvar specifičan za polje koji vredi znati: tunel se poveže, kancelarijski LAN odgovara, a jedan DMZ opseg ostaje mračan. Deo koji nedostaje je ruta za taj opseg kroz tunelski gejtvej, a gejtvej se razlikuje među mašinama, pa je tvrdo kodirana adresa način na koji se slomi sledeći laptop. Izvedite ju iz stanja klijenta i držite naredbu samodokumentujućom:

PEER=$(ip -4 addr show dev ppp0 | awk '/peer/ {print $4}' | cut -d/ -f1)
sudo ip route add 192.168.30.0/24 via "$PEER"

Pročitajte dve vrednosti pre pokretanja. peer je udaljeni kraj tunela od tačke do tačke i to je adresa koja treba DMZ ruti; na rutiranom tunelu ekvivalent je interfejs ili gejtvej koji klijent prijavljuje. Ako se ne pojavi nijedno, klijent nije u režimu koji ste pretpostavili.

Posle sledećeg povezivanja i kada prestati to raditi lokalno

FortiClient se ponovo povezuje posle spavanja ili promene mreže i ponovo instalira sve što profil nalaže. Ručne rute zato prežive samo do sledećeg povezivanja, a to je upravo interval u kojem jedan uspešan test može izgledati kao popravka. Ruta koja nestane preko noći očekivano je ponašanje, a ne nova greška.

Postoje dva trajna odgovora. Skripta koja ponovo pokreće ispravku posle svakog povezivanja je zaobilazno rešenje koje može nadživeti svog autora, dok je profil sa podeljenim tunelom od administratora gejtveja prava popravka, jer tada klijent instalira samo opsege koji su poslu potrebni. Zatražite drugo i koristite prvo samo dok čekate. Proverite i pravila sa kojima ste se složili pre nego lokalno podelite puni tunel, jer se udaljena mreža može oslanjati na to da vidi sav vaš saobraćaj.

Kontrolna lista je kratka: pročitajte tabelu, izbrišite tunelsku podrazumevanu rutu, vratite LAN podrazumevanu rutu, dodajte svaki prefiks, odvojeno popravite razrešavanje i očekujte da će se rute vratiti pri ponovnom povezivanju.

Povezani članci