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 запис, не два;
- профилът или приложението, наречени на сървъра, към който се свързват;
- стойностите на идентичността, записани там, където можете да ги намерите.
Започнете с реда за протокол в таблицата и спрете там, ако отговаря на въпроса.