FortiClient visas tunelis: maršrutizuokite tik biuro potinklį
VPN įdiegia numatytąjį maršrutą ir vietinis tinklas dingsta. Perskaitykite lentelę, atkurkite LAN numatytąjį maršrutą, pridėkite biuro priešdėlius ir tada sutvarkykite DNS.
Tunelis pakyla, piktograma tampa žalia ir vietinis tinklas dingsta: spausdintuvai, NAS ir biuro maršrutizatorius nustoja atsakinėti. FortiClient daro tai, ko paprašė profilis. Tinklo vartai išstūmė numatytąjį maršrutą, klientas jį įdiegė, ir dabar kiekvienas paketas turi kelią į tunelį. Taisymas yra maršrutų lentelės pakeitimas ir už jo esantis DNS pakeitimas, o šių pakeitimų tvarka lemia, ar mašina baigs geriau, ar blogiau.
Ką įdiegė klientas ir kodėl dingo LAN
Pradėkite nuo lentelės skaitymo, o ne nuo kliento sąsajos. macOS netstat -rn išspausdina visą lentelę, o route -n get default įvardija sąsają ir metriką, kurios šiuo metu laimi; Linux atveju pora yra ip route show ir ip route get 8.8.8.8. Abi atsako į vieną klausimą: kuris įrašas perneš paketą, kuris neatitinka nieko konkretesnio.
Tunelio įrenginio pavadinimas nėra fiksuotas. IKEv2 profilis macOS paprastai rodo utun su numeriu, SSL VPN klientas rodo ppp0, o OpenVPN rodo tun0. Du numatytieji maršrutai taip pat gali būti vienu metu su skirtingomis metrikomis, o kliento įrašas gali perimti valdymą tik po pakartotinio prisijungimo, o ne tą akimirką, kai pasirodo. Todėl du lentelės išrašai, paimti penkių minučių skirtumu, gali pasakoti skirtingas istorijas.
Kodėl tunelio numatytasis maršrutas turi išeiti pirmas
Branduolys parenka ilgiausią atitinkantį priešdėlį, o kai keli maršrutai yra vienodai konkretūs, parenka tą, kurio metrika mažiausia. Todėl klientas, įdiegiantis 0.0.0.0/0 su geresne metrika, laimi kiekvieną paskirties vietą neištrindamas pradinio numatytojo maršruto, ir todėl fizinis maršrutas vis dar yra lentelėje ir vis dar paaiškina sutrikimą. Pašalinus tunelio numatytąjį maršrutą pirmiausia, atkuriamas ankstesnis elgesys. Tik tada priešdėlio maršrutas per tunelį daro tai, ką jo autorius norėjo.
Priešdėlių pridėjimas prieš šį žingsnį yra klaida, dėl kurios mašina veikia pusiau. Naujo priešdėlio srautas seka tunelį, o viskas, kas neįtraukta į sąrašą, taip pat seka tunelio numatytąjį maršrutą, todėl niekas neatrodo sugedę, kol kas nors neatidaro paslaugos, kurios niekas nepridėjo. Ištrinkite, atkurkite, tada pridėkite, ir tarpinė būsena išlieka nuspėjama.
Veiksmų seka macOS ir Linux
macOS seka ištrina tunelio numatytąjį maršrutą, atkuria fizinį numatytąjį maršrutą ir grąžina vieną biuro priešdėlį į tunelį. Pakeiskite čia pateiktus iliustracinius sąsajų pavadinimus savo lentelės pavadinimais.
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 utun4Linux ta pati tvarka naudoja kitą įrankį: numatytajam maršrutui – LAN vartus, o biuro priešdėliui – tunelio įrenginį. Senoji route komanda vis dar priima seną sintaksę, bet ip route yra forma, atitinkanti dabartinę dokumentaciją.
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 tun0Kai maršrutui reikia kito šuolio, o ne įrenginio, paimkite peer iš kliento išvesties. Spėjimas duoda vieną iš dviejų klaidų, ir jos reiškia skirtingus dalykus: neteisingi vartai iš karto duoda network unreachable, o neteisingas tunelio taikinys duoda laiko limitą. Perskaitykite, kurią gavote, prieš vėl keisdami komandą.
Priešdėliai, resolveris ir DMZ, kuri lieka tamsi
Vienas priešdėlis retai apima visą darbą. Programų serveriai, valdymo tinklai, DMZ ir patys DNS serveriai gali būti kiekvienas kitame diapazone, todėl prieš pradėdami surašykite kiekvieną diapazoną, kurį galite įvardyti, ir prie kiekvieno ping išbandykite užklausą. Testo metu aptikta paskirties vieta yra ta, kuri pamirštama pakeitimų žurnale. Maršrutas, kuris atsako pagal adresą, bet nepavyksta pagal vardą, paprastai yra resolverio problema maršrutizavimo kostiumu.
Resolveris yra atskiras sprendimas. Kai profilis išstūmė vidinius DNS serverius, numatytojo maršruto pašalinimas gali palikti tuos adresus nepasiekiamus viešiems vardams arba pasiekiamus tik per tunelį, ir abi būsenos duoda klaidinančius dalinius rezultatus. Maršrutizuokite resolverio adresus per tunelį arba sukonfigūruokite sprendimą pagal domeną, kad viešos užklausos naudotų vietinį resolverį.
Linux SSL klientas turi konkrečiam laukui būdingą gedimą, kurį verta žinoti: tunelis prisijungia, biuro LAN atsako, o vienas DMZ diapazonas lieka tamsus. Trūkstama dalis yra maršrutas tam diapazonui per tunelio vartus, o vartai skiriasi priklausomai nuo mašinos, todėl kietai įrašytas adresas yra būdas, kuriuo sulūžta kitas nešiojamasis kompiuteris. Išveskite jį iš kliento būsenos ir palikite komandą savaime dokumentuojančią:
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"Perskaitykite dvi reikšmes prieš paleisdami. peer yra taško į tašką tunelio tolimasis galas, ir tai yra adresas, kurio reikia DMZ maršrutui; maršrutizuotame tunele atitikmuo yra sąsaja arba vartai, kuriuos praneša klientas. Jei nepasirodo nė vienas, klientas nėra režime, kurį numatėte.
Po kito prisijungimo ir kada nustoti tai daryti vietoje
FortiClient prisijungia iš naujo po miego ar tinklo pakeitimo ir iš naujo įdiegia tai, ką nurodo profilis. Todėl rankiniai maršrutai išlieka tik iki kito prisijungimo, ir tai yra būtent tas intervalas, kai vienas sėkmingas testas gali atrodyti kaip taisymas. Per naktį dingstantis maršrutas yra tikėtinas elgesys, o ne naujas gedimas.
Yra du ilgalaikiai atsakymai. Scenarijus, kuris pakartoja taisymą po kiekvieno prisijungimo, yra apėjimas, galintis pergyventi savo autorių, o skilto tunelio profilis iš tinklų vartų administratoriaus yra tikrasis taisymas, nes tada klientas įdiegia tik tuos diapazonus, kurių reikia darbui. Paprašykite antrojo, o pirmąjį naudokite tik laukdami. Taip pat patikrinkite politiką, kuriai pritarėte, prieš vietoje skaidydami visą tunelį, nes nuotolinis tinklas gali kliautis matydamas visą jūsų srautą.
Kontrolinis sąrašas trumpas: perskaitykite lentelę, ištrinkite tunelio numatytąjį maršrutą, atkurkite LAN numatytąjį maršrutą, pridėkite kiekvieną priešdėlį, atskirai sutvarkykite sprendimą ir tikėkitės, kad maršrutai grįš po pakartotinio prisijungimo.