Aplikace VPN, nebo vestavěný IKEv2 na iPhonu: jak vybrat
Aplikace VPN pro iPhone a vestavěný klient IKEv2 řeší různé problémy. Nejprve porovnejte podporu protokolů, autentizaci, správu zařízení a obnovu.
Minulý týden mi kolega podal svůj iPhone se dvěma položkami VPN v Nastavení: jednu zanechala aplikace poskytovatele, druhou profil IKEv2 vložený ze stránky podpory. Nejde o konkurenční verze téhož. Aplikace poskytovatele je kontejner, který může nést vlastní kód tunelu, zatímco vestavěný klient Applu je klient IKEv2 konfigurovaný ručně nebo profilem. O volbě rozhoduje protokol, práce s přihlašovacími údaji, správa zařízení a obnova.
Aplikace a nativní klient jsou na různých vrstvách
Vestavěný klient VPN Applu je v praxi klient IKEv2. Ruční formulář stále uvádí zastaralý L2TP přes IPsec a možnosti Cisco IPsec, ale neexistuje pole pro transport poskytovatele ani místo pro vložení konfigurace OpenVPN nebo WireGuard. Buď vyplníte formulář v Nastavení > Obecné > VPN & Správa zařízení, nebo importujete profil s datovou zátěží VPN; rozhraní tvoří adresa serveru, dvě identity, metoda ověřování a volitelná pravidla na vyžádání.
Aplikace poskytovatele pracuje o vrstvu výš. Dodává poskytovatele paketového tunelu Network Extension, takže kód protokolu a logika směrování žijí v aplikaci a iOS jen předává pakety. Některé aplikace implementují WireGuard nebo OpenVPN, jiné vlastní zastřený transport a několik jen nainstaluje profil IKEv2 a ovládá nativního klienta za hezčí obrazovkou. Kvůli této poslední skupině je volba aplikace versus profil někdy falešná.
Důsledek je praktický: soubor .ovpn nebo WireGuard nenahrazuje tato pole, protože handshake je jiný protokol.
Přečtěte si datovou zátěž, než porovnáte funkce
Když je profil IKEv2, klíče datové zátěže vysvětlí více selhání než jakékoli srovnání funkcí. Dokumentace nastavení IKEv2 od Applu popisuje každý klíč; zkrácená zátěž vypadá takto:
<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>
Tři pole nesou většinu diagnostické váhy. RemoteIdentifier je název, který klient očekává od serveru, takže brána za NAT nebo nástroj pro vyrovnávání zátěže, jehož certifikát uvádí fond místo adresy, selže, i když je adresa správná. LocalIdentifier je identita, kterou vám server přisuzuje, a při ověřování certifikátem musí odpovídat identitě namapované k vašemu účtu. ServerCertificateIssuerCommonName připíná vydávající CA, takže profil může selhat v den opětovného vydání certifikátu, aniž by jakákoli chyba zmínila certifikáty.
Pokud je AuthenticationMethod rovno SharedSecret, server provádí uživatelské ověřování EAP a tajemství, které jste dostali, je ve skutečnosti přihlašovací údaj účtu. Na tom záleží, když poskytovatel pošle dva dokumenty, jeden pro uživatelské jméno a heslo a jeden pro certifikát, a jen jeden odpovídá tomu, co jste importovali.
Co aplikace umí a nativní klient ne
Volba protokolu je zřejmá výhoda. Pokud váš server mluví WireGuard nebo OpenVPN, aplikace je jediný klient iOS, který to umí použít, a úprava nativního formuláře to nevyjedná. Aplikace může také implementovat rozdělený tunel podle cíle nebo aplikace, vlastní zpracování DNS, blokaci ve stylu kill switch, výběr serveru a opětovné připojení laděné na vlastní síť.
Cenou je software, který jste neauditovali a který běží s oprávněními síťového rozšíření. Kvalita kolísá víc, než naznačují karty v obchodě: jedna aplikace se připojí čistě, zatímco jiná po změně sítě několik sekund propouští provoz, a kill switch uvnitř aplikace je funkce té aplikace, ne iOS. Na spravovaném zařízení nejprve zkontrolujte schválený seznam.
Co nativní profil IKEv2 dělá správně
Méně pohyblivých částí je celý argument. Klient IKEv2 a jeho zásobník IPsec jsou součástí systému, takže neexistuje rozšíření, které by mohlo spadnout, žádný proces pro každou aplikaci, který by se musel udržovat v chodu, a žádný aktualizační cyklus třetí strany mezi vámi a fungujícím tunelem. Profil lze také uzamknout: na dohlíženém zařízení uživatel nemůže odebrat to, co nainstalovala správa, a Always On VPN, který se znovu připojuje v každé síti bez přepínače uživatele, existuje jen v této dohlížené, profilem spravované podobě.
Co nativní cesta nedává, je flexibilita. Neexistuje VPN pro jednotlivé aplikace bez spravovaných aplikací, žádný kill switch pro uživatele ani transport, který by v síti blokující IPsec vypadal jako HTTPS. V hotelových sítích, které zahazují UDP 500 a 4500, nemá nativní IKEv2 žádnou náhradní cestu.
Rozhodovací tabulka, která vyřeší většinu případů
V praxi otázka protokolu rozhodne většinu případů dřív, než funkce začnou hrát roli.
| 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 |
Dva řádky si zaslouží druhý pohled. Požadavek na aplikaci na osobním telefonu je případ, který lidé čtou špatně: nastavení v iOS existuje, ale řídí ho správa, takže nespravované zařízení ho nenabídne. Zablokovaná síť není důvod nedůvěřovat IKEv2; je to důvod, proč aplikace poskytovatele existuje.
Ověřte volbu jedním testem
Testujte režimy selhání, ne tlačítko připojení. Připojte se jednou, potvrďte, že se objeví indikátor VPN, pak otevřete stránku, která vrací vaši veřejnou adresu, a porovnejte ji s předchozí. Přepněte z Wi-Fi na mobilní data, aniž byste se dotkli VPN, a sledujte opětovné připojení, potom projděte telefonem režim letadla. Restartujte a podívejte se, zda se tunel vrátí sám: profil s OnDemandEnabled by měl, zatímco mnoho aplikací je třeba nejprve otevřít.
Když se nevrátí, rozdělte selhání podle toho, zda tunel vůbec existuje. Žádný indikátor VPN znamená, že tunel nikdy nevznikl: buď handshake selhal na RemoteIdentifier, připnuté CA nebo přihlašovacím údaji, nebo se připojení nikdy nezkusilo, protože pravidlo na vyžádání neodpovídalo a žádná aplikace ho nezačala. Indikátor se selhávajícím provozem znamená směrování, DNS nebo zásadu na straně serveru a přeinstalace klienta se ničeho z toho nedotkne.
Krátký seznam, aby zařízení bylo vysvětlitelné pro další osobu:
- jedna položka VPN, ne dvě;
- profil nebo aplikace pojmenované podle serveru, ke kterému se připojují;
- hodnoty identity zapsané tam, kde je najdete.
Začněte řádkem protokolu v tabulce a zastavte se tam, pokud odpovídá na otázku.