Configurer ApexGuard sur le firmware AsusWRT-Merlin
1. Les prérequis
- Routeur Asus sous firmware AsusWRT-Merlin (ex. version 384.19 ou supérieure).
- Accès SSH/ligne de commande activé sur le routeur.
- Dans Merlin :
- Administration → Système.
- Activez SSH et définissez les identifiants.
- Dans Merlin :
- Identifiants IKEv2 ApexGuard (adresse serveur, clé pré-partagée, identifiants ou certificats).
- Entware installé sur votre routeur (pour installer strongSwan).
Si Entware n’est pas installé, consultez le wiki Entware AsusWRT-Merlin pour les instructions.
2. Installer strongSwan via Entware
Connexion SSH au routeur via un terminal (PuTTY, Terminal, etc.) :
ssh admin@192.168.1.1
- Remplacez
adminet192.168.1.1par votre nom d’utilisateur/IP réel si modifié
Actualisez les paquets Entware :
opkg update
Installez strongSwan :
opkg install strongswan
- Ceci installe les binaires principaux strongSwan IKEv2/IPsec
(Facultatif) Installez des plugins supplémentaires si ApexGuard l’exige (par ex. strongswan-mod-eap-mschapv2, strongswan-mod-eap-tls, ou autres) :
opkg install strongswan-mod-eap-mschapv2
opkg install strongswan-mod-eap-identity
...
3. Infos IKEv2 ApexGuard à recueillir
- Connectez-vous au compte ApexGuard.
- Accédez à Paramètres avancés → Configurer ApexGuard manuellement → Identifiants service / IPsec.
- Notez :
- Adresse serveur (ex.
ikev2.apexguard.comou IP). - Clé pré-partagée (PSK) si IKEv2 avec PSK.
- Nom d’utilisateur/Mot de passe (si EAP).
- Fichiers de certificat (si certificats).
- Adresse serveur (ex.
Pour cet exemple, supposons :
- Serveur :
ikev2.apexguard.com - PSK :
YOUR_PSK_HERE - Utilisateur local (si EAP) :
YOUR_USER_HERE - Voici un exemple simple basé sur PSK.
4. Créer/Modifier la configuration strongSwan
La configuration principale de strongSwan se trouve dans /opt/etc/strongswan.conf et /opt/etc/ipsec.conf (et parfois /opt/etc/ipsec.secrets). Voici un exemple minimal pour un scénario « road warrior » basé sur PSK. Adaptez-le aux propositions de phase 1/phase 2 recommandées par ApexGuard.
4.1 strongswan.conf
Créez ou modifiez le fichier /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
}
}
}
Cette configuration indique à charon (démon IKE) de charger les modules et crée un fichier journal.
4.2 ipsec.conf
Éditez ou créez le fichier /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
Note:
ike = aes256-sha512-modp2048!etesp = aes256-sha512!sont des exemples. Utilisez les suites conseillées par ApexGuardauto=addajoute seulement la connexion ; activez-la manuellement ou avecipsec up apexguard-ikev2. Sinon, utilisezauto=startpour lancer automatiquement le tunnel au démarrage.
4.3 ipsec.secrets
Créez ou modifiez /opt/etc/ipsec.secrets pour la clé pré-partagée :
# /opt/etc/ipsec.secrets
: PSK "YOUR_PSK_HERE"
Si vous avez besoin d’une identité différente ou d’identifiants EAP, la syntaxe change. Par exemple :
YOUR_USER_HERE : EAP "YOUR_PASSWORD_HERE"
: PSK "YOUR_PSK_HERE"
5. Démarrer et activer strongSwan au boot
Démarrage manuel strongSwan
ipsec start
Tester la config :
ipsec up apexguard-ikev2
- Si tout est correct, les messages de négociation doivent finir par quelque chose comme
connection 'apexguard-ikev2' established successfully. - Sinon, voyez
/opt/var/log/strongswan.logpour les erreurs.
Créez ou modifiez /jffs/scripts/post-mount (s’il n’existe pas, créez-le avec chmod +x /jffs/scripts/post-mount) :
#!/bin/sh
if [ -x /opt/sbin/ipsec ]; then
ipsec start
fi
- Vous pouvez aussi ajouter des commandes à
/jffs/scripts/services-startou à un script similaire. Vérifiez qu’Entware est monté avant de lancer strongSwan.
6. Routage par règles ou NAT (facultatif)
6.1 Routage PBR :
Pour acheminer le trafic de tous les appareils LAN via le tunnel IKEv2, configurez le routage par règles ou ajoutez des routes. Exemple dans l’interface Merlin :
- Allez à LAN → Route (ou Firewall → Routing rules pour le routage PBR).
- Ajoutez des routes statiques ou règles pour faire passer le sous-réseau LAN par l’interface IPsec.
strongSwan « installe des routes » par défaut si leftsourceip=%config et install_routes=yes sont utilisés (dans strongswan.conf). Une règle NAT peut aussi être nécessaire si le serveur ApexGuard attend un trafic NATé.
6.2 NAT sur le routeur
Créez ou modifiez /jffs/scripts/firewall-start :
#!/bin/sh
iptables -t nat -A POSTROUTING -o ipsec0 -j MASQUERADE
- Remplacez
ipsec0par le nom réel de l’interface utilisée par strongSwan (parfoisip_vti0,vti1, etc., selon votre configuration).
Rendre exécutable :
chmod +x /jffs/scripts/firewall-start
Vérifiez ipsec statusall ou ip a pour confirmer le nom de l’interface IPsec.
7. (Facultatif) Certificats ou EAP pour auth IKEv2
- Téléversez votre AC, certificat client et clé dans
/opt/etc/ipsec.d/(ex.cacerts/,certs/,private/).
Modifiez /opt/etc/ipsec.conf :
ini
leftauth=pubkey
leftcert=clientCert.pem
leftfirewall=yes
rightauth=pubkey
...
- Modifiez
/opt/etc/ipsec.secretspour la clé privée protégée par phrase de passe.
Installer modules 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
Dans ipsec.secrets :
ini
YOUR_USER_HERE : EAP "YOUR_PASSWORD_HERE"
: PSK "YOUR_PSK_HERE"
8. Vérifier le tunnel
Vérifiez l’état :
ipsec status
ipsec statusall
- La connexion
apexguard-ikev2doit afficher « ESTABLISHED » ou « INSTALLED ». - Testez le trafic :
- Depuis un appareil LAN, ouvrez un site « mon IP » ou le tableau ApexGuard pour vérifier que votre IP publique est celle du VPN.
- Si l’IP du FAI apparaît, vérifiez le tunnel et, au besoin, configurez routage par règles ou NAT.
9. Facultatif : Kill Switch de secours
Contrairement au Kill Switch OpenVPN de Merlin, pour IPsec le script doit être créé manuellement :
- Ajoutez des règles iptables dans
firewall-startqui bloquent le trafic sortant si l’interfaceipsec0tombe.
Par exemple :
#!/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
- Adaptez noms d’interfaces, sous-réseaux et ordre des chaînes.
Cet article vous a-t-il été utile ?
Merci, vous nous aidez à nous améliorer !