VPN для асобных праграм на кіраваных праграмах iPhone: што маршрутызуецца, а што не
Тунэль для асобнай праграмы ідзе за кіраванай праграмай, а не за тэлефонам. Праверце сувязь карыснай нагрузкі, кіраваную копію, правілы патрабавання і патокі, што выходзяць з праграмы.
VPN для асобных праграм на iPhone — гэта не агульны пераключальнік для ўсяго тэлефона. Гэта сувязь паміж адной кіраванай праграмай і адной карыснай нагрузкай VPN, якая ствараецца пры разгортванні праграмы, а трафік усяго астатняга захоўвае ранейшы маршрут. Таму адзін і той самы тэлефон паводзіць сябе непаслядоўна: працоўная праграма адкрывае прыватную старонку, а Safari не можа дасягнуць таго ж хоста, або тунэль не ўздымаецца зусім, і праграма паведамляе пра тайм-аўт, які выглядае як дрэнныя ўліковыя дадзеныя. Праверкі выконваюць ад самай шырокай прычыны ўніз, таму спыніцеся на першай, што не прайшла.
Спачатку праверце карысную нагрузку і запіс праграмы
Сувязь жыве ў двух аб'ектах, а не ў адным. Карысная нагрузка VPN вызначае тунэль: тып, сервер, аўтэнтыфікацыю, DNS і ідэнтыфікатар пакета пастаўшчыка, калі выкарыстоўваецца ўласны кліент. Запіс праграмы паказвае на гэтую нагрузку, і большасць кансоляў кіравання прапануе гэта як опцыю для асобнай праграмы ў канфігурацыі праграмы з назвай, блізкай да Per-App VPN. Нагрузка, на якую не паказвае ніводная праграма, нічога не маршрутызуе для асобных праграм; яна паводзіць сябе як звычайны тунэль, які нехта мусіць запусціць ўручную.
Прачытайце абодва аб'екты, перш чым кранаць тэлефон. Пераканайцеся, што канфігурацыя праграмы спасылаецца на нагрузку, якую вы тэстуеце, а не на яе старую копію, бо дублікаты нагрузак з амаль аднолькавымі назвамі часта з'яўляюцца пасля міграцыі, і праграма ахвотна паказвае на знятую. Затым пераканайцеся, што канфігурацыя дайшла да прылады: Налады, Агульныя, VPN і кіраванне прыладай павінны паказваць яе як усталяваны профіль. Спіс VPN там — не тэст. Паслуга для асобнай праграмы звычайна не мае ручнога пераключальніка, таму карэктна разгорнутая канфігурацыя можа ніколі не з'явіцца сярод VPN, якія можна запусціць. Адсутнасць бачна ў запісе праграмы і ў тым, ці ўздымаецца тунэль на першы запыт праграмы.
Адна ўмова тлумачыць шмат заявак: гэтая мадэль патрабуе, каб праграма прыйшла праз кіраванне. Копія, усталяваная збоку або набытая асабіста, не атрымлівае сувязі, нават калі ідэнтыфікатар яе пакета супадае. Кіраўніцтва Apple па разгортванні VPN апісвае мадэль нагрузкі, што за гэтым стаіть (support.apple.com/guide/deployment/vpn-overview-depae3d361d0/web).
Пераканайцеся, што ўсталяваная праграма — гэта кіраваная копія
Сувязь ідзе за ўсталяванай, кіраванай праграмай. Калі хтосьці пераўсталяваў яе з App Store пад асабістым Apple ID, замяніў перападпісанай карпаратыўнай зборкай або прыладу перарэгістравалі і праграма вярнулася праз іншы канал, тунэль можа заставацца ўнізе, пакуль сама праграма выглядае цалкам нармальна.
Тэстуйце параўнаннем, а не адзіным назіраннем. У інвентары кіравання праграма павінна значыцца як кіраваная для гэтай прылады, з прывязкай VPN у яе запісе. На тэлефоне тунэль павінен уздымацца пры запуску праграмы і выхадзе яе першага запыту, а не толькі калі хтосьці запускае асобную ручную канфігурацыю ў Наладах. Калі запуск праграмы нічога не змяняе, а гэтая ручная канфігурацыя змяняе, праграма зусім не прывязана да тунэля для асобнай праграмы.
Абнаўленні важныя: тое, што праштурхоўваецца праз кіраванне, захоўвае прывязку, а пераўсталёўка, якую ініцыюе карыстальнік, можа яе страціць. Калі скарга датуецца абнаўленнем, праверце запіс праграмы раней за сетку.
Праверце, што тунэлю дазволена браць
Тунэль для асобнай праграмы выбіраецца па праграме-крыніцы, таму стандартны маршрут тэлефона па-ранейшаму належыць Wi-Fi або сотавай сетцы. OverridePrimary — гэта ключ, які гэта змяняе. Калі профіль устанаўлівае яго, тунэль паводзіць сябе як поўны тунэль, і кожная праграма яго наследуе, таму усё, што ідзе праз VPN, робіцца пытаннем профілю, а не збоем праграмы.
Правілы патрабавання вызначаюць ўстойлівасць. OnDemandEnabled разам з наборам правілаў — гэта тое, што прымушае тунэль вяртацца, калі праграма шле трафік, перажываць пераход з Wi-Fi на сотавую сетку або апускацца, як толькі праграма сыходзіць у фон. Разгортванне, якое падключаецца і потым ціха памірае, звычайна мае правіла, якое супадае толькі з пробным запытам, што ніколі не спрацоўвае, пакуль праграма бяздзейнічае.
Затым сумленна прачытайце бок маршрутаў. Калі профіль пастаўшчыка або падрадчыка дае спіс уключэння, тунэль, што нясе толькі 10.20.0.0/16, не панясе паслугу ў 10.30.0.0/16; гэта спіс робіць сваю працу, а не збой асобнай праграмы. Убудаваная нагрузка iOS не мае спісу ўключэння. Без яго падзел ідзе за стандартамі пастаўшчыка і IncludeAllNetworks, а не за схаваным спісам.
Пратэстуйце праграму, затым пратэстуйце тое, што з яе выходзіць
Тэстуйце па імені, а не толькі па адрасе. Разрозненне ўнутранага хоста ўнутры кіраванай праграмы даказвае, што DNS таксама прайшоў праз тунэль, бо нагрузка вызначае, які рэзалвер адказвае і якія дамены пошуку ўжываюцца. Маршрутызацыя можа быць бездакорнай, пакуль пошук па імені збянтэжваецца, і гэтыя два сімптомы паказваюць на розныя налады.
Затым праверце мяжу з абодвух бакоў. Асабістая праграма або Safari павінны дасягаць звычайнай публічнай старонкі і паведамляць адрас аператара або дома, а кіраваная праграма дасягае прыватнай паслугі. Калі абодва паведамляюць адзін і той жа публічны адрас, тунэль ужо не для асобнай праграмы, што б ні сцвярджаў запіс праграмы.
Патокі, што выходзяць з праграмы, ствараюць заблытаныя заяўкі. Спасылка, якая адкрываецца ў Safari, дакумент, перададзены праз ліст падзяліцца, або ўваход SSO, што пераключаецца ў браўзер, пакідае працэс праграмы і тунэль разам з ім. Уваход, які адлюстроўваецца ўнутры праграмы, звычайна прыпісваюць праграме, таму ўбудаваны ўваход можа атрымацца там, дзе той жа URL не спрацуе ў Safari; праверце гэта, а не мяркуйце. Калі пастаўшчык ідэнтычнасці даступны толькі праз тунэль, альбо пакіньце ўваход унутры праграмы, альбо дадайце дамен пастаўшчыка ў дамены Safari нагрузкі, каб адпаведны трафік Safari быў захоплены.
Звядзіце сімптам з пластом
Форма збою падказвае, якую праверку паўтарыць.
| What you see | Where the repair is |
|---|---|
| Tunnel never appears when the app opens | App-to-payload association, or the app is not the managed copy |
| Tunnel connects, internal name resolves, connection times out | Provider or vendor include list missing the subnet, or a far-side firewall |
| Tunnel connects, internal name fails to resolve | DNS servers or search domains in the payload |
| Every app uses the tunnel | OverridePrimary set, or a full-tunnel payload reused |
| Worked until an update, broken since | Association lost on reinstall, or the payload was replaced |
За сярэднімі радкамі стаяць дзве дэталі: тунэль для асобнай праграмы можа быць здаровым і ўсё ж упусціць падсетку, якую не ўключае ніводны спіс пастаўшчыка, а кіраваны тэлефон можа трымаць больш за адну канфігурацыю VPN, таму пераканайцеся, да якой з іх прывязана праграма, а не мяркуйце, што гэта тая, якую вы чытаеце.
Выпраўляйце ў такім парадку: выпраўце запіс праграмы, каб ён спасылаўся на жывую нагрузку, пераўсталюйце праграму праз кіраванне, пераканайцеся, што тунэль ўздымаецца на першы запыт праграмы, а затым паўтарыце тэсты імені і мяжы. Калі першы запыт зусім не можа запусціць тунэль, спыніцеся і праверце бок пастаўшчыка, бо ўласнаму кліенту патрэбен наяўны Network Extension з ідэнтыфікатарам, што адпавядае ўсталяванай праграме.
Вярніце тры факты замест здымка экрана: на якую нагрузку спасылаецца запіс праграмы, ці паказваюць Налады яе як усталяваны профіль і які быў запыт, што не ўдаўся, — імя, адрас або перадача ў браўзер. Гэтыя тры адказы аддзяляюць памылку разгортвання ад памылкі маршрутызацыі, і наступны чалавек можа дзейнічаць, не паўтараючы дыягностыку.