La buena noticia es que se puede configurar. La mala noticia es que no se puede configurar fácilmente a través de la GUI. Parece que esa configuración de la VPN se considera una cosa para las organizaciones y no para los consumidores.
Por cierto..: Las palabras clave para tal configuración de VPN son VPN a la carta o VPN siempre activa .
Para implementar una configuración VPN de este tipo, es necesario escribir un perfil de configuración e instalarlo en su iPhone.
Perfiles de configuración (en el universo de Apple) puede verse como el equivalente a los Objetos de Política de Grupo (GPO) en el mundo de Microsoft. Son básicamente archivos XML y, por lo tanto, bastante legibles para las personas. Se pueden crear:
Se pueden desplegar:
- con una solución de gestión de dispositivos móviles (MDM)
- con Configurador Apple 2
- alojándolos en un servidor web
- enviándolos por correo electrónico
Como consumidor, es posible que no tengas acceso a MDM o a Apple Configurator (sólo funciona en MacOS). Por lo tanto, voy a cubrir cómo puede escribir su perfil de configuración manualmente. Si necesitas todos los detalles, te recomiendo que leas este excelente artículo del blog que he utilizado como fuente principal.
Para establecer una conexión VPN tan pronto como su iPhone se conecte al WiFi necesita un perfil de configuración, que se parece a lo siguiente (guárdelo en un archivo que termine con .mobileconfig
):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>UserDefinedName</key>
<string>VPN if WiFi</string>
<key>PayloadDisplayName</key>
<string>VPN if WiFi</string>
<key>PayloadIdentifier</key>
<string>any.unique.looking.name</string>
<key>PayloadUUID</key>
<string>05b44261-a564-4e3a-8026-ae5e3089c326</string>
<!-- VPN security config -->
<key>VPNType</key>
<string>IPSec</string>
<key>IPSec</key>
<dict>
<key>RemoteAddress</key>
<string>CHANGE_ME_IpAddressOrDnsNameOfTheVpnServer</string>
<key>AuthenticationMethod</key>
<string>SharedSecret</string>
<key>XAuthName</key>
<string>CHANGE_ME_Username</string>
<key>XAuthPassword</key>
<string>CHANGE_ME_UserPassword</string>
<key>XAuthEnabled</key>
<integer>1</integer>
<key>LocalIdentifier</key>
<string>CHANGE_ME_Username</string>
<key>LocalIdentifierType</key>
<string>KeyID</string>
<key>SharedSecret</key>
<string>CHANGE_ME_SharedSecret</string>
</dict>
<!-- VPN on demand config -->
<key>OnDemandEnabled</key>
<integer>1</integer>
<key>OnDemandRules</key>
<array>
<!-- SSID exceptions when not to establish a VPN connection (trusted WiFi's) -->
<dict>
<key>InterfaceTypeMatch</key>
<string>WiFi</string>
<key>SSIDMatch</key>
<array>
<string>CHANGE_ME_MyHomeWiFiSsid</string>
<string>CHANGE_ME_MyTrustedFriendsWiFiSsid</string>
</array>
<key>Action</key>
<string>Disconnect</string>
</dict>
<!-- Establish a VPN connection on any other WiFi connection -->
<dict>
<key>InterfaceTypeMatch</key>
<string>WiFi</string>
<key>Action</key>
<string>Connect</string>
</dict>
<!-- Default action (e. g. on cellular): No VPN -->
<dict>
<key>Action</key>
<string>Disconnect</string>
</dict>
</array>
<key>OverridePrimary</key>
<true/>
<key>IPv4</key>
<dict>
<key>OverridePrimary</key>
<integer>1</integer>
</dict>
<key>PayloadType</key>
<string>com.apple.vpn.managed</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</array>
<key>PayloadDisplayName</key>
<string>VPN Configurations</string>
<key>PayloadIdentifier</key>
<string>1d195bcb-752a-44ec-b0c1-8d91af9ef1ed</string>
<key>PayloadRemovalDisallowed</key>
<false/>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>e95c8935-e963-4609-bd24-cd57af79f7f4</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>
Este perfil de configuración está diseñado para establecer una conexión VPN con un Caja FRITZ router que utiliza IPSec con PSK mutuo + XAuth. Si utiliza una configuración de seguridad diferente, deberá modificar el bloque "VPN security config". En cualquier caso, ajuste todas las cadenas con el prefijo CHANGE_ME
según su infraestructura.
El bloque "VPN on demand config" puede ser ajustado para excluir los SSIDs WiFi donde no se debe establecer una conexión VPN (por ejemplo, sus WiFi's de confianza).
Los tres GUIDs son aleatorios, sustitúyelos por tus propios GUIDs aleatorios (por ejemplo, con New-Guid
en PowerShell).
Después de desplegar y instalado este perfil de configuración en tu iPhone, encontrarás una entrada llamada "VPN si WiFi" en tus conexiones VPN. Selecciónala, y a partir de ahora tu iPhone establecerá automáticamente una conexión VPN si estás conectado a WiFi (excepto tus WiFi's de confianza).
En lugar de ajustar el perfil de configuración anterior, también puede utilizar el html
archivo de este proyecto en GitHub para generar un perfil de configuración para usted.