ApexGuard instellen op AsusWRT-Merlin-firmware
1. Benodigdheden
- Asus-router met AsusWRT-Merlin-firmware (bijv. versie 384.19 of hoger).
- SSH/opdrachtregeltoegang moet aanstaan.
- In de Merlin-webinterface:
- Ga naar Administration → System.
- Schakel SSH in en stel inloggegevens in.
- In de Merlin-webinterface:
- ApexGuard IKEv2 inloggegevens (serveradres, pre-shared key, gebruikersgegevens of certificaten).
- Entware moet op je router staan (voor installatie van strongSwan).
Heb je Entware nog niet geïnstalleerd, raadpleeg de AsusWRT-Merlin Entware-wiki voor instructies.
2. Installeer strongSwan via Entware
Maak via SSH verbinding met de router (PuTTY, Terminal enz.):
ssh admin@192.168.1.1
- Vervang
adminen192.168.1.1door je gebruikersnaam/IP als ze gewijzigd zijn.
Entware-pakketlijst bijwerken:
opkg update
Installeer strongSwan
opkg install strongswan
- Dit installeert strongSwan-kernbinaries voor IKEv2/IPsec.
(Optioneel) Installeer extra plug-ins als ApexGuard dit vereist (bijv. strongswan-mod-eap-mschapv2, strongswan-mod-eap-tls, of andere):
opkg install strongswan-mod-eap-mschapv2
opkg install strongswan-mod-eap-identity
...
3. Verzamel je ApexGuard IKEv2 gegevens
- Log in op je ApexGuard-account.
- Ga naar Advanced Settings → Set up ApexGuard manually → Service Credentials / IPsec credentials.
- Noteer:
- Serveradres (bijv.
ikev2.apexguard.comof IP). - Pre-shared key (PSK) bij PSK-gebaseerde IKEv2.
- Gebruikersnaam/wachtwoord (bij EAP).
- Certificaatbestanden (bij certificaten).
- Serveradres (bijv.
Voor dit voorbeeld nemen we aan:
- Server:
ikev2.apexguard.com - PSK:
YOUR_PSK_HERE - Lokale gebruikersnaam (bij EAP):
YOUR_USER_HERE - We tonen een eenvoudig PSK-voorbeeld.
4. De strongSwan-configuratie aanmaken/wijzigen
De hoofdconfiguratie van strongSwan staat in /opt/etc/strongswan.conf en /opt/etc/ipsec.conf (en soms /opt/etc/ipsec.secrets). Hieronder staat een minimaal voorbeeld voor een PSK-gebaseerd “road warrior”-scenario. Pas dit aan volgens de door ApexGuard aanbevolen fase 1/fase 2-voorstellen.
4.1 strongswan.conf
Maak of bewerk het bestand /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
}
}
}
Dit is een basisconfig die charon (de IKE-daemon) modules laat laden en een logbestand instelt.
4.2 ipsec.conf
Maak of bewerk het bestand /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
Noot:
ike = aes256-sha512-modp2048!enesp = aes256-sha512!zijn voorbeelden. Gebruik de ciphers die ApexGuard aanbeveelt.auto=addbetekent dat we de verbinding alleen toevoegen en handmatig starten of viaipsec up apexguard-ikev2. Gebruik andersauto=startals je wilt dat de tunnel automatisch start bij het opstarten.
4.3 ipsec.secrets
Maak of bewerk /opt/etc/ipsec.secrets om je pre-shared key op te slaan:
# /opt/etc/ipsec.secrets
: PSK "YOUR_PSK_HERE"
Heb je een andere identiteit of EAP gebruikersgegevens nodig, dan verandert de syntax. Bijvoorbeeld:
YOUR_USER_HERE : EAP "YOUR_PASSWORD_HERE"
: PSK "YOUR_PSK_HERE"
5. strongSwan starten en autostart aan
Start strongSwan handmatig:
ipsec start
Test configuratie:
ipsec up apexguard-ikev2
- Als alles klopt, zie je onderhandelingsberichten die eindigen met iets als
connection 'apexguard-ikev2' established successfully. - Zo niet, controleer
/opt/var/log/strongswan.logop fouten.
Maak of bewerk /jffs/scripts/post-mount (als het bestand niet bestaat, maak het aan met chmod +x /jffs/scripts/post-mount):
#!/bin/sh
if [ -x /opt/sbin/ipsec ]; then
ipsec start
fi
- Voeg eventueel commando’s toe aan
/jffs/scripts/services-startof een vergelijkbaar opstartscript. Het is belangrijk dat Entware is gekoppeld voordat strongSwan wordt gestart.
6. Policy routing of NAT configureren (optioneel)
6.1 Policy routing
Wil je alle LAN-apparaten via de IKEv2 tunnel routeren, stel dan policy-based routing in of voeg handmatig routes toe. Bijvoorbeeld in de Merlin-GUI:
- Ga naar LAN → Route (of kies Firewall → Routing rules voor policy-based).
- Voeg statische routes of regels toe zodat het LAN-subnet via de IPsec-tunnelinterface loopt.
strongSwan zal echter standaard ‘routes installeren’ als leftsourceip=%config en install_routes=yes worden gebruikt (in strongswan.conf). Mogelijk heb je ook een NAT-regel nodig als de ApexGuard-server NAT-verkeer verwacht.
6.2 NAT op de router
Maak of bewerk /jffs/scripts/firewall-start:
#!/bin/sh
iptables -t nat -A POSTROUTING -o ipsec0 -j MASQUERADE
- Vervang
ipsec0door de werkelijke interfacenaam die strongSwan gebruikt (somsip_vti0,vti1enz., afhankelijk van je setup).
Maak dit uitvoerbaar
chmod +x /jffs/scripts/firewall-start
Controleer logs (ipsec statusall) of ip a om de IPsec-interface te bevestigen.
7. Optioneel: IKEv2 authenticatie met certificaat/EAP
- Upload je CA, clientcertificaat en sleutel naar
/opt/etc/ipsec.d/(bijv.cacerts/,certs/,private/).
Bewerk /opt/etc/ipsec.conf:
ini
leftauth=pubkey
leftcert=clientCert.pem
leftfirewall=yes
rightauth=pubkey
...
- Bewerk
/opt/etc/ipsec.secretsvoor de privésleutel als die een wachtwoordzin heeft.
Installeer EAP-modules
opkg install strongswan-mod-eap-mschapv2
opkg install strongswan-mod-eap-identity
In ipsec.conf:
ini
leftauth=eap-mschapv2
leftid=YOUR_USER_HERE
rightauth=psk # or rightauth=eap, depending on apexguard requirements
In ipsec.secrets:
ini
YOUR_USER_HERE : EAP "YOUR_PASSWORD_HERE"
: PSK "YOUR_PSK_HERE"
8. Tunnel verifiëren
Controleer status:
ipsec status
ipsec statusall
- Je zou de verbinding
apexguard-ikev2als ‘ESTABLISHED’ of ‘INSTALLED’ moeten zien. - Test verkeer:
- Vanaf een LAN-apparaat: bezoek een ‘wat is mijn IP’-site of het ApexGuard-dashboard om te zien of je IP de VPN toont.
- Zie je alleen je ISP-IP, dan is mogelijk policy routing of NAT nodig, of moet je controleren of de tunnel actief is.
9. Optioneel: kill switch & fail-safe
Anders dan bij de ingebouwde OpenVPN kill switch in Merlin moet je dit voor IPsec handmatig scripten:
- Voeg iptables-regels toe in
firewall-startdie uitgaand verkeer blokkeren als de interfaceipsec0uitvalt.
Bijvoorbeeld:
#!/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
- Pas interfacenamen, subnetten en chainvolgorde zo nodig aan.
Was dit artikel nuttig?
Bedankt, je helpt ons verbeteren!