Por qué la VPN se ha convertido en el dolor de cabeza número uno del helpdesk en 2026
Si trabajas en soporte técnico, esto no te va a sorprender: los tickets relacionados con VPN se han disparado. Entre las actualizaciones de Windows 11 que rompen la conectividad (sí, otra vez), la migración masiva a Always On VPN, los problemas específicos de la versión 24H2 y los fallos que Microsoft ha tenido que confirmar con las KB de finales de 2025... la VPN se ha convertido en una fuente constante de incidencias en cualquier helpdesk empresarial.
Y lo peor no es solo lo técnico. Cuando la VPN no funciona, los empleados remotos quedan completamente aislados. No pueden acceder a archivos compartidos, ni a servidores internos, ni a aplicaciones de línea de negocio, ni a herramientas de colaboración. Cada minuto de caída es productividad perdida multiplicada por decenas o cientos de usuarios. He visto casos donde un fallo de VPN masivo dejó a un equipo de ventas entero sin acceso a su CRM durante medio día — imagínate el impacto.
Esta guía va dirigida a técnicos de helpdesk, administradores de TI y equipos de soporte que necesitan diagnosticar y resolver problemas de VPN en Windows 11 de forma rápida. Vamos a cubrir desde los códigos de error más comunes hasta la configuración empresarial de Always On VPN con Intune, pasando por scripts de PowerShell que automatizan el diagnóstico y las soluciones más actualizadas para los problemas causados por las actualizaciones de Windows en 2026. Bueno, vamos al grano.
Diagnóstico inicial: los primeros 5 minutos ante un ticket de VPN
Protocolo de triaje rápido
Cuando llega un ticket de "la VPN no funciona", la tentación es lanzarse directamente a tocar configuraciones. No lo hagas. En mi experiencia, los primeros cinco minutos de diagnóstico estructurado te ahorran horas de trabajo después. Sigue este orden:
- ¿Es un problema individual o masivo? Consulta con el equipo si hay otros usuarios reportando lo mismo. Si es masivo, probablemente estés ante una actualización de Windows, un cambio en el servidor VPN o un problema de red. Si es individual, el foco está en el equipo del usuario.
- ¿Ha habido actualizaciones recientes de Windows? Verifica si se ha instalado alguna KB reciente. Esto es crítico en 2026, como veremos más adelante.
- ¿Qué protocolo VPN se usa? Identificar si es IKEv2, L2TP/IPsec, SSTP, OpenVPN o WireGuard cambia completamente el enfoque del diagnóstico.
- ¿El usuario tiene conectividad a Internet? Parece obvio, pero créeme, un porcentaje sorprendente de tickets de VPN resultan ser problemas de conectividad básica.
- ¿Cuál es el código de error exacto? Obtener el código de error específico es el paso más valioso del triaje. Cada código apunta a una causa raíz diferente.
Script de diagnóstico rápido con PowerShell
Este script recopila toda la información de diagnóstico necesaria en una sola ejecución. Lo puedes enviar al usuario final o ejecutarlo remotamente — es una de esas cosas que vale la pena tener siempre a mano:
# Script de diagnóstico rápido de VPN para helpdesk
# Ejecutar como administrador
Write-Host "=== DIAGNÓSTICO VPN - HELPDESK ===" -ForegroundColor Cyan
Write-Host ""
# 1. Información del sistema
Write-Host "[INFO DEL SISTEMA]" -ForegroundColor Yellow
$os = Get-CimInstance Win32_OperatingSystem
Write-Host "SO: $($os.Caption) - Build $($os.BuildNumber)"
Write-Host "Versión: $((Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').DisplayVersion)"
# 2. Últimas actualizaciones instaladas
Write-Host "`n[ÚLTIMAS ACTUALIZACIONES]" -ForegroundColor Yellow
Get-HotFix | Sort-Object InstalledOn -Descending |
Select-Object -First 5 HotFixID, Description, InstalledOn |
Format-Table -AutoSize
# 3. Conexiones VPN configuradas
Write-Host "[CONEXIONES VPN]" -ForegroundColor Yellow
Get-VpnConnection | Select-Object Name, ServerAddress, TunnelType,
AuthenticationMethod, ConnectionStatus, SplitTunneling |
Format-List
# Conexiones VPN de todos los usuarios (requiere admin)
Get-VpnConnection -AllUserConnection -ErrorAction SilentlyContinue |
Select-Object Name, ServerAddress, TunnelType, ConnectionStatus |
Format-List
# 4. Estado de los adaptadores de red
Write-Host "[ADAPTADORES DE RED]" -ForegroundColor Yellow
Get-NetAdapter | Where-Object { $_.InterfaceDescription -like "*VPN*" -or
$_.InterfaceDescription -like "*WAN*" -or
$_.InterfaceDescription -like "*TAP*" -or
$_.InterfaceDescription -like "*TUN*" } |
Select-Object Name, InterfaceDescription, Status, LinkSpeed |
Format-Table -AutoSize
# 5. Test de conectividad a endpoints críticos
Write-Host "[TEST DE CONECTIVIDAD]" -ForegroundColor Yellow
$vpnConnections = Get-VpnConnection -ErrorAction SilentlyContinue
foreach ($vpn in $vpnConnections) {
$server = $vpn.ServerAddress
Write-Host "Probando $server..." -NoNewline
$ping = Test-NetConnection -ComputerName $server -Port 443 -WarningAction SilentlyContinue
if ($ping.TcpTestSucceeded) {
Write-Host " OK (${($ping.PingReplyDetails.RoundtripTime)}ms)" -ForegroundColor Green
} else {
Write-Host " FALLO" -ForegroundColor Red
}
}
# 6. Servicio RAS
Write-Host "`n[SERVICIOS VPN]" -ForegroundColor Yellow
Get-Service -Name "RasMan", "SstpSvc", "IKEEXT" -ErrorAction SilentlyContinue |
Select-Object Name, DisplayName, Status |
Format-Table -AutoSize
# 7. Eventos relevantes del registro de eventos
Write-Host "[EVENTOS RECIENTES DE VPN]" -ForegroundColor Yellow
Get-WinEvent -FilterHashtable @{
LogName = 'Application', 'System'
Level = 2, 3
StartTime = (Get-Date).AddHours(-24)
} -MaxEvents 10 -ErrorAction SilentlyContinue |
Where-Object { $_.Message -like "*VPN*" -or $_.Message -like "*RAS*" -or
$_.Message -like "*IPsec*" } |
Select-Object TimeCreated, Id, Message |
Format-Table -AutoSize -Wrap
Códigos de error VPN en Windows 11: referencia completa
La verdad es que conocer los códigos de error es probablemente la herramienta más poderosa que tienes para un diagnóstico rápido. Aquí van los que más aparecen en entornos empresariales con Windows 11:
Error 720 — No hay protocolos de control PPP configurados
Este error indica que el cliente no tiene soporte de protocolo suficiente para comunicarse con el servidor. La causa más habitual son los miniports corruptos, y es más frecuente de lo que parece.
Solución:
- Abre el Administrador de dispositivos (
devmgmt.msc). - Expande Adaptadores de red.
- Desinstala los dispositivos WAN Miniport (IP), WAN Miniport (IPv6) y WAN Miniport (PPTP).
- Haz clic en Acción > Buscar cambios de hardware para que Windows los reinstale.
- Reinicia el equipo e intenta conectar.
# Reinstalar miniports WAN desde PowerShell (requiere admin)
$miniports = Get-PnpDevice | Where-Object {
$_.FriendlyName -like "WAN Miniport*"
}
foreach ($mp in $miniports) {
Write-Host "Desinstalando $($mp.FriendlyName)..."
Disable-PnpDevice -InstanceId $mp.InstanceId -Confirm:$false
Enable-PnpDevice -InstanceId $mp.InstanceId -Confirm:$false
}
Write-Host "Miniports reiniciados. Reinicia el equipo." -ForegroundColor Green
Error 789 — Fallo en la conexión L2TP por capa de seguridad
De los errores más frustrantes, sin duda. Aparece cuando la capa de seguridad encuentra un error de procesamiento durante las negociaciones iniciales con el servidor remoto. Las causas típicas:
- El adaptador de red está en un estado no funcional.
- El certificado o clave precompartida (PSK) no coincide entre cliente y servidor.
- Los puertos UDP 500 y 4500 están bloqueados por un firewall o NAT.
Solución:
# Verificar que IPsec está configurado para NAT traversal
# Agregar la clave de registro necesaria para L2TP detrás de NAT
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\PolicyAgent" `
-Name "AssumeUDPEncapsulationContextOnSendRule" `
-PropertyType DWORD -Value 2 -Force
# Reiniciar los servicios IPsec
Restart-Service -Name "IKEEXT" -Force
Restart-Service -Name "PolicyAgent" -Force
Write-Host "Configuración de NAT-T aplicada. Reinicia el equipo." -ForegroundColor Green
Error 800 — El túnel VPN ha fallado
Significa que el servidor VPN es inaccesible. El túnel no puede establecerse. Antes de buscar causas complejas, verifica lo básico (que a veces es lo que falla):
- ¿El nombre del servidor o la dirección IP son correctos?
- ¿Hay conectividad a Internet?
- ¿El firewall permite el tráfico necesario (TCP 1723 para PPTP, UDP 500/4500 para L2TP/IKEv2)?
# Verificar conectividad con el servidor VPN
$servidorVPN = "vpn.tuempresa.com"
# Test de resolución DNS
Write-Host "Resolviendo DNS..." -ForegroundColor Yellow
Resolve-DnsName $servidorVPN | Format-Table
# Test de conectividad HTTPS (SSTP)
Test-NetConnection -ComputerName $servidorVPN -Port 443
# Test de conectividad IKEv2/L2TP
Test-NetConnection -ComputerName $servidorVPN -Port 500 -Protocol UDP
# Trazar la ruta
Test-NetConnection -ComputerName $servidorVPN -TraceRoute |
Select-Object -ExpandProperty TraceRoute
Error 809 — El servidor remoto no responde
Similar al 800 pero más específico: la conexión no puede establecerse porque algún dispositivo de red (firewall, NAT o router) entre el equipo y el servidor no permite conexiones VPN. Este lo veo mucho cuando los usuarios intentan conectarse desde hoteles o redes de invitados.
Solución: Verificar que los puertos TCP 1723 (PPTP) y UDP 500, 4500 (L2TP/IKEv2) están abiertos en todos los firewalls intermedios. Si el usuario está en una red corporativa distinta o en un hotel, esos puertos suelen estar bloqueados. En esos casos, cambiar al protocolo SSTP (que usa el puerto 443) suele ser la salida más rápida, porque ese puerto rara vez se bloquea.
Error 812 — Política del servidor impide la conexión
El método de autenticación configurado en el servidor RRAS o NPS no coincide con el del cliente. Esto es especialmente común en despliegues de Always On VPN donde la política NPS no está alineada con el perfil del cliente — y créeme, esto pasa más de lo que piensas.
Solución: Verificar en el servidor NPS que el método de autenticación (EAP-TLS, PEAP-MSCHAPv2, etc.) coincide exactamente con lo configurado en el perfil VPN del cliente. Comprobar también que el usuario pertenece al grupo de seguridad autorizado para acceso remoto.
Windows 11 24H2 y las actualizaciones que rompen la VPN en 2026
El problema KB5055523: la KB que paralizó OpenVPN
Si hay un problema que ha definido el panorama VPN en entornos Windows 11 durante los primeros meses de 2026, es este. La actualización KB5055523 para Windows 11 24H2 causó un fallo crítico que afectó a OpenVPN 2.6.12 y otros clientes VPN de terceros. La solución que encontraron los usuarios fue bastante directa: desinstalar la KB, reiniciar y listo, todo volvió a funcionar.
Un detalle importante: esto solo afecta a dispositivos con Windows 11 24H2. Los equipos que siguen en 23H2 (cuyo fin de soporte es noviembre de 2026) no reciben esta actualización y no se ven afectados.
KB5067036 y KB5072033: problemas confirmados por Microsoft
Microsoft confirmó oficialmente que las actualizaciones KB5067036 (octubre de 2025) y KB5072033 (diciembre de 2025) causan problemas de conectividad VPN en entornos empresariales. El problema afecta específicamente a:
- Windows Subsystem for Linux (WSL) con red en modo espejo.
- Clientes VPN de terceros como OpenVPN y Cisco Secure Client.
- La causa raíz es que la interfaz virtual de la VPN no responde a las solicitudes del Protocolo de Resolución de Direcciones (ARP).
Dato que merece la pena destacar: este fallo afecta a ediciones Enterprise y no se ha reportado en Windows Home o Pro sin WSL habilitado.
Protocolo de respuesta para el helpdesk
Cuando una actualización de Windows rompe la VPN de forma masiva, necesitas actuar rápido. Este es el protocolo que mejor funciona:
- Verificar la KB responsable:
# Listar las actualizaciones instaladas en las últimas 48 horas
Get-HotFix | Where-Object {
$_.InstalledOn -gt (Get-Date).AddDays(-2)
} | Select-Object HotFixID, Description, InstalledOn |
Sort-Object InstalledOn -Descending | Format-Table -AutoSize
# Verificar específicamente las KBs problemáticas conocidas
$kbProblematicas = @("KB5055523", "KB5067036", "KB5072033", "KB5074109")
foreach ($kb in $kbProblematicas) {
$instalada = Get-HotFix -Id $kb -ErrorAction SilentlyContinue
if ($instalada) {
Write-Host "$kb INSTALADA - $($instalada.InstalledOn)" -ForegroundColor Red
} else {
Write-Host "$kb no encontrada" -ForegroundColor Green
}
}
- Desinstalar la actualización problemática (solución temporal):
# Desinstalar una KB específica (requiere admin y reinicio)
wusa /uninstall /kb:5055523 /quiet /norestart
# Pausar actualizaciones temporalmente con PowerShell
$regPath = "HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings"
Set-ItemProperty -Path $regPath -Name "PauseUpdatesExpiryTime" `
-Value (Get-Date).AddDays(35).ToString("yyyy-MM-ddTHH:mm:ssZ")
Write-Host "Actualizaciones pausadas por 35 días." -ForegroundColor Yellow
- Comunicar a los usuarios que se trata de un problema conocido de Microsoft y que se está trabajando en la solución. Esto es clave — una comunicación rápida reduce significativamente el volumen de tickets. En serio, no subestimes este paso.
Always On VPN: configuración y resolución de problemas en entornos empresariales
Qué es Always On VPN y por qué las empresas lo están adoptando
Always On VPN (AOVPN) es la solución de Microsoft para reemplazar DirectAccess y proporcionar conectividad VPN transparente al usuario. Se conecta automáticamente cuando el equipo detecta que no está en la red corporativa, sin que el usuario tenga que hacer nada. Es, en teoría, lo mejor que le ha pasado a la conectividad remota en Windows. En la práctica... tiene sus cosas, como veremos.
Requisito importante que mucha gente pasa por alto: Always On VPN con el cliente VPN nativo de Windows solo funciona con Windows Enterprise. Si un equipo tiene Windows Pro, el perfil AOVPN no se aplicará correctamente. En Intune, esto se resuelve creando una política que actualice la licencia de Pro a Enterprise.
El problema de los perfiles que desaparecen con Intune
Desde la llegada de Windows 11, uno de los problemas más reportados con Always On VPN desplegado mediante Microsoft Intune es que los perfiles VPN desaparecen y luego reaparecen. Así, sin más. Esto es extremadamente disruptivo para los usuarios en campo.
La causa raíz: cada vez que el dispositivo sincroniza con Intune, el perfil VPN se elimina y se reemplaza, incluso cuando no hay cambios en la configuración. Resultado: desconexiones aleatorias durante la sincronización que vuelven locos a los usuarios (y al helpdesk).
Dato clave que puede ahorrarte muchos dolores de cabeza: los perfiles AOVPN desplegados mediante PowerShell (de forma nativa o con SCCM/ConfigMgr) no presentan este problema. Solo ocurre con despliegues vía Intune.
Soluciones para Always On VPN con Intune
Opcion 1: Usar OMA-URI personalizado
En lugar del perfil VPN estándar de Intune, puedes crear un perfil de configuración personalizado con OMA-URI. Es un poco más de trabajo inicial pero te evita el problema de los perfiles que desaparecen:
OMA-URI: ./User/Vendor/MSFT/VPNv2/Always%20On%20VPN/ProfileXML
Tipo de dato: String (XML)
<!-- Ejemplo de ProfileXML para IKEv2 -->
<VPNProfile>
<AlwaysOn>true</AlwaysOn>
<RememberCredentials>true</RememberCredentials>
<TrustedNetworkDetection>tuempresa.local</TrustedNetworkDetection>
<NativeProfile>
<Servers>vpn.tuempresa.com</Servers>
<NativeProtocolType>IKEv2</NativeProtocolType>
<Authentication>
<MachineMethod>Certificate</MachineMethod>
</Authentication>
<RoutingPolicyType>SplitTunnel</RoutingPolicyType>
</NativeProfile>
<Route>
<Address>10.0.0.0</Address>
<PrefixSize>8</PrefixSize>
</Route>
<Route>
<Address>172.16.0.0</Address>
<PrefixSize>12</PrefixSize>
</Route>
</VPNProfile>
Opcion 2: Despliegue con Proactive Remediations
Otra opción que funciona bien es usar las Remediaciones Proactivas de Intune para verificar y reconstruir el perfil VPN automaticamente. Necesitas dos scripts:
# Script de DETECCIÓN (detection.ps1)
# Verifica si el perfil VPN existe y está configurado correctamente
$vpnName = "Always On VPN"
$expectedServer = "vpn.tuempresa.com"
try {
$vpn = Get-VpnConnection -Name $vpnName -AllUserConnection -ErrorAction Stop
if ($vpn.ServerAddress -eq $expectedServer -and $vpn.ConnectionStatus -ne "Invalid") {
Write-Host "Perfil VPN OK: $($vpn.Name) -> $($vpn.ServerAddress)"
exit 0 # Conforme - no necesita remediación
} else {
Write-Host "Perfil VPN desconfigurado"
exit 1 # No conforme - necesita remediación
}
} catch {
Write-Host "Perfil VPN no encontrado"
exit 1 # No conforme - necesita remediación
}
# Script de REMEDIACIÓN (remediation.ps1)
# Recrea el perfil VPN si no existe o está corrupto
$vpnName = "Always On VPN"
$serverAddress = "vpn.tuempresa.com"
# Eliminar perfil existente si está corrupto
Remove-VpnConnection -Name $vpnName -AllUserConnection -Force -ErrorAction SilentlyContinue
# Recrear el perfil
Add-VpnConnection -Name $vpnName `
-ServerAddress $serverAddress `
-TunnelType Ikev2 `
-EncryptionLevel Required `
-AuthenticationMethod MachineCertificate `
-SplitTunneling `
-AllUserConnection `
-PassThru
Write-Host "Perfil VPN recreado correctamente" -ForegroundColor Green
Verificar el estado de Always On VPN con PowerShell
Cuando necesitas ver exactamente qué está pasando con AOVPN en un equipo, este script te da una foto completa:
# Auditoría completa del estado de Always On VPN
$vpnName = "Always On VPN"
Write-Host "=== AUDITORÍA ALWAYS ON VPN ===" -ForegroundColor Cyan
# Verificar perfil del usuario actual
$userVPN = Get-VpnConnection -Name $vpnName -ErrorAction SilentlyContinue
if ($userVPN) {
Write-Host "`nPerfil de usuario:" -ForegroundColor Yellow
$userVPN | Select-Object Name, ServerAddress, TunnelType,
AuthenticationMethod, ConnectionStatus, SplitTunneling | Format-List
} else {
Write-Host "`nPerfil de usuario: NO ENCONTRADO" -ForegroundColor Red
}
# Verificar perfil de todos los usuarios (device tunnel)
$deviceVPN = Get-VpnConnection -Name $vpnName -AllUserConnection -ErrorAction SilentlyContinue
if ($deviceVPN) {
Write-Host "Perfil de dispositivo:" -ForegroundColor Yellow
$deviceVPN | Select-Object Name, ServerAddress, TunnelType,
ConnectionStatus | Format-List
} else {
Write-Host "Perfil de dispositivo: NO ENCONTRADO" -ForegroundColor Red
}
# Verificar el archivo rasphone.pbk
$pbkPath = "$env:ProgramData\Microsoft\Network\Connections\Pbk\rasphone.pbk"
if (Test-Path $pbkPath) {
$pbkContent = Get-Content $pbkPath
$vpnEntries = $pbkContent | Where-Object { $_ -match "^\[" }
Write-Host "Entradas en rasphone.pbk:" -ForegroundColor Yellow
$vpnEntries | ForEach-Object { Write-Host " $_" }
} else {
Write-Host "rasphone.pbk no encontrado en la ruta esperada" -ForegroundColor Red
}
# Revisar logs de Intune (si aplica)
$intuneLogPath = "$env:ProgramData\Microsoft\IntuneManagementExtension\Logs"
if (Test-Path $intuneLogPath) {
Write-Host "`nÚltimas entradas VPN en log de Intune:" -ForegroundColor Yellow
Get-ChildItem $intuneLogPath -Filter "*.log" |
Sort-Object LastWriteTime -Descending |
Select-Object -First 1 |
ForEach-Object {
Select-String -Path $_.FullName -Pattern "VPN|VPNv2" -Context 0,2 |
Select-Object -Last 5
}
}
Protocolos VPN en Windows 11: cuándo usar cada uno
Elegir el protocolo correcto puede evitarte muchos problemas antes de que ocurran. No todos los protocolos se comportan igual, y la elección depende bastante del contexto. Aquí va un resumen práctico para entornos corporativos en 2026:
IKEv2 — La opción recomendada para empresas
IKEv2 es el protocolo que Microsoft recomienda para Always On VPN y conexiones empresariales, y con razón. Ofrece reconexión automática (MOBIKE) cuando el usuario cambia de red (de Wi-Fi a datos móviles, por ejemplo), cifrado robusto y buen rendimiento. Usa los puertos UDP 500 y UDP 4500.
Eso sí, tiene una limitación real: puede ser bloqueado en redes restrictivas (hoteles, aeropuertos) porque usa puertos UDP no estándar. Algo a tener en cuenta.
SSTP — El protocolo que atraviesa cualquier firewall
SSTP encapsula el tráfico VPN dentro de HTTPS (puerto TCP 443), lo que lo hace prácticamente imposible de bloquear. Es la mejor opción para usuarios que necesitan conectarse desde redes restrictivas. El lado negativo: es exclusivo de Windows y tiene un rendimiento ligeramente inferior a IKEv2. Pero cuando necesitas que funcione sí o sí desde cualquier red, SSTP es tu amigo.
L2TP/IPsec — Legado pero presente
Todavía muy usado en infraestructuras existentes, pero con problemas conocidos en Windows 11 (errores 789, 809). Si estás manteniendo L2TP, asegúrate de tener la clave de registro AssumeUDPEncapsulationContextOnSendRule configurada correctamente. En mi opinión, si tienes la oportunidad de migrar a IKEv2, hazlo — te quitarás problemas de encima.
OpenVPN y WireGuard — Opciones de terceros
Ambos requieren software de terceros pero ofrecen excelente rendimiento y flexibilidad. Ten en cuenta que OpenVPN 2.6.12 ha tenido problemas específicos con Windows 11 24H2 y la KB5055523. Mantén siempre los clientes actualizados a la última versión compatible — parece un consejo obvio, pero la cantidad de veces que he visto problemas resueltos simplemente actualizando el cliente...
# Configurar conexiones VPN con diferentes protocolos
# IKEv2 con certificado (recomendado para empresas)
Add-VpnConnection -Name "VPN Corporativa IKEv2" `
-ServerAddress "vpn.tuempresa.com" `
-TunnelType Ikev2 `
-EncryptionLevel Maximum `
-AuthenticationMethod MachineCertificate `
-SplitTunneling `
-AllUserConnection
# SSTP (para redes restrictivas)
Add-VpnConnection -Name "VPN Corporativa SSTP" `
-ServerAddress "vpn.tuempresa.com" `
-TunnelType Sstp `
-EncryptionLevel Required `
-AuthenticationMethod MsChapv2 `
-SplitTunneling `
-RememberCredential
# L2TP/IPsec con clave precompartida
Add-VpnConnection -Name "VPN Corporativa L2TP" `
-ServerAddress "vpn.tuempresa.com" `
-TunnelType L2tp `
-L2tpPsk "TuClavePrecompartida" `
-EncryptionLevel Required `
-AuthenticationMethod MsChapv2 `
-AllUserConnection `
-Force
Diagnóstico avanzado: cuando el problema no es obvio
Verificar servicios de VPN en Windows
Windows 11 depende de varios servicios para que la VPN funcione correctamente. Si alguno está detenido o deshabilitado, la conexión va a fallar. Es de lo primero que conviene revisar cuando los pasos básicos no resuelven nada:
# Verificar y reparar servicios VPN críticos
$serviciosVPN = @(
@{Name="RasMan"; Desc="Administrador de conexiones de acceso remoto"},
@{Name="SstpSvc"; Desc="Servicio SSTP"},
@{Name="IKEEXT"; Desc="Módulos de creación de claves IPsec IKE y AuthIP"},
@{Name="PolicyAgent"; Desc="Agente de directiva IPsec"},
@{Name="RasAuto"; Desc="Administrador de conexión automática de acceso remoto"},
@{Name="Dnscache"; Desc="Cliente DNS"}
)
foreach ($svc in $serviciosVPN) {
$servicio = Get-Service -Name $svc.Name -ErrorAction SilentlyContinue
if ($servicio) {
$color = if ($servicio.Status -eq "Running") { "Green" } else { "Red" }
Write-Host "$($svc.Desc) ($($svc.Name)): $($servicio.Status)" -ForegroundColor $color
# Reiniciar si está detenido
if ($servicio.Status -ne "Running") {
Write-Host " Intentando iniciar..." -ForegroundColor Yellow
Start-Service -Name $svc.Name -ErrorAction SilentlyContinue
}
}
}
Diagnóstico de DNS en conexiones VPN
Este es un clásico. Un problema muy habitual en entornos empresariales: la VPN se conecta perfectamente, el usuario ve el estado como "Conectado", pero no puede acceder a ningún recurso interno por nombre. La causa suele ser una configuración de DNS incorrecta, y es de esas cosas que te pueden volver loco si no sabes dónde mirar.
# Diagnóstico de DNS para VPN
Write-Host "=== DIAGNÓSTICO DNS VPN ===" -ForegroundColor Cyan
# Servidores DNS configurados por adaptador
Get-DnsClientServerAddress |
Where-Object { $_.ServerAddresses.Count -gt 0 } |
Select-Object InterfaceAlias, AddressFamily, ServerAddresses |
Format-Table -AutoSize -Wrap
# Tabla NRPT (Name Resolution Policy Table)
# Usada por Always On VPN para resolver dominios internos
Get-DnsClientNrptRule | Select-Object Namespace, NameServers,
DnsSecIPsecRequired | Format-Table -AutoSize
# Verificar resolución de un recurso interno
$recursoInterno = "servidor.tuempresa.local"
Write-Host "`nResolviendo $recursoInterno..." -ForegroundColor Yellow
Resolve-DnsName $recursoInterno -ErrorAction SilentlyContinue | Format-Table
# Limpiar caché DNS si hay problemas de resolución
Clear-DnsClientCache
Write-Host "Caché DNS limpiada." -ForegroundColor Green
Split tunneling: cuándo activarlo y cuándo no
El split tunneling permite que solo el tráfico destinado a la red corporativa pase por la VPN, mientras el resto del tráfico usa la conexión local a Internet. Suena genial en teoría — mejora el rendimiento — pero también reduce el control de seguridad. La decisión depende del contexto:
- Activar split tunneling cuando: los usuarios necesitan buen rendimiento para videoconferencias (Teams, Zoom) y acceso simultáneo a recursos locales e Internet. Esto marca una diferencia enorme en la experiencia del usuario.
- Desactivar split tunneling cuando: la política de seguridad exige que todo el tráfico pase por la red corporativa para inspección (DLP, filtrado de contenido). Aquí no hay mucho margen de negociación.
# Configurar split tunneling con rutas específicas
$vpnName = "VPN Corporativa"
# Activar split tunneling
Set-VpnConnection -Name $vpnName -SplitTunneling $true
# Agregar rutas específicas para la red corporativa
Add-VpnConnectionRoute -ConnectionName $vpnName `
-DestinationPrefix "10.0.0.0/8"
Add-VpnConnectionRoute -ConnectionName $vpnName `
-DestinationPrefix "172.16.0.0/12"
Add-VpnConnectionRoute -ConnectionName $vpnName `
-DestinationPrefix "192.168.0.0/16"
# Optimizar para Microsoft 365 (excluir tráfico de Teams/Office)
# Las IPs de M365 se pueden obtener con:
# Invoke-RestMethod "https://endpoints.office.com/endpoints/worldwide?clientrequestid=$(New-Guid)"
Checklist del helpdesk: resolución de problemas VPN paso a paso
Esta checklist cubre el 90% de los problemas VPN que llegan al helpdesk. Tenla a mano, imprímela si hace falta — te va a ahorrar tiempo:
- Verificar conectividad a Internet — ¿El usuario puede navegar? Empieza siempre por aquí.
- Comprobar el código de error — Buscar en la tabla de referencia de este artículo.
- Revisar actualizaciones recientes — ¿Se instaló alguna KB en las últimas 48 horas?
- Verificar credenciales — ¿La contraseña ha expirado? ¿La cuenta está bloqueada en AD?
- Comprobar servicios de Windows — RasMan, IKEEXT, PolicyAgent deben estar ejecutándose.
- Probar otro protocolo — Si IKEv2 falla, intentar SSTP. Si L2TP falla, intentar IKEv2.
- Desactivar firewall/antivirus temporalmente — Para descartar bloqueos.
- Reinstalar miniports WAN — Solución para errores 720 y problemas de adaptador.
- Resetear la configuración de red —
netsh int ip resetynetsh winsock resetcomo último recurso antes de reinstalar. - Escalar — Si nada funciona, escalar a equipo de infraestructura de red con los logs recopilados. No hay vergüenza en escalar cuando ya has hecho todo lo anterior.
# Reseteo completo de la pila de red (último recurso)
# Ejecutar como administrador
netsh int ip reset
netsh winsock reset
ipconfig /flushdns
ipconfig /release
ipconfig /renew
Write-Host "Pila de red reseteada. REINICIO OBLIGATORIO." -ForegroundColor Red
Write-Host "Después del reinicio, verificar la conexión VPN." -ForegroundColor Yellow
Preguntas frecuentes
¿Por qué la VPN dejó de funcionar después de una actualización de Windows 11?
Porque las actualizaciones acumulativas de Windows pueden modificar controladores de red, cambiar el comportamiento de IPsec o afectar a clientes VPN de terceros. En 2026, las actualizaciones KB5055523, KB5067036 y KB5072033 han causado problemas confirmados con OpenVPN, Cisco Secure Client y el cliente VPN nativo de Windows. La solución inmediata es desinstalar la actualización problemática con wusa /uninstall /kb:NÚMERO y esperar a que Microsoft publique una corrección.
¿Cómo configuro la VPN integrada de Windows 11 sin software adicional?
Windows 11 incluye un cliente VPN nativo que soporta IKEv2, SSTP, L2TP/IPsec y PPTP. Para configurarlo: ve a Configuración > Red e Internet > VPN > Agregar VPN. Introduce el nombre de la conexión, la dirección del servidor, el tipo de VPN (protocolo) y las credenciales. Para despliegues empresariales, es mucho más práctico usar PowerShell con Add-VpnConnection o desplegar el perfil mediante Intune con OMA-URI personalizado.
¿Qué hago si la VPN se conecta pero no puedo acceder a los recursos de la empresa?
Nueve de cada diez veces es un problema de DNS o de enrutamiento. Verifica que el servidor DNS configurado en el adaptador VPN sea el DNS interno de la empresa (no un DNS público como 8.8.8.8). Comprueba también la configuración de split tunneling: si está activado, asegúrate de que las rutas hacia las subredes corporativas están añadidas correctamente. Usa Get-DnsClientNrptRule para verificar las reglas de resolución de nombres y route print para revisar la tabla de enrutamiento.
¿Es mejor IKEv2 o SSTP para una VPN empresarial en Windows 11?
Depende. IKEv2 es más rápido, soporta reconexión automática al cambiar de red (ideal para portátiles) y es el recomendado por Microsoft para Always On VPN. Pero usa puertos UDP que pueden estar bloqueados en redes restrictivas. SSTP usa el puerto 443 (HTTPS) y funciona en prácticamente cualquier red, aunque es exclusivo de Windows y algo más lento. La estrategia que mejor me ha funcionado es configurar IKEv2 como protocolo principal y tener SSTP como alternativa para cuando IKEv2 no puede conectar.
¿Cómo puedo diagnosticar problemas de VPN de forma remota sin acceso al equipo del usuario?
Usa el script de diagnóstico de PowerShell que incluimos en esta guía y envíaselo al usuario para que lo ejecute. Si tienes acceso a Intune, despliega el script como una Remediación Proactiva para recopilar datos automáticamente. También puedes usar Quick Assist (que viene integrado en Windows 11), escritorio remoto o soluciones RMM para ejecutar diagnósticos directamente en el equipo afectado. En mi experiencia, tener el script de diagnóstico listo y probado antes de que llegue el ticket te ahorra muchísimo tiempo.