Hali ya VPN kwenye macOS kutoka terminal: scutil, njia au ping
Hali ya huduma, njia ya kernel na ombi halisi hujibu maswali matatu tofauti. Andika script kulingana na kitambulisho cha huduma na angalia pia njia.
Mahali fulani katika script ya uwekaji kuna ukaguzi ikiwa handaki iko hai kabla ya kunakili kuanza. Majibu matatu yanapatikana, na hayamaanishi kitu kimoja: hali ya huduma ambayo scutil anaripoti, njia ambayo kernel ilichagua, na ikiwa upande wa pili unajibu kweli. Kuyalinganisha ni tofauti kati ya ukaguzi unaotabiri unakili na ule unaopamba tu kumbukumbu.
Majibu matatu kwa swali ikiwa VPN iko hai
Hali ya huduma ni ukweli wa ndege ya udhibiti. macOS inajua usanidi umeunganishwa kwa sababu mchakato wake wa mteja ulisema hivyo. Njia ni ukweli wa ndege ya data: kernel itatuma lengo hili kupitia kiolesura hicho. Ufikivu ni ukweli kutoka mwisho hadi mwisho, na unaweza kushindwa kwa sababu ambazo hakuna mmoja wa wengine wawili anaziona.
| Signal | Answers | Blind spot |
|---|---|---|
scutil --nc status | Is the service connected? | Third-party clients, wrong routes |
route -n get | Where would this go? | The peer may be down |
| A request to the far side | Does it work now? | Slow, and it changes state |
Ukaguzi muhimu unachanganya mawili ya kwanza na kutumia ya tatu kama uthibitisho kwamba mawili mengine hayakusema uongo. Kila moja peke yake ni dhana yenye muhuri wa muda.
Soma kitambulisho, sio jina linaloonyeshwa
scutil --nc list
scutil --nc status "Office"
Orodha inachapisha mstari mmoja kwa kila huduma, na kila mstari hubeba hali katika mabano, kisha kitambulisho cha huduma, aina na jina linaloonyeshwa. Andika script kulingana na kitambulisho, kwa sababu jina linaloonyeshwa ni lile ambalo mtu aliandika katika Mipangilio ya Mfumo na linaweza kubadilika bila taarifa. Amri ya hali inachapisha neno moja, na kwa aina fulani za huduma takwimu baada yake; linganisha neno hilo la kwanza badala ya kutafuta jina katika matokeo yote, ambalo pia linaonekana mahali pengine.
Kuanzisha huduma kunaweza kuleta ombi la idhini au kukataliwa moja kwa moja wakati wasifu unasimamiwa. Kukataliwa huko sio hitilafu ya handaki; ni tamko la sera kuhusu nani anaweza kuinua.
Mteja wa mtu wa tatu anajificha kutoka kwenye orodha
Orodha tupu haimaanishi hakuna VPN. Usanidi ulioundwa katika mipangilio ya mtandao ya mfumo yenyewe unaonekana hapa; mteja wa muuzaji, wasifu wa usimamizi au programu ya mtu wa tatu inaweza kushikilia handaki hai ambayo amri hii haioni kamwe. Zana yake yenyewe ni mamlaka kwa huduma yake yenyewe. Kuuliza scutil kuhusu mteja ambaye hakuwahi kujisajili kwake hakurudishi kitu, na kitu sio jibu sawa na kukatwa.
Wakati orodha ni tupu lakini trafiki imesimbwa kwa njia fiche waziwazi, tafuta kiolesura: kifaa cha utun au ppp chenye anwani katika masafa yanayotarajiwa ni ushahidi kwamba kitu kiliweka handaki. Hiyo ni ishara dhaifu kuliko hali ya huduma, kwa hiyo ichanganye na ukaguzi wa njia badala ya kuchukua kiolesura kama ushahidi wa utambulisho. Wateja kadhaa wanaweza kuunda violesura kadhaa kama hivyo, na kimoja tu kati yao ni cha handaki uliyokusudia.
Hali sio uelekezaji
Huduma iliyounganishwa inasema handaki ipo. Haisemi kwamba lengo lako inaitumia. Soma anwani, kisha uliza kernel moja kwa moja:
ifconfig | grep -A4 utun
netstat -rn -f inet
route -n get 10.40.0.20
Mteja wa handaki kamili huweka njia ya msingi kupitia handaki; mteja wa handaki iliyogawanywa huweka viambishi maalum vya kibinafsi. Wote wanaripoti Connected, na script inayokagua hali tu itakimbia kwa furaha kwenye njia isiyo sahihi. Kusimamisha handaki hakuondoi lazima njia zilizowekwa na mteja mwingine, na hiyo ni moja ya njia ambazo mashine huishia na huduma iliyounganishwa na njia ya zamani kwa wakati mmoja. Angalia lengo linalokuhusu, sio jedwali lote la njia.
Uwekaji majina ni tatizo tofauti
Mashine zingine haziwezi kufikia Mac kwa jina wakati anwani yake inafanya kazi, na hilo linaripotiwa kama hitilafu ya VPN. Jina la mwenyeji wa ndani, jina la mwenyeji na rekodi ya DNS ni mambo matatu tofauti. scutil --get LocalHostName inaonyesha jina la Bonjour; sudo scutil --set HostName mac-office huweka jina ambalo mfumo unaripoti.
Hakuna moja ya mipangilio hiyo inaunda rekodi katika eneo la ofisi. Ikiwa wenyeji wengine wanapaswa kutatua jina kupitia DNS, mmiliki wa eneo lazima aiongeze, au script inapaswa kutumia anwani badala yake. Kuweka jina thabiti hufanya matangazo kuwa sawa; haifanyi kitatuzi kujibu.
Andika pamoja katika script kitambulisho cha huduma na umbo linalotarajiwa la njia, na angalia zote mbili kabla ya kunakili. Handaki iliyo hai lakini iliyoelekezwa upande usiofaa inashindwa sawasawa na hakuna handaki, na mstari wa kumbukumbu unaosema Connected utampeleka mtu anayefuata kutafuta mahali pasipo sahihi.