Configurar ApexGuard en el firmware AsusWRT-Merlin
1. Requisitos VPN
- Router Asus con firmware AsusWRT-Merlin (p. ej., versión 384.19 o superior).
- Acceso SSH/línea de comandos activo en router.
- En la web de Merlin:
- Ve a Administración → Sistema.
- Activa SSH y define credenciales.
- En la web de Merlin:
- Credenciales IKEv2 de ApexGuard (servidor, clave precompartida, usuario o certificados).
- Entware instalado en tu router (para instalar strongSwan).
Si aún no instalaste Entware, consulta la wiki de Entware para AsusWRT-Merlin para ver instrucciones.
2. Instala strongSwan con Entware
Conéctate por SSH al router con terminal (PuTTY, Terminal, etc.):
ssh admin@192.168.1.1
- Sustituye
adminy192.168.1.1por tu usuario/IP reales si los has cambiado.
Actualiza paquetes de Entware:
opkg update
Instala strongSwan:
opkg install strongswan
- Esto instala los binarios base de strongSwan IKEv2/IPsec.
(Opcional) Instala complementos adicionales si ApexGuard los requiere (p. ej., strongswan-mod-eap-mschapv2, strongswan-mod-eap-tls u otros):
opkg install strongswan-mod-eap-mschapv2
opkg install strongswan-mod-eap-identity
...
3. Reúne los datos IKEv2 de tu ApexGuard
- Inicia sesión en cuenta ApexGuard.
- Ve a Ajustes avanzados → Configurar ApexGuard manualmente → Credenciales de servicio / credenciales IPsec.
- Anota:
- Servidor (p. ej.,
ikev2.apexguard.como IP). - Clave precompartida (PSK) si usas IKEv2 con PSK.
- Usuario/contraseña (si usa EAP).
- Certificados (si usa certificados).
- Servidor (p. ej.,
Para este ejemplo, usaremos:
- Servidor:
ikev2.apexguard.com - PSK:
YOUR_PSK_HERE - Usuario local (si se usa EAP):
YOUR_USER_HERE - Mostramos un ejemplo básico con PSK.
4. Crea/Modifica la configuración de strongSwan
La configuración principal de strongSwan está en /opt/etc/strongswan.conf y /opt/etc/ipsec.conf (a veces /opt/etc/ipsec.secrets). Este es un ejemplo mínimo para un escenario «road warrior» basado en PSK. Ajústalo a las propuestas de fase 1/fase 2 que recomienda ApexGuard.
4.1 strongswan.conf
Crea o edita el archivo /opt/etc/strongswan.conf:
# /opt/etc/strongswan.conf
charon {
# Plugins you need, e.g. for kernel-netlink, stroke
load_modular = yes
install_routes = no
# Logging, optional
filelog {
/opt/var/log/strongswan.log {
time_format = %b %e %T
append = no
default = 1
flush_line = yes
}
}
}
Configuración básica: indica a charon (demonio IKE) que cargue módulos y configura un archivo de registro.
4.2 ipsec.conf
Crea o edita el archivo /opt/etc/ipsec.conf:
# /opt/etc/ipsec.conf
config setup
uniqueids = never
conn apexguard-ikev2
# IKE settings
keyexchange = ikev2
ike = aes256-sha512-modp2048!
esp = aes256-sha512!
# Adjust proposals as needed
# Remote server
left=%defaultroute
leftid=%any
leftauth=psk
leftsourceip=%config # Request an internal IP if supported
# Right side: ApexGuard server
right=ikev2.apexguard.com
rightauth=psk
rightsubnet=0.0.0.0/0 # If you want to route all traffic
auto=add
Nota:
ike = aes256-sha512-modp2048!yesp = aes256-sha512!son ejemplos. Usa los cifrados que recomiende ApexGuard.auto=addsolo añade la conexión; actívala manualmente o conipsec up apexguard-ikev2. Usaauto=startsi quieres iniciar el túnel automáticamente al arrancar el router.
4.3 ipsec.secrets
Crea o edita /opt/etc/ipsec.secrets para guardar tu clave precompartida:
# /opt/etc/ipsec.secrets
: PSK "YOUR_PSK_HERE"
Si necesitas otra identidad o credenciales de usuario EAP, cambia la sintaxis. Por ejemplo:
YOUR_USER_HERE : EAP "YOUR_PASSWORD_HERE"
: PSK "YOUR_PSK_HERE"
5. Inicia strongSwan con el arranque
Inicia strongSwan a mano:
ipsec start
Prueba la config:
ipsec up apexguard-ikev2
- Si todo es correcto, deberías ver mensajes de negociación que concluyen con algo como
connection 'apexguard-ikev2' established successfully. - Si no, revisa
/opt/var/log/strongswan.logpara errores.
Crea o edita /jffs/scripts/post-mount (si no existe, créalo y ejecuta chmod +x /jffs/scripts/post-mount):
#!/bin/sh
if [ -x /opt/sbin/ipsec ]; then
ipsec start
fi
- Alternativamente, añade comandos a
/jffs/scripts/services-starto a un script de inicio similar. La clave es asegurarte de que Entware esté montado antes de iniciar strongSwan.
6. Configura enrutamiento o NAT (opcional)
6.1 Rutas políticas
Si quieres que todos los equipos LAN usen el túnel IKEv2, configura enrutamiento por políticas o añade rutas. Por ejemplo, en la interfaz Merlin:
- Ve a LAN → Route (o usa Firewall → Routing rules para políticas).
- Añade rutas estáticas o define reglas para que la subred LAN pase por la interfaz del túnel IPsec.
Sin embargo, strongSwan por defecto “instalará rutas” si se usan leftsourceip=%config e install_routes=yes (en strongswan.conf). También puede que necesites una regla NAT si el servidor de ApexGuard espera tráfico con NAT.
6.2 NAT en el router
Crea o edita /jffs/scripts/firewall-start:
#!/bin/sh
iptables -t nat -A POSTROUTING -o ipsec0 -j MASQUERADE
- Sustituye
ipsec0por el nombre real de la interfaz que usa strongSwan (a vecesip_vti0,vti1, etc., según tu configuración).
Déjalo ejecutable:
chmod +x /jffs/scripts/firewall-start
Revisa ipsec statusall o ip a para confirmar el nombre de la interfaz IPsec.
7. (Opcional) Certificados o EAP para autenticación IKEv2
- Sube tu CA, certificado de cliente y clave a
/opt/etc/ipsec.d/(p. ej.,cacerts/,certs/,private/).
Modifica /opt/etc/ipsec.conf:
ini
leftauth=pubkey
leftcert=clientCert.pem
leftfirewall=yes
rightauth=pubkey
...
- Modifica
/opt/etc/ipsec.secretspara la clave privada si tiene frase de contraseña.
Instala módulos EAP:
opkg install strongswan-mod-eap-mschapv2
opkg install strongswan-mod-eap-identity
En ipsec.conf:
ini
leftauth=eap-mschapv2
leftid=YOUR_USER_HERE
rightauth=psk # or rightauth=eap, depending on apexguard requirements
En ipsec.secrets:
ini
YOUR_USER_HERE : EAP "YOUR_PASSWORD_HERE"
: PSK "YOUR_PSK_HERE"
8. Verifica el túnel
Comprueba estado:
ipsec status
ipsec statusall
- Deberías ver la conexión
apexguard-ikev2como “ESTABLISHED” o “INSTALLED”. - Prueba el tráfico:
- Desde un equipo LAN, visita un sitio “cuál es mi IP” o el panel de ApexGuard para comprobar que tu IP pública refleja la VPN.
- Si solo ves la IP de tu ISP, quizá necesites rutas por políticas, NAT o que el túnel esté activo.
9. Opcional: Kill Switch y seguridad
A diferencia del Kill Switch de Merlin para OpenVPN, en IPsec debes crearlo manualmente con un script:
- Añade reglas de iptables en
firewall-startque bloqueen el tráfico saliente si la interfazipsec0se cae.
Por ejemplo:
#!/bin/sh
# Block all traffic if ipsec0 is NOT available
iptables -I FORWARD -s 192.168.1.0/24 -o $(nvram get wan0_ifname) -j DROP
# Then allow traffic if ipsec0 is up
iptables -I FORWARD -s 192.168.1.0/24 -o ipsec0 -j ACCEPT
- Ajusta interfaces, subredes y orden de cadenas según haga falta.
¿Te ha resultado útil este artículo?
¡Gracias, nos ayudas a mejorar!