Вы адкрываеце спіс VPN, выбіраеце іншы захаваны запіс і чакаеце чыстай замены: новы адрас выхаду, а ўсё астатняе без змен. Менавіта гэтае меркаванне трэба адкінуць першым. На macOS захаваны VPN — гэта поўная сеткавая служба, а не прадвызначаная налада, таму пераключэнне службаў можа адначасова змяніць маршрутызацыю, DNS і аўтэнтыфікацыю. Радок меню паказвае, якая служба актыўная; ён не кажа, ці адпавядае тунэль пад ёй вашай задуме.

Захаваны спіс — не выбар профілю

Кожны запіс у «Сістэмных наладах» > «Сетка» — асобная служба з уласным адрасам сервера, уліковым запісам, метадам аўтэнтыфікацыі, DNS-серверамі і такімі параметрамі, як «Адпраўляць увесь трафік праз VPN-злучэнне». У старых версіях «Сістэмныя налады» трымаюць той жа спіс. Два запісы могуць паказваць на аднолькавае імя хоста і ўсё роўна паводзіць сябе па-рознаму, бо пратакол або пашырэнне кліента вырашае, як будуецца тунэль.

Кліенты трэціх бакоў трымаюць асобныя спісы. Tunnelblick чытае канфігурацыі з уласнай папкі, WireGuard трымае свой спіс тунэляў, а OpenVPN Connect захоўвае профілі ўнутры праграмы. Некаторыя рэгіструюць канфігурацыю ў сістэме; іншыя трымаюць усё ўнутры праграмы і ніколі не з’яўляюцца ва ўбудаваным спісе. Таму «пераключыцца на захаванае» азначае розныя дзеянні ў залежнасці ад таго, якая праграма валодае профілем.

scutil --nc list выводзіць VPN-службы, зарэгістраваныя ў сістэмнай канфігурацыі, з імёнамі ў двукоссі. Выкарыстоўвайце менавіта гэтыя імёны, калі пішаце сцэнар пераключэння, і не думайце, што спіс ахоплівае кожны тунэль трэцяга боку.

Што насамрэч змяняе пераключэнне

Чатыры рэчы рухаюцца разам, калі актыўная служба змяняецца. Маршрут па змаўчанні ідзе за новым тунэлем, калі гэтая служба адпраўляе ўвесь трафік; спіс рэзалвераў змяняецца на DNS-серверы, якія паказвае служба; новыя злучэнні бяруць новы адрас тунэля як крыніцу; а ўліковыя даныя, што выкарыстоўваюцца, належаць новай службе. Убудаваная канфігурацыя і профіль праграмы не ўзаемазаменныя, нават калі абодва сканчаюцца на тым жа шлюзе.

What you assumeWhat the system does
Same server name means same tunnelProtocol, certificate and account are per service
All traffic follows the active VPNOnly when Send all traffic over VPN is on
DNS switches with the VPNOnly if that service defines DNS servers
Disconnect ends the connectionOn Demand or a management profile can reconnect
Open sessions survive the switchTCP sessions tied to the old address stall

Частка з DNS часта здзіўляе. macOS падтрымлівае парадак рэзалвераў, а scutil --dns паказвае, якія рэзалверы ўжытыя і на якім інтэрфейсе. VPN-служба без наладжаных DNS-сервераў можа пакінуць адказваць рэзалвер Wi-Fi, таму вы атрымаеце новы публічны адрас са старымі паводзінамі DNS і зробіце выснову, што пераключэнне спрацавала напалову.

Чаму старая канфігурацыя вяртаецца

Калі вы адключаецеся, а тая ж служба праз імгненне падключаецца зноў, спачатку паглядзіце на On Demand. Правіла падключэння па патрабаванні можа вярнуць службу, калі праграма развяжа адпаведны дамен, а кіраўнічы профіль можа прымусіць тое ж правіла. Выдаленне запісу рэдка дапамагае: канфігурацыя, усталяваная профілем, звычайна вяртаецца пры наступным абнаўленні профілю, а ручная можа пакінуць пароль у Keychain, пакуль служба знікла.

Запуск другой службы не заўсёды спыняе першую. У залежнасці ад кліента і пратаколу вы можаце атрымаць два тунэлі і два наборы маршрутаў, і менавіта парадак службаў разам з дакладнасцю маршруту вызначаюць, хто нясе трафік, а не значок, на які вы націснулі апошнім. Праверце інтэрфейсы, перш чым лічыць, што замена адбылася.

Правярайце тунэль, а не галачку

Прайдзіце па ўласным поглядзе сістэмы, перш чым чапаць налады.scutil --nc status "Name" паведамляе, што сістэма лічыць;ifconfig паказвае, ці мае інтэрфейс utun адрас;netstat -rn -f inet паказвае, куды накіраваны маршрут па змаўчанні;scutil --dns паказвае рэзалвер, які фактычна выкарыстоўваецца. Затым адкрыйце свежае злучэнне і пацвердзіце адрас выхаду, бо старонка, якая ўжо ўвайшла, можа ўсё яшчэ выкарыстоўваць сокет, прывязаны да старога тунэля.

Калі DNS усё яшчэ адказвае з лакальнай сеткі, параўнайце наладжаныя серверы службы са спісам рэзалвераў. Калі маршрут па змаўчанні ўсё яшчэ паказвае на фізічны інтэрфейс, служба працуе ў раздзеленым тунэлі або падключана не цалкам. І тое, і іншае — вынік канфігурацыі, а не доказ зламанага кліента.

Парадак пераключэння без сюрпрызаў

  1. Запішыце бягучую службу і ці кіруе ёю профіль.
  2. Спачатку адключыце яе, калі два тунэлі не могуць існаваць разам.
  3. Падключыце мэту і чакайце «Падключана», а не «Падключэнне».
  4. Праверце маршрут па змаўчанні, спіс рэзалвераў і свежы адрас выхаду.
  5. Перазапусціце праграмы, якія трымаюць доўгія сесіі.

Трымайце стары запіс, пакуль новы не пройдзе гэтыя праверкі, і давайце кожнаму запісу асобнае імя; аднолькавыя назвы робяць наступную памылку цяжэйшай для прыпісвання. Даведка Mac ад Apple апісвае ўбудаваны бок у артыкуле Наладка VPN-злучэння на Mac, на які варта абаперціся перад правай кіраванай канфігурацыі.

Калі выбар вяртаецца, спачатку разглядайце гэта як палітыку або On Demand. Пацвердзіце, хто валодае канфігурацыяй і ці ўключана аўтаматычнае падключэнне, затым вырашыце, ці вы пераключаеце службу, ці змагаецеся з профілем.

Падобныя артыкулы