VPN на Mac заглавен на „Се исклучува“: што навистина работи
Исклучувањето е премин, а не запрен тунел. Проверете кој компонент го поседува расклопувањето, прочитајте ги рутите и DNS и избегнувајте масовно убивање процеси.
„Се исклучува“ е состојба што клиентот ја пријавува додека расклопува тунел, а не пресуда дека сообраќајот запрел. На Mac тоа расклопување се одвива како кратка низа, и ознаката се менува само откако компонентата што го поседува поврзувањето ќе одговори. Кога некој чекор чека помошник, додаток или одлука за политика, ознаката може да остане таму откако интерфејсот ќе исчезне, или тунелот може да продолжи да препраќа додека менито сѐ уште го покажува. Третирајте го текстот како „расклопување во тек, исходот е непознат“ и утврдете која половина е вистинита.
Две грешки изгледаат исто од мени-лентата и бараат спротивни реакции. Во едната тунелот сѐ уште носи пакети и само приказот е застарен. Во другата тунелот го нема, но посебна политика го држи сообраќајот блокиран, што често е намерно. Рутите и состојбата на DNS ги делат побрзо од која било акција во менито.
Што следи ознаката
VPN клиентот држи мала машина на состојби, а мени-лентата е нејзина проекција. Кај поврзување што го управува самиот macOS, таа машина се наоѓа во системската рамка за VPN. Кај тунел што го управува апликација, таа е во апликацијата и нејзиниот привилегиран помошник. Последниот чекор на запирањето не е затворање гнездо. Тоа е ослободување на она што го правеше тунелот функционален: интерфејсот utun, рутите што покажуваа кон него, записите на разрешувачот што ги внесе клиентот и секое правило на огнен ѕид или политика што го блокираше сообраќајот додека поврзувањето беше активно.
Овие чекори се одделни, па запирањето може да заглави на кој било од нив. Помошник што престанува да одговара, рута што ја бара и втор интерфејс, или запис на разрешувач што го поседува друг профил можат да го остават клиентот да чека. Ознаката е извештај за сопствениот напредок на клиентот, што ја прави авторитативна за намерата и несигурна за мрежата.
Најдете ја компонентата што го поседува поврзувањето
Кај нативни конфигурации, scutil --nc list ги печати услугите што системот ги знае и нивниот статус, а scutil --nc status "Work VPN" дава детали за една услуга. Тунел што го држи апликација од трета страна може воопшто да не се појави на тој список, па празен резултат не е доказ дека ништо не е поврзано.
Кога профилот и припаѓа на апликација, потпрете се на нејзиниот приказ на состојбата и на документираната контрола „Исклучи“. Затворањето на прозорецот не е барање за запирање ако позадински помошник го поседува тунелот; иконата исчезнува, а помошникот го држи интерфејсот жив. Apple-овата референца за поставки на VPN ги опфаќа нативните контроли и од каде доаѓаат управуваните поставки.
Прочитајте интерфејси, рути и DNS
Три проверки одговараат на најголемиот дел од прашањето без да го допрат поврзувањето. Важно е да се толкуваат заедно, бидејќи секоја сама по себе доведува во заблуда.
scutil --nc list
netstat -rn -f inet | head -20
ifconfig | grep -A 3 '^utun'
scutil --dns | head -30
- интерфејсот utun постои, низ него поминува стандардна или поделена рута, разрешувачот покажува кон провајдерот: тунелот е сѐ уште кренат и ознаката е застарена.
- нема utun, обична стандардна рута, DNS од DHCP, нема интернет: политика што блокира при исклученост ја работи својата работа.
- нема utun, нема рута, разрешувачот сѐ уште покажува кон провајдерот: расклопувањето запре на половина пат, а DNS е остатокот што треба да се исчисти.
Потоа испратете едно барање до внатрешен домаќин што треба да одговори само низ тунелот и едно до јавен домаќин. Достижноста ја одделува политиката од остаточната состојба без да ја претвори проверката во вежба за мерење. Ако патеката сѐ уште одговара, прво зачувајте ја далечинската работа и обезбедете втор влез пред да ја менувате мрежата на машина што ја администрирате од далечина.
Зошто масовното убивање и бришењето на профилот доведуваат во заблуда
Имиња на процеси како pppd, racoon и configd припаѓаат на конкретни имплементации. Нивното убивање може да влијае на други поврзувања, остава рути и utun интерфејси и не ви дава запис за тоа на кој чекор заглави. Старо име на процес исто така не е доказ дека го поседува тековниот профил.
Бришењето и повторното создавање на профилот е поголема промена од чистење на заглавен премин. Може да фрли управувани поставки и локален идентитетски материјал без да објасни што не успеало, а на надгледуван Mac може едноставно да се врати. Задржете го бришењето за навистина застарена конфигурација и наместо тоа дијагностицирајте го преминот.
Низа за запирање што остава трага
Редоследот подолу ги остава сопствените контроли на поврзувањето одговорни и создава запис ако заглавеноста се врати. Тој исто така ве штити од тоа проблем со приказот да го претворите во мрежна промена.
- Зачувајте ја далечинската работа и потврдете дека можете да го достигнете Mac на друг начин ако е далечински.
- Запишете го името на клиентот, верзијата и профилот. Фатите краток прозорец со
log show --last 5m --predicate 'subsystem == "com.apple.networkextension"'; постарите изданија чуваат помалку историја, па стартувајте го веднаш по заглавеноста. - Користете ја документираната контрола „Исклучи“, почекајте, па повторете ги проверките на интерфејсот и рутите.
- Ако ознаката е застарена, но тунелот е спуштен, оставете ја и дозволете клиентот да се освежи наместо да ги присилувате процесите.
- Ако расклопувањето навистина заглави, рестартирајте го клиентот, потоа планирајте рестарт на Mac откако работата е зачувана. Управуваните машини бараат процедура на администраторот.
По опоравувањето потврдете дека обичната стандардна рута и DHCP разрешувачот се вратени и дека блокираниот сообраќај е или обновен или намерно сѐ уште блокиран. Запишете го профилот и верзијата на клиентот со симптомот, за следниот случај да почне од докази, а не од претпоставка во мени-лентата.