Maci VPN jääb kinni olekusse „Katkestamine“: mis tegelikult töötab
Katkestamine on üleminek, mitte peatunud tunnel. Kontrollige, milline komponent haldab lammutamist, lugege marsruute ja DNS-i ning vältige laiaulatuslikku protsesside tapmist.
„Katkestamine“ on olek, mida klient teatab tunneli lammutamise ajal, mitte otsus, et liiklus on peatunud. Macis kulgeb see lammutamine lühikese järjestusena ja silt muutub alles siis, kui ühendust omav komponent annab vastuse. Kui mõni samm ootab abiprogrammi, pistikprogrammi või poliitika otsust, võib silt jääda paigale ka pärast liidese kadumist või tunnel võib edasi edastada, samal ajal kui menüü seda veel näitab. Käsitlege teksti kui „lammutamine käib, tulemus teadmata“ ja tehke kindlaks, kumb pool on tõene.
Kaks riket näevad menüüribalt ühesugused välja ja nõuavad vastupidiseid reaktsioone. Ühel juhul kannab tunnel endiselt pakette ja ainult kuvamine on aegunud. Teisel juhul on tunnel kadunud, kuid eraldi poliitika hoiab liiklust blokeerituna, mis on sageli tahtlik. Marsruudid ja DNS-i olek eristavad neid kiiremini kui ükski menüütoiming.
Mida silt jälgib
VPN-klient hoiab väikest olekumasinat ja menüüriba on selle projektsioon. Ühendusel, mida haldab macOS ise, asub see masin süsteemi VPN-raamistikus. Rakenduse hallatava tunneli puhul asub see rakenduses ja selle privilegeeritud abiprogrammis. Peatamise viimane samm ei ole sokli sulgemine. See on selle vabastamine, mis tegi tunneli toimivaks: utun-liides, sellele osutanud marsruudid, kliendi sisestatud resolver-kirjed ja iga tulemüürireegel või poliitika, mis blokeeris liiklust ühenduse ajal.
Need sammud on eraldi, seega võib peatamine takerduda ükskõik millise juures. Vastamise lõpetav abiprogramm, marsruut, mida nõuab ka teine liides, või resolver-kirje, mida omab teine profiil, võivad jätta kliendi ootama. Silt on aruanne kliendi enda edenemisest, mis teeb selle kavatsuse suhtes autoriteetseks ja võrgu suhtes ebausaldusväärseks.
Leidke komponent, mis ühendust omab
Päris konfiguratsioonide puhul prindib scutil --nc list teenused, mida süsteem teab, ja nende oleku, ning scutil --nc status "Work VPN" annab ühe teenuse üksikasjad. Kolmandate osapoolte rakenduse hoitav tunnel ei pruugi sellesse loendisse üldse ilmuda, seega tühi tulemus ei ole tõestus, et midagi pole ühendatud.
Kui profiil kuulub rakendusele, toetuge selle olekuvaatele ja dokumenteeritud „Katkesta“ juhtelementi. Akna sulgemine ei ole peatamispalve, kui taustal töötav abiprogramm omab tunnelit; ikoon kaob ja abiprogramm hoiab liidest elus. Apple'i VPN-i seadete viide käsitleb päris juhtelemendid ja seda, kust hallatavad seaded pärinevad.
Lugege liideseid, marsruute ja DNS-i
Kolm kontrolli vastavad suuremale osale küsimusest ilma ühendust puutumata. Oluline on tõlgendada neid koos, sest igaüks üksi eksitab.
scutil --nc list
netstat -rn -f inet | head -20
ifconfig | grep -A 3 '^utun'
scutil --dns | head -30
- utun-liides on olemas, selle kaudu käib vaike- või jaotatud marsruut, resolver osutab teenusepakkujale: tunnel on endiselt üleval ja silt on aegunud.
- utun puudub, tavaline vaikemarsruut, DNS DHCP-st, internetti pole: poliitika, mis blokeerib ühenduse katkemisel, teeb oma tööd.
- utun puudub, marsruut puudub, resolver osutab endiselt teenusepakkujale: lammutamine peatus poolel teel ja DNS on jääk, mis tuleb ära koristada.
Seejärel saatke üks päring sisemisele hostile, mis peaks vastama ainult tunneli kaudu, ja üks avalikule hostile. Kättesaadavus eristab poliitikat jääkolekust ilma, et kontroll muutuks mõõtmisharjutuseks. Kui tee veel vastab, salvestage esmalt kaugtöö ja korraldage teine sissepääs enne, kui muudate võrguseadeid masinal, mida administreerite kaugelt.
Miks laiaulatuslik tapmine ja profiili kustutamine eksitavad
Protsessinimed nagu pppd, racoon ja configd kuuluvad kindlatele teostustele. Nende tapmine võib mõjutada teisi ühendusi, jätab maha marsruudid ja utun-liidesed ega anna teile kirjet selle kohta, milline samm takerdus. Vana protsessinimi ei ole ka tõestus, et see omab praegust profiili.
Profiili kustutamine ja uuesti loomine on suurem muudatus kui kinni jäänud ülemineku puhastamine. See võib ära visata hallatavad seaded ja kohaliku identiteedimaterjali, selgitamata, mis ebaõnnestus, ja järelevalvega Macis võidakse see lihtsalt taastada. Jätke eemaldamine tõeliselt vananenud konfiguratsiooni jaoks ja diagnoosige selle asemel üleminekut.
Peatamise järjestus, mis jätab jälje
Alljärgnev järjekord jätab ühenduse enda juhtelemendid vastutavaks ja loob kirje, kui takerdumine naaseb. See hoiab teid ka selle eest muuta kuvamisprobleem võrgu muudatuseks.
- Salvestage kaugtöö ja kinnitage, et pääsete Macile teisiti ligi, kui see on kaugel.
- Märkige üles kliendi nimi, versioon ja profiil. Jäädvustage lühike aken käsuga
log show --last 5m --predicate 'subsystem == "com.apple.networkextension"'; vanemad väljalasked hoiavad vähem ajalugu, seega käivitage see kohe pärast takerdumist. - Kasutage dokumenteeritud „Katkesta“ juhtelementi, oodake ja korrake seejärel liidese ja marsruutide kontrolle.
- Kui silt on aegunud, kuid tunnel on maas, jätke see ja laske kliendil värskendada, selle asemel et protsesse sundida.
- Kui lammutamine tõesti takerdus, taaskäivitage klient ja seejärel plaanige Maci taaskäivitust, kui töö on salvestatud. Hallatavad masinad nõuavad administraatori protseduuri.
Pärast taastumist kinnitage, et tavaline vaikemarsruut ja DHCP resolver on tagasi ning et blokeeritud liiklus on kas taastatud või jääb tahtlikult blokeerituks. Märkige üles profiil ja kliendi versioon koos sümptomiga, et järgmine juhtum algaks tõenditest, mitte menüüriba oletusest.