Configurare ApexGuard pe firmware AsusWRT-Merlin
1. Precondiții:
- Router Asus cu firmware AsusWRT-Merlin (de ex., versiunea 384.19 sau mai nouă).
- Acces SSH/CLI activ pe router.
- În interfața Merlin:
- Accesați Administration → System.
- Activați SSH și setați datele de acces.
- În interfața Merlin:
- Date de autentificare IKEv2 ApexGuard (adresă server, cheie PSK, utilizator sau certificate).
- Entware instalat pe router (pentru instalarea strongSwan).
Dacă nu ați instalat încă Entware, consultați wiki-ul Entware pentru AsusWRT-Merlin pentru instrucțiuni.
2. Instalați strongSwan prin Entware
Conectați-vă prin SSH la router cu o aplicație ca PuTTY sau Terminal:
ssh admin@192.168.1.1
- Înlocuiți
adminși192.168.1.1cu utilizatorul/IP-ul real dacă diferă.
Actualizați pachetele Entware:
opkg update
Instalați strongSwan:
opkg install strongswan
- Aceasta instalează binarele de bază strongSwan IKEv2/IPsec.
(Opțional) Instalați pluginuri suplimentare dacă le cere ApexGuard (de ex., strongswan-mod-eap-mschapv2, strongswan-mod-eap-tls sau altele):
opkg install strongswan-mod-eap-mschapv2
opkg install strongswan-mod-eap-identity
...
3. Colectați detaliile IKEv2 ApexGuard
- Conectați-vă la contul ApexGuard.
- Accesați Setări avansate → Configurați ApexGuard manual → Date de autentificare pentru serviciu / IPsec.
- Notați:
- Adresa serverului (de ex.,
ikev2.apexguard.comsau IP). - Cheia pre-partajată (PSK), pentru IKEv2 cu PSK.
- Utilizator/Parolă (pentru EAP).
- Certificate (pentru autentificare cu certificat).
- Adresa serverului (de ex.,
În acest exemplu, presupunem:
- Server:
ikev2.apexguard.com - PSK:
YOUR_PSK_HERE - Utilizator local (pentru EAP):
YOUR_USER_HERE - Vom folosi un exemplu simplu cu PSK.
4. Creați/Modificați configurația strongSwan
Configurația strongSwan se află în /opt/etc/strongswan.conf și /opt/etc/ipsec.conf (uneori și în /opt/etc/ipsec.secrets). Mai jos este un exemplu minimal pentru un scenariu „road warrior” bazat pe PSK. Ajustați-l la propunerile ApexGuard pentru fazele 1/2.
4.1 strongswan.conf
Creați sau editați fișierul /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
}
}
}
Configurația îi spune lui charon (demonul IKE) să încarce module și setează fișierul jurnal.
4.2 ipsec.conf
Creați sau editați fișierul /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
Notă:
ike = aes256-sha512-modp2048!șiesp = aes256-sha512!sunt exemple. Folosiți cifrurile recomandate de ApexGuard.auto=addînseamnă că doar adăugăm conexiunea și o activăm manual sau prinipsec up apexguard-ikev2. Alternativ, folosițiauto=startdacă doriți ca tunelul să pornească automat la pornirea sistemului.
4.3 ipsec.secrets
Creați sau editați /opt/etc/ipsec.secrets pentru cheia pre-partajată:
# /opt/etc/ipsec.secrets
: PSK "YOUR_PSK_HERE"
Dacă aveți nevoie de altă identitate sau credențiale EAP pentru utilizator, sintaxa diferă. De exemplu:
YOUR_USER_HERE : EAP "YOUR_PASSWORD_HERE"
: PSK "YOUR_PSK_HERE"
5. Porniți strongSwan odată cu sistemul
Porniți strongSwan manual:
ipsec start
Testați setarea:
ipsec up apexguard-ikev2
- Dacă totul este corect, ar trebui să vedeți mesaje de negociere care se încheie cu ceva de genul
connection 'apexguard-ikev2' established successfully. - Dacă nu, vedeți
/opt/var/log/strongswan.logpentru erori.
Creați sau editați /jffs/scripts/post-mount (dacă nu există, creați-l cu chmod +x /jffs/scripts/post-mount):
#!/bin/sh
if [ -x /opt/sbin/ipsec ]; then
ipsec start
fi
- Alternativ, adăugați comenzi în
/jffs/scripts/services-startsau într-un script de pornire similar. Important este ca Entware să fie montat înainte de pornirea strongSwan.
6. Configurați rutare pe politici/NAT (opțional)
6.1 Rutare prin PBR
Dacă vreți ca toate dispozitivele LAN să trimită traficul prin tunelul IKEv2, configurați rutarea bazată pe politici sau adăugați rute manual. De exemplu, în interfața Merlin:
- Accesați LAN → Route (sau Firewall → Reguli de rutare pentru politici).
- Adăugați rute statice sau reguli pentru ca subrețeaua LAN să folosească interfața tunelului IPsec.
Totuși, strongSwan instalează implicit rute dacă se folosesc leftsourceip=%config și install_routes=yes (în strongswan.conf). Poate fi necesară și o regulă NAT dacă serverul ApexGuard așteaptă trafic cu NAT.
6.2 NAT pentru router
Creați sau editați /jffs/scripts/firewall-start:
#!/bin/sh
iptables -t nat -A POSTROUTING -o ipsec0 -j MASQUERADE
- Înlocuiți
ipsec0cu numele real al interfeței folosite de strongSwan (uneoriip_vti0,vti1etc., în funcție de configurație).
Faceți-l executabil:
chmod +x /jffs/scripts/firewall-start
Verificați jurnalele (ipsec statusall) sau ip a pentru numele interfeței IPsec.
7. (Opțional) Folosiți certificate sau EAP IKEv2
- Încărcați CA-ul, certificatul de client și cheia în
/opt/etc/ipsec.d/(de ex.,cacerts/,certs/,private/).
Editați /opt/etc/ipsec.conf:
ini
leftauth=pubkey
leftcert=clientCert.pem
leftfirewall=yes
rightauth=pubkey
...
- Modificați
/opt/etc/ipsec.secretspentru cheia privată, dacă este protejată cu parolă.
Instalați module EAP:
opkg install strongswan-mod-eap-mschapv2
opkg install strongswan-mod-eap-identity
În ipsec.conf:
ini
leftauth=eap-mschapv2
leftid=YOUR_USER_HERE
rightauth=psk # or rightauth=eap, depending on apexguard requirements
În ipsec.secrets:
ini
YOUR_USER_HERE : EAP "YOUR_PASSWORD_HERE"
: PSK "YOUR_PSK_HERE"
8. Verificați tunelul
Verificați starea:
ipsec status
ipsec statusall
- Ar trebui să vedeți conexiunea
apexguard-ikev2„ESTABLISHED” sau „INSTALLED”. - Testați traficul:
- De pe un dispozitiv LAN, deschideți un site „what’s my IP” sau panoul ApexGuard și verificați că IP-ul public este cel al VPN-ului.
- Dacă vedeți doar IP-ul ISP, verificați tunelul și, la nevoie, rutarea PBR sau NAT.
9. Opțional: Kill switch de siguranță
Spre deosebire de kill switch-ul OpenVPN din Merlin, pentru IPsec trebuie să creați manual un script:
- Adăugați reguli iptables în
firewall-startcare blochează traficul de ieșire dacă interfațaipsec0pică.
De exemplu:
#!/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ți interfețele, subrețelele și ordinea după nevoie.
A fost util acest articol?
Îți mulțumim, ne ajuți să devenim mai buni!