„Atjungiama“ yra būsena, kurią klientas praneša ardydamas tunelį, o ne nuosprendis, kad srautas sustojo. „Mac“ kompiuteryje tas ardymas vyksta kaip trumpa seka, o žymė pasikeičia tik tada, kai ryšį valdantis komponentas atsako. Kai kuris nors žingsnis laukia pagalbinės programos, papildinio ar politikos sprendimo, žymė gali likti vietoje po to, kai sąsaja išnyko, arba tunelis gali toliau persiųsti, kol meniu jį vis dar rodo. Vertinkite tekstą kaip „ardymas vyksta, rezultatas nežinomas“ ir išsiaiškinkite, kuri pusė teisinga.

Dvi gedimų rūšys meniu juostoje atrodo vienodai ir reikalauja priešingų veiksmų. Vienoje tunelis vis dar neša paketus ir tik rodymas pasenęs. Kitoje tunelio nebėra, bet atskira politika palieka srautą užblokuotą, o tai dažnai daroma tyčia. Maršrutai ir DNS būsena juos atskiria greičiau nei bet kokia meniu operacija.

Ką seka žymė

VPN klientas laiko mažą būsenos mašiną, o meniu juosta yra jos projekcija. Ryšiui, kurį valdo pati „macOS“, ta mašina yra sistemos VPN karkase. Programos valdomam tuneliui ji yra programoje ir jos privilegijuotoje pagalbinėje programoje. Paskutinis sustabdymo žingsnis nėra lizdo uždarymas. Tai yra to, kas leido tuneliui veikti, atlaisvinimas: utun sąsajos, į ją nukreiptų maršrutų, kliento įterptų resolverių įrašų ir bet kurios ugniasienės taisyklės ar politikos, kuri blokavo srautą ryšio metu.

Tie žingsniai yra atskiri, todėl sustabdymas gali įstrigti bet kuriame iš jų. Pagalbinė programa, kuri nustoja atsakinėti, maršrutas, į kurį pretenduoja ir antroji sąsaja, ar resolverio įrašas, priklausantis kitam profiliui, gali palikti klientą laukiant. Žymė yra ataskaita apie paties kliento eigą, todėl ji autoritetinga ketinimo atžvilgiu ir nepatikima tinklo atžvilgiu.

Raskite komponentą, kuris valdo ryšį

Vietinėse konfigūracijose scutil --nc list išspausdina paslaugas, kurias sistema žino, ir jų būseną, o scutil --nc status "Work VPN" pateikia vienos paslaugos detales. Trečiosios šalies programos laikomas tunelis tame sąraše gali visai neatsirasti, todėl tuščias rezultatas nėra įrodymas, kad niekas neprijungta.

Kai profilis priklauso programai, pasikliaukite jos būsenos rodiniu ir dokumentuotu valdikliu „Atjungti“. Langą uždaryti nėra sustabdymo prašymas, jei tunelį valdo foninė pagalbinė programa; piktograma dingsta, o pagalbinė programa palaiko sąsają gyvą. „Apple“ VPN nustatymų nuoroda apima vietinius valdiklius ir tai, iš kur ateina valdomi nustatymai.

Skaitykite sąsajas, maršrutus ir DNS

Trys patikros atsako į didžiąją dalį klausimo neliečiant ryšio. Svarbu jas aiškinti kartu, nes kiekviena atskirai klaidina.

scutil --nc list
netstat -rn -f inet | head -20
ifconfig | grep -A 3 '^utun'
scutil --dns | head -30
  • utun sąsaja yra, per ją eina numatytasis arba padalytas maršrutas, resolveris rodo į tiekėją: tunelis dar pakeltas, o žymė pasenusi.
  • utun nėra, įprastas numatytasis maršrutas, DNS iš DHCP, nėra interneto: politika, blokuojanti atsijungus, daro savo darbą.
  • utun nėra, maršruto nėra, resolveris vis dar rodo į tiekėją: ardymas sustojo pusiaukelėje, o DNS yra likutis, kurį reikia išvalyti.

Tada nusiųskite vieną užklausą vidiniam hostui, kuris turėtų atsakyti tik per tunelį, ir vieną viešam hostui. Pasiekiamumas atskiria politiką nuo likutinės būsenos nepaverčiant patikros matavimo pratimu. Jei kelias dar atsako, pirmiausia išsaugokite nuotolinį darbą ir pasirūpinkite antru įėjimo keliu prieš keisdami tinklą mašinoje, kurią administruojate nuotoliniu būdu.

Kodėl platus žudymas ir profilio trynimas klaidina

Procesų pavadinimai, tokie kaip pppd, racoon ir configd, priklauso konkrečioms implementacijoms. Jų žudymas gali paveikti kitus ryšius, palieka maršrutus ir utun sąsajas, ir nesuteikia jokio įrašo, kuriame žingsnyje įstrigo. Senas proceso pavadinimas taip pat nėra įrodymas, kad jis valdo dabartinį profilį.

Profilio trynimas ir kūrimas iš naujo yra didesnis pokytis nei įstrigusio perėjimo išvalymas. Jis gali išmesti valdomus nustatymus ir vietinę tapatybės medžiagą nepaaiškinęs, kas nepavyko, o prižiūrimame „Mac“ jis gali būti tiesiog atkurtas. Palikite trynimą tikrai pasenusiai konfigūracijai ir vietoj to diagnozuokite perėjimą.

Sustabdymo seka, kuri palieka pėdsaką

Toliau pateikta tvarka palieka paties ryšio valdiklius atsakingus ir sukuria įrašą, jei įstrigimas sugrįš. Ji taip pat apsaugo nuo to, kad rodymo problemą paverstumėte tinklo pakeitimu.

  1. Išsaugokite nuotolinį darbą ir patvirtinkite, kad pasieksite „Mac“ kitu būdu, jei jis nuotolinis.
  2. Užsirašykite kliento pavadinimą, versiją ir profilį. Užfiksuokite trumpą langą su log show --last 5m --predicate 'subsystem == "com.apple.networkextension"'; senesnės versijos saugo mažiau istorijos, todėl paleiskite tai netrukus po įstrigimo.
  3. Naudokite dokumentuotą valdiklį „Atjungti“, palaukite, tada pakartokite sąsajos ir maršrutų patikras.
  4. Jei žymė pasenusi, bet tunelis nuleistas, palikite ją ir leiskite klientui atsinaujinti, o ne verskite procesus.
  5. Jei ardymas tikrai įstrigo, paleiskite klientą iš naujo, tada suplanuokite „Mac“ paleidimą iš naujo, kai darbas bus išsaugotas. Valdomoms mašinoms reikia administratoriaus procedūros.

Po atkūrimo patvirtinkite, kad įprastas numatytasis maršrutas ir DHCP resolveris sugrįžo, o užblokuotas srautas arba atkurtas, arba tyčia vis dar blokuojamas. Užrašykite profilį ir kliento versiją kartu su simptomu, kad kitas atvejis prasidėtų nuo įrodymų, o ne nuo spėjimo meniu juostoje.

Susiję straipsniai