Kas iš tikrųjų pasikeičia perjungiant išsaugotas VPN konfigūracijas macOS
Išsaugoto „Mac“ VPN perjungimas nėra profilio keitimas. Pažiūrėkite, kas keičiasi maršrutuose, DNS ir prisijungimo duomenyse, ir kaip patikrinti tunelį, kurį tikrai gavote.
Atidarote VPN sąrašą, pasirenkate kitą išsaugotą įrašą ir tikitės švaraus perjungimo: naujo išėjimo adreso, o visa kita nepakinta. Būtent šios prielaidos pirmiausia reikėtų atsisakyti. „macOS“ išsaugotas VPN yra visavertė tinklo paslauga, o ne išankstinis nustatymas, todėl perjungus paslaugas gali vienu metu pasikeisti maršrutizavimas, DNS ir autentifikavimas. Meniu juosta rodo, kuri paslauga aktyvi; ji nepasako, ar po ja esantis tunelis atitinka tai, ko norėjote.
Išsaugotas sąrašas nėra profilio parinkiklis
Kiekvienas įrašas skiltyje „Sistemos nustatymai“ > „Tinklas“ yra atskira paslauga su savo serverio adresu, paskyra, autentifikavimo metodu, DNS serveriais ir parinktimis, pavyzdžiui, „Siųsti visą srautą per VPN ryšį“. Senesnėse versijose tas pats sąrašas yra „Sistemos nuostatose“. Du įrašai gali rodyti tą patį prieglobos vardą ir vis tiek elgtis skirtingai, nes protokolas arba kliento plėtinys nusprendžia, kaip statomas tunelis.
Trečiųjų šalių klientai turi atskirus sąrašus. „Tunnelblick“ skaito konfigūracijas iš savo aplanko, „WireGuard“ laiko savo tunelių sąrašą, o „OpenVPN Connect“ saugo profilius programėlės viduje. Kai kurie įregistruoja konfigūraciją sistemoje; kiti viską laiko programėlėje ir niekada neatsiranda integruotame sąraše. Todėl „perjungti į išsaugotą“ reiškia skirtingus veiksmus priklausomai nuo to, kuri programėlė valdo profilį.
scutil --nc list išspausdina sistemos konfigūracijoje įregistruotas VPN paslaugas su pavadinimais kabutėse. Skriptuodami perjungimą naudokite būtent šiuos pavadinimus ir nemanau, kad sąrašas apima kiekvieną trečiosios šalies tunelį.
Ką perjungimas iš tikrųjų pakeičia
Keturi dalykai juda kartu, kai pasikeičia aktyvi paslauga. Numatytoji trajektorija seka naują tunelį, jei ta paslauga siunčia visą srautą; sprendiklių sąrašas pasikeičia į paslaugos nurodytus DNS serverius; nauji ryšiai kaip šaltinį ima naują tunelio adresą; o naudojami prisijungimo duomenys priklauso naujai paslaugai. Vietinė konfigūracija ir programėlės profilis nėra keičiami, net kai abu baigiasi tame pačiame šliuze.
| What you assume | What the system does |
|---|---|
| Same server name means same tunnel | Protocol, certificate and account are per service |
| All traffic follows the active VPN | Only when Send all traffic over VPN is on |
| DNS switches with the VPN | Only if that service defines DNS servers |
| Disconnect ends the connection | On Demand or a management profile can reconnect |
| Open sessions survive the switch | TCP sessions tied to the old address stall |
DNS dalis dažniausiai nustebina. „macOS“ palaiko sprendiklių tvarką, o scutil --dns rodo, kurie sprendikliai naudojami ir kuriame sąsaje. VPN paslauga be nustatytų DNS serverių gali palikti atsakinėti „Wi-Fi“ sprendiklį, tad gausite naują viešą adresą su senu DNS elgesiu ir padarysite išvadą, kad perjungimas suveikė pusiau.
Kodėl senoji konfigūracija vis grįžta
Jei atsijungsite, o ta pati paslauga po akimirkos vėl prisijungs, pirmiausia pažiūrėkite į „On Demand“. Ryšio pagal poreikį taisyklė gali sugrąžinti paslaugą, kai programėlė išsprendžia atitinkamą domeną, o valdymo profilis gali primesti tą pačią taisyklę. Įrašo trynimas tai retai ištaiso: profiliu įdiegta konfigūracija paprastai grįžta per kitą profilio atnaujinimą, o rankinė gali palikti savo slaptažodį „Keychain“ programoje, kai paslaugos jau nebėra.
Antros paslaugos paleidimas ne visada sustabdo pirmąją. Priklausomai nuo kliento ir protokolo galite likti su dviem tuneliais ir dviem maršrutų rinkiniais, o eismą neša ne paskutinis paspaustas simbolis, o paslaugų tvarka ir maršruto specifiškumas. Prieš manydami, kad perjungimas įvyko, patikrinkite sąsajas.
Patikrinkite tunelį, o ne varnelę
Prieš liedami nustatymus, pereikite per pačios sistemos vaizdą.scutil --nc status "Name" praneša, ką sistema mano;ifconfig rodo, ar sąsaja utun turi adresą;netstat -rn -f inet rodo, kur nukreipta numatytoji trajektorija;scutil --dns rodo iš tikrųjų naudojamą sprendiklį. Tada atidarykite naują ryšį ir patvirtinkite išėjimo adresą, nes jau prisijungęs puslapis gali vis dar naudoti lizdą, susietą su senu tuneliu.
Jei DNS vis dar atsako iš vietinio tinklo, palyginkite paslaugos nustatytus serverius su sprendiklių sąrašu. Jei numatytoji trajektorija vis dar rodo į fizinę sąsają, paslauga veikia skaidytame tunele arba nėra visiškai prisijungusi. Abu atvejai yra konfigūracijos rezultatas, o ne sugadinto kliento įrodymas.
Perjungimo tvarka, kuri išvengia netikėtumų
- Užsirašykite dabartinę paslaugą ir ar ją valdo profilis.
- Pirmiausia ją atjunkite, kai du tuneliai negali egzistuoti kartu.
- Prisijunkite prie tikslo ir laukite „Prisijungta“, o ne „Jungiamasi“.
- Patikrinkite numatytąją trajektoriją, sprendiklių sąrašą ir naują išėjimo adresą.
- Paleiskite iš naujo programėles, laikančias ilgas sesijas.
Laikykite seną įrašą, kol naujasis praeis šiuos patikrinimus, ir kiekvienam įrašui duokite atskirą pavadinimą; vienodi žymėjimai apsunkina kito gedimo priskyrimą. „Apple“ „Mac“ žinynas aprašo vietinę pusę VPN ryšio nustatymas „Mac“ kompiuteryje, tai nuoroda, kurią reikia patikrinti prieš redaguojant valdomą konfigūraciją.
Jei pasirinkimas grįžta atgal, pirmiausia traktuokite tai kaip politiką arba „On Demand“. Patvirtinkite, kam priklauso konfigūracija ir ar ji nustatyta prisijungti automatiškai, tada nuspręskite, ar keičiate paslaugą, ar kovojate su profiliu.