VPN-праграма ці ўбудаваны IKEv2 на iPhone: як выбраць
VPN-праграма для iPhone і ўбудаваны кліент IKEv2 вырашаюць розныя праблемы. Спачатку параўнайце падтрымку пратаколаў, аўтэнтыфікацыю, кантроль прылады і аднаўленне.
На мінулым тыдні калега працягнуў мне свой iPhone з двума запісамі VPN у «Наладах»: адзін пакінула праграма правайдара, другі — профіль IKEv2, устаўлены са старонкі падтрымкі. Гэта не канкуруючыя версіі аднаго і таго ж. Праграма правайдара — гэта кантэйнер, які можа несці ўласны код тунэлю, а ўбудаваны кліент Apple — гэта кліент IKEv2, настроены ўручную або профілем. Пратакол, праца з уліковымі данымі, кантроль прылады і аднаўленне вызначаюць выбар.
Праграма і ўбудаваны кліент знаходзяцца на розных узроўнях
Убудаваны VPN-кліент Apple на практыцы з’яўляецца кліентам IKEv2. Ручная форма па-ранейшаму пералічвае састарэлы L2TP па-над IPsec і параметры Cisco IPsec, але поля для транспарту правайдара няма, і канфігурацыю OpenVPN ці WireGuard няма куды ўставіць. Вы або запаўняеце форму ў «Налады > Асноўныя > VPN & Кіраванне прыладай», або імпартуеце профіль з карыснай нагрузкай VPN; на паверхні — адрас сервера, дзве ідэнтычнасці, метад аўтэнтыфікацыі і неабавязковыя правілы па патрабаванні.
Праграма правайдара працуе на ўзровень вышэй. Яна пастаўляе правайдара пакетнага тунэлю Network Extension, таму код пратаколу і логіка маршрутызацыі жывуць у праграме, а iOS толькі перадае пакеты. Некаторыя праграмы рэалізуюць WireGuard або OpenVPN, іншыя — уласны замаскіраваны транспарт, а некаторыя толькі ўсталёўваюць профіль IKEv2 і кіруюць убудаваным кліентам за прыемнейшым экранам. З-за апошняй групы выбар «праграма ці профіль» часам ілжывы.
Вынік практычны: файл .ovpn або WireGuard не замяняе гэтыя палі, бо рукапацісканне — іншы пратакол.
Прачытайце карысную нагрузку, перш чым параўноўваць функцыі
Калі профіль — IKEv2, ключы нагрузкі тлумачаць больш збояў, чым любое параўнанне функцый. Даведнік Apple па наладах IKEv2 дакументуе кожны ключ; скарочаная нагрузка выглядае так:
<key>VPNType</key><string>IKEv2</string>
<key>RemoteAddress</key><string>vpn.example.net</string>
<key>RemoteIdentifier</key><string>vpn.example.net</string>
<key>LocalIdentifier</key><string>[email protected]</string>
<key>AuthenticationMethod</key><string>Certificate</string>
<key>ServerCertificateIssuerCommonName</key><string>Example Issuing CA</string>
Тры палі нясуць асноўную дыягнастычную вагу. RemoteIdentifier — імя, якое кліент чакае ад сервера, таму шлюз за NAT або балансіроўшчык, сертыфікат якога называе пул замест адраса, церпіць няўдачу, хоць адрас правільны. LocalIdentifier — ідэнтычнасць, якой сервер вас лічыць, і пры аўтэнтыфікацыі сертыфікатам яна павінна адпавядаць ідэнтычнасці, прывязанай да вашага ўліковага запісу. ServerCertificateIssuerCommonName замацоўвае выдаўцу CA, таму профіль можа адмовіць у дзень перазапуску сертыфіката, і ніводнае паведамленне пра памылку не згадае сертыфікаты.
Калі AuthenticationMethod роўна SharedSecret, сервер выконвае карыстальніцкую аўтэнтыфікацыю EAP, а атрыманы сакрэт насамрэч з’яўляецца ўліковымі данымі акаўнта. Гэта важна, калі правайдар дасылае два дакументы: адзін для імя карыстальніка і пароля, другі для сертыфіката, і толькі адзін супадае з імпартаваным.
Што праграма ўмее, а ўбудаваны кліент не
Выбар пратаколу — відавочная перавага. Калі ваш сервер гаворыць на WireGuard або OpenVPN, праграма — адзіны кліент iOS, які можа гэта выкарыстаць, і рэдагаванне ўбудаванай формы гэтага не ўзгодніць. Праграма таксама можа рэалізаваць падзелены тунэль па прызначэнні або праграме, уласную апрацоўку DNS, блакаванне ў стылі kill switch, выбар сервера і перападключэнне, настроенае пад уласную сетку.
Кошт — праграмнае забеспячэнне, якое вы не правяралі, што працуе з правамі сеткавага пашырэння. Якасць вагаецца мацней, чым мяркуюць карткі ў краме: адна праграма перападключаецца чыста, іншая некалькі секунд выцякае пасля змены сеткі, а kill switch унутры праграмы — функцыя гэтай праграмы, а не iOS. На кіраванай прыладзе спачатку праверце зацверджаны спіс.
Што ўбудаваны профіль IKEv2 робіць правільна
Менш рухомых частак — увесь аргумент. Кліент IKEv2 і яго стек IPsec пастаўляюцца з сістэмай, таму няма пашырэння, якое можа ўпасці, няма працэсу на кожную праграму, які трэба падтрымліваць жывым, і няма цыклу абнаўленняў трэцяга боку паміж вамі і працуючым тунэлем. Профіль можна і заблакаваць: на наглядаемай прыладзе карыстальнік не можа выдаліць тое, што ўстанавіла кіраванне, а Always On VPN, які перападключаецца ў любой сетцы без карыстальніцкага перамыкача, існуе толькі ў такой наглядаемай, кіраванай профілем форме.
Чаго ўбудаваны шлях не дае — гнуткасці. Няма VPN на праграму без кіраваных праграм, няма kill switch для карыстальніка і няма транспарту, які ў сетцы, што блакуе IPsec, выглядаў бы як HTTPS. У гатэльных сетках, якія адкідаюць UDP 500 і 4500, у ўбудаванага IKEv2 няма запаснога шляху.
Табліца рашэнняў, якая зачыняе большасць выпадкаў
На практыцы пытанне пратаколу вырашае большасць выпадкаў яшчэ да таго, як функцыі пачынаюць мець значэнне.
| What you were given | Device situation | What to use |
|---|---|---|
| An .ovpn or WireGuard config | Personal phone | Provider app; the native form cannot load it |
| IKEv2 host plus CA name | Personal or managed | Profile, or the app's own IKEv2 mode |
| IKEv2 with username and secret | Personal phone | Either; the profile is simpler if you never switch servers |
| A management-installed profile | Supervised, MDM | Native client; do not add a second app entry |
| A per-app tunnelling requirement | Personal phone | App, or accept a full tunnel; iOS cannot split by app without management |
| IPsec blocked on your main network | Any | App with a transport that survives the block |
Два радкі заслугоўваюць другога позірку. Патрабаванне «на праграму» на асабістым тэлефоне — выпадак, які людзі чытаюць няправільна: параметр існуе ў iOS, але ім кіруе сістэма кіравання, таму некіраваная прылада яго не прапануе. Заблакаваная сетка — не прычына не давяраць IKEv2; гэта прычына, чаму праграма правайдара існуе.
Праверце выбар адным тэстам
Правярайце рэжымы адмовы, а не кнопку падключэння. Падключыцеся адзін раз, пераканайцеся, што з’явіўся індыкатар VPN, потым адкрыйце старонку, якая вяртае ваш публічны адрас, і параўнайце з папярэднім. Пераключыцеся з Wi-Fi на мабільныя даныя, не кранаючы VPN, і сачыце за перападключэннем, потым правядзіце тэлефон праз авіярежым. Перазагрузіце і паглядзіце, ці тунэль вернецца сам: профіль з OnDemandEnabled павінен, а многія праграмы трэба спачатку адкрыць.
Калі тунэль не вярнуўся, падзяліце адмову па тым, ці існуе ён наогул. Адсутнасць індыкатара VPN азначае, што тунэль не падняўся: або рукапацісканне сарвалася на RemoteIdentifier, замацаваным CA ці ўліковых даных, або падключэння наогул не спрабавалі, бо правіла па патрабаванні не супала і ніводная праграма яго не запусціла. Індыкатар пры падаючым трафіку азначае маршрутызацыю, DNS або палітыку на баку сервера, і пераўстаноўка кліента нічога з гэтага не закранае.
Кароткі спіс, каб прылада была зразумелай наступнаму чалавеку:
- адзін запіс VPN, а не два;
- профіль або праграма названыя па серверы, да якога яны падключаюцца;
- значэнні ідэнтычнасці запісаныя там, дзе вы іх знойдзеце.
Пачніце з радка пратаколу ў табліцы і спыніцеся там, калі ён адказвае на пытанне.