VPN corporativa dentro de WireGuard: ¿qué capa va primero?
Dos clientes en una misma máquina solo funcionan cuando el túnel exterior transporta el punto final del cliente interior y las métricas eligen la interfaz correcta para cada prefijo.
Hay dos razones legítimas para anidar túneles en un portátil de desarrollo. O el cliente corporativo tiene que parecer que viene de un país concreto, o dos redes privadas deben ser accesibles al mismo tiempo. Ambos casos necesitan que el túnel exterior transporte la propia conexión del cliente interior.
Arrancar dos clientes en cualquier orden no lo consigue. Lo consigue el enrutamiento.
Compare los dos órdenes posibles
Elija la capa exterior como el túnel cuyo punto final puede alcanzar internet pública. La capa interior es el túnel cuyo servidor solo responde a través de esa salida. En Windows la división práctica es WireGuard fuera y el cliente corporativo dentro. El factor decisivo es el control.
El cliente oficial de WireGuard aplica un archivo de configuración completo, rutas y DNS incluidos. Los clientes corporativos comerciales suelen ocultar ambas cosas. Poner un cliente oculto fuera le deja adivinando la ruta que hay debajo.
El orden inverso no es imposible. Es más difícil de razonar, porque el cliente exterior reescribe las rutas según un calendario que nunca ve.
Deje que AllowedIPs nombre solo el rango corporativo
AllowedIPs enumera los destinos que WireGuard encamina al túnel. Para anidar solo necesita la dirección del servidor interior y los prefijos corporativos. Todo lo demás se queda en la red local, impresoras e hipervisor incluidos. Eso es un túnel dividido por diseño y evita por completo el problema de la exclusión.
Una capa exterior de túnel completo necesita 0.0.0.0/0 menos los rangos locales. El formato no puede expresar una exclusión, así que el complemento hay que calcularlo y pegarlo.
[Interface]
PrivateKey = ...
Address = 10.99.4.2/32
[Peer]
PublicKey = ...
Endpoint = 198.51.100.44:51820
AllowedIPs = 198.51.100.44/32, 10.20.0.0/16, 10.21.0.0/16
Cuando el cliente interior no instala sus propias rutas, enumere usted los prefijos corporativos. Un prefijo que falte en esa línea es un destino que el túnel exterior nunca transporta. Una copia desactualizada de la lista es peor que ninguna, porque sigue pareciendo correcta.
Orden, métricas y el segundo adaptador
Conecte primero el túnel exterior y luego arranque el cliente corporativo. Así la conexión de su punto final sale por WireGuard en lugar de la puerta de enlace local. Dé a la interfaz corporativa una métrica más baja para que sus prefijos ganen para las direcciones que posee.
# which interface currently claims the corporate prefix?
Find-NetRoute -RemoteIPAddress 10.20.10.5 | Select-Object -First 1
# prefer the corporate interface for its own prefixes
Set-NetIPInterface -InterfaceAlias 'Corp VPN' -InterfaceMetric 3
Set-NetIPInterface -InterfaceAlias 'wg-personal' -InterfaceMetric 40
wg show interfaces
Las métricas son el paso que la gente se salta. Sin un orden, la ruta instalada en último lugar gana para el prefijo solapado. Eso cambia entre arranques, y por eso el problema parece intermitente.
Los clientes basados en OpenVPN 2.6 añaden una trampa propia. Cuando el adaptador de descarga del canal de datos ya está ocupado, una segunda instancia simplemente se niega a arrancar. Añadir disable-dco al perfil vuelve a la ruta TAP más antigua, y entonces ambos funcionan uno junto al otro.
Dónde se rompe la ruta anidada
Desconectar el túnel exterior mata el interior. Volver a conectar solo el cliente interior a menudo lo envía directo a internet y elimina en silencio el anidamiento. Pruebe la secuencia desde cero cada vez, empezando con ambos túneles detenidos.
Espere una MTU útil más pequeña. Cada capa añade sobrecarga, así que un par inicial en torno a 1420 y 1400 es un buen punto de partida. Una transferencia que se cuelga con paquetes grandes mientras las peticiones pequeñas funcionan es la señal habitual. La política corporativa es el otro límite, porque un cliente que exige un dispositivo gestionado puede considerar una ruta anidada una infracción.
Cuando ambos extremos son redes fijas, un túnel de sitio a sitio entre las puertas de enlace elimina el problema del orden en lugar de gestionarlo. En un solo portátil, dos túneles coexisten solo cuando cada uno tiene su propia interfaz y una regla que selecciona destinos por prefijo.