Tunel se podigne, ikona postane zelena i lokalna mreža nestane: pisači, NAS i uredski usmjerivač prestanu odgovarati. FortiClient radi ono što je profil tražio. Pristupnik je poslao zadanu rutu, klijent ju je instalirao i svaki paket sada ima put u tunel. Popravak je izmjena tablice usmjeravanja s izmjenom DNS-a iza nje, a redoslijed tih izmjena odlučuje hoće li računalo završiti bolje ili gore.

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

Započnite čitanjem tablice umjesto sučelja klijenta. Na macOS-u netstat -rn ispisuje cijelu tablicu, a route -n get default navodi sučelje i metriku koji trenutačno pobjeđuju; na Linuxu par je ip route show i ip route get 8.8.8.8. Oba odgovaraju na jedno pitanje: koji će zapis prenijeti paket koji ne odgovara ničemu konkretnijem.

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

Zašto tunelska zadana ruta mora otići prva

Jezgra odabire najdulji odgovarajući prefiks, a kad je nekoliko ruta jednako specifično, odabire onu s najnižom metrikom. Klijent koji instalira 0.0.0.0/0 s boljom metrikom zato pobjeđuje na svakom odredištu bez brisanja izvorne zadane rute, i zato je fizička ruta još u tablici i još objašnjava prekid. Uklanjanje tunelske zadane rute prvo vraća prethodno ponašanje. Tek tada prefiksna ruta kroz tunel radi ono što je njezin autor namjeravao.

Dodavanje prefiksa prije tog koraka pogreška je koja daje napola ispravno računalo. Promet novog prefiksa slijedi tunel, a sve što nije na popisu također slijedi tunelsku zadanu rutu, pa ništa ne izgleda pokvareno dok netko ne otvori uslugu koju nitko nije dodao. Izbrišite, vratite, zatim dodajte i međustanje ostaje predvidljivo.

Slijed na macOS-u i na Linuxu

Na macOS-u slijed briše tunelsku zadanu rutu, vraća fizičku zadanu rutu i šalje jedan uredski prefiks natrag u tunel. Zamijenite ilustrativne nazive sučelja ovdje onima iz svoje tablice.

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 redoslijed koristi drugi alat: LAN pristupnik za zadanu rutu i tunelski uređaj za uredski prefiks. Stara naredba route još prihvaća staru sintaksu, ali ip route je oblik koji odgovara aktualnoj 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

Kad ruti treba sljedeći skok umjesto uređaja, uzmite peer iz izlaza klijenta. Pogađanje daje jednu od dvije pogreške i one znače različito: pogrešan pristupnik odmah daje network unreachable, a pogrešan tunelski cilj daje istek vremena. Pročitajte koju ste dobili prije nego ponovno promijenite naredbu.

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

Jedan prefiks rijetko pokriva posao. Poslužitelji aplikacija, upravljačke mreže, DMZ i sami DNS poslužitelji mogu svaki biti u drugom rasponu, zato popišite svaki raspon koji možete imenovati prije početka i testirajte pretragu uz svaki ping. Odredište otkriveno tijekom testa ono je koje se zaboravi u zapisu promjena. Ruta koja odgovara po adresi, ali pada po imenu, obično je problem razrješivača u kostimu usmjeravanja.

Razrješivač je zasebna odluka. Kad je profil poslao interne DNS poslužitelje, oduzimanje zadane rute može te adrese ostaviti nedostupnima za javna imena ili dostupnima samo kroz tunel, a oba stanja daju zbunjujuće djelomične rezultate. Usmjerite adrese razrješivača kroz tunel ili postavite razrješavanje po domeni tako da javne pretrage koriste lokalni razrješivač.

Linux SSL klijent ima kvar specifičan za polje koji vrijedi znati: tunel se spoji, uredski LAN odgovara, a jedan DMZ raspon ostaje mračan. Dio koji nedostaje je ruta za taj raspon kroz tunelski pristupnik, a pristupnik se razlikuje među računalima, pa je tvrdo kodirana adresa način na koji se slomi sljedeće prijenosno računalo. Izvedite ju iz stanja klijenta i držite naredbu samodokumentirajuć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 dvije vrijednosti prije pokretanja. peer je udaljeni kraj točka-na-točku tunela i to je adresa koja treba DMZ ruti; na usmjerenom tunelu ekvivalent je sučelje ili pristupnik koji klijent prijavljuje. Ako se ne pojavi nijedno, klijent nije u načinu koji ste pretpostavili.

Nakon sljedećeg povezivanja i kada prestati to raditi lokalno

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

Postoje dva trajna odgovora. Skripta koja ponovno pokreće ispravak nakon svakog povezivanja je zaobilazno rješenje koje može nadživjeti svog autora, dok je profil s podijeljenim tunelom od administratora pristupnika pravi popravak, jer tada klijent instalira samo raspone koji su poslu potrebni. Zatražite drugo i koristite prvo samo dok čekate. Provjerite i pravila s kojima ste se složili prije nego lokalno podijelite puni tunel, jer se udaljena mreža može oslanjati na to da vidi sav vaš promet.

Kontrolni popis je kratak: pročitajte tablicu, izbrišite tunelsku zadanu rutu, vratite LAN zadanu rutu, dodajte svaki prefiks, odvojeno popravite razrješavanje i očekujte da će se rute vratiti pri ponovnom povezivanju.

Povezani članci