Ρύθμιση του ApexGuard σε firmware AsusWRT-Merlin
1. Προαπαιτούμενα
- Router Asus με firmware AsusWRT-Merlin (π.χ. έκδοση 384.19 ή νεότερη).
- SSH/CLI ενεργό στον router σας.
- Στο Merlin web GUI:
- Πηγαίνετε Administration → System.
- Ενεργοποιήστε SSH και ορίστε στοιχεία σύνδεσης.
- Στο Merlin web GUI:
- Στοιχεία IKEv2 ApexGuard (διεύθυνση server, προκοινοποιημένο κλειδί, στοιχεία χρήστη ή πιστοποιητικά).
- Με Entware εγκατεστημένο στον router σας (για strongSwan).
Αν δεν έχετε εγκαταστήσει ακόμη το Entware, δείτε το wiki Entware για AsusWRT-Merlin για οδηγίες.
2. Εγκατάσταση strongSwan με Entware
SSH στον router σας μέσω terminal app (PuTTY, Terminal κ.λπ.):
ssh admin@192.168.1.1
- Αντικαταστήστε
adminκαι192.168.1.1με το δικό σας username/IP αν άλλαξαν.
Ενημερώστε λίστα πακέτων Entware:
opkg update
Εγκατάσταση strongSwan
opkg install strongswan
- Αυτό εγκαθιστά τα βασικά εκτελέσιμα strongSwan IKEv2/IPsec.
(Προαιρετικό) Εγκαταστήστε plugins αν απαιτούνται από το ApexGuard (π.χ. strongswan-mod-eap-mschapv2, strongswan-mod-eap-tls ή άλλα):
opkg install strongswan-mod-eap-mschapv2
opkg install strongswan-mod-eap-identity
...
3. Συλλέξτε στοιχεία IKEv2 ApexGuard
- Συνδεθείτε στον λογαριασμό ApexGuard
- Μεταβείτε στις Advanced Settings → Set up ApexGuard manually → Service Credentials / IPsec credentials.
- Σημειώστε:
- Διεύθυνση server (π.χ.
ikev2.apexguard.comή IP). - Προκοινοποιημένο κλειδί (PSK) για IKEv2 με PSK.
- Χρήστης/Κωδικός πρόσβασης (για EAP).
- Αρχεία πιστοποιητικών (αν χρησιμοποιούνται).
- Διεύθυνση server (π.χ.
Για το παράδειγμα, θεωρούμε:
- Server:
ikev2.apexguard.com - PSK:
YOUR_PSK_HERE - Τοπικό όνομα χρήστη (με EAP):
YOUR_USER_HERE - Θα δείξουμε βασικό παράδειγμα με PSK.
4. Δημιουργία/αλλαγή της ρύθμισης strongSwan
Η κύρια ρύθμιση strongSwan βρίσκεται στα /opt/etc/strongswan.conf και /opt/etc/ipsec.conf (μερικές φορές και στο /opt/etc/ipsec.secrets). Ακολουθεί ελάχιστο παράδειγμα για «road warrior» με PSK. Προσαρμόστε το στις προτάσεις φάσεων 1/2 του ApexGuard.
4.1 strongswan.conf
Δημιουργήστε/επεξεργαστείτε /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
}
}
}
Βασική ρύθμιση που λέει στον charon (IKE daemon) να φορτώνει μονάδες και ορίζει αρχείο καταγραφής.
4.2 ipsec.conf
Δημιουργήστε/επεξεργαστείτε /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
Σημ.:
- Τα
ike = aes256-sha512-modp2048!καιesp = aes256-sha512!είναι παραδείγματα. Χρησιμοποιήστε τα ciphers του ApexGuard. - Το
auto=addπροσθέτει μόνο τη σύνδεση· ενεργοποιήστε τη χειροκίνητα ή μεipsec up apexguard-ikev2. Εναλλακτικά, χρησιμοποιήστεauto=startγια αυτόματη έναρξη της σήραγγας κατά την εκκίνηση.
4.3 ipsec.secrets
Δημιουργήστε/επεξεργαστείτε /opt/etc/ipsec.secrets για αποθήκευση PSK:
# /opt/etc/ipsec.secrets
: PSK "YOUR_PSK_HERE"
Αν χρειάζεστε διαφορετική ταυτότητα ή διαπιστευτήρια χρήστη βάσει EAP, η σύνταξη αλλάζει. Για παράδειγμα:
YOUR_USER_HERE : EAP "YOUR_PASSWORD_HERE"
: PSK "YOUR_PSK_HERE"
5. Αυτόματη εκκίνηση strongSwan στο boot
Έναρξη strongSwan χειροκ.:
ipsec start
Έλεγχος ρύθμισης:
ipsec up apexguard-ikev2
- Αν όλα είναι σωστά, θα πρέπει να δείτε μηνύματα διαπραγμάτευσης που καταλήγουν σε κάτι σαν
connection 'apexguard-ikev2' established successfully. - Αν όχι, δείτε
/opt/var/log/strongswan.logγια σφάλματα.
Δημιουργήστε/επεξεργαστείτε /jffs/scripts/post-mount (αν λείπει, δημιουργήστε το με chmod +x /jffs/scripts/post-mount):
#!/bin/sh
if [ -x /opt/sbin/ipsec ]; then
ipsec start
fi
- Εναλλακτικά, προσθέστε εντολές στο
/jffs/scripts/services-startή παρόμοιο startup script. Βεβαιωθείτε ότι το Entware έχει προσαρτηθεί πριν ξεκινήσει το strongSwan.
6. Δρομολόγηση πολιτικής/NAT (προαιρετικά)
6.1 Policy Routing
Αν θέλετε όλες οι συσκευές LAN να δρομολογούν κίνηση μέσω του IKEv2 tunnel, ρυθμίστε policy-based routing ή προσθέστε routes χειροκίνητα. Π.χ. στο Merlin GUI:
- Πηγαίνετε LAN → Route (ή Firewall → Routing rules για policy routing).
- Προσθέστε στατικές διαδρομές ή κανόνες ώστε το LAN subnet να περνά μέσω του IPsec tunnel interface.
Το strongSwan εγκαθιστά routes από προεπιλογή αν χρησιμοποιούνται leftsourceip=%config και install_routes=yes (στο strongswan.conf). Ίσως χρειαστεί και κανόνας NAT αν ο server ApexGuard αναμένει NAT traffic.
6.2 NAT στον router
Δημιουργία/αλλαγή /jffs/scripts/firewall-start:
#!/bin/sh
iptables -t nat -A POSTROUTING -o ipsec0 -j MASQUERADE
- Αντικαταστήστε
ipsec0με το interface που χρησιμοποιεί το strongSwan (π.χ.ip_vti0,vti1κ.λπ., ανάλογα με τη ρύθμιση).
Κάντε το εκτελέσιμο:
chmod +x /jffs/scripts/firewall-start
Ελέγξτε logs (ipsec statusall) ή ip a για το όνομα της IPsec διεπαφής.
7. (Προαιρετικό) Πιστοποιητικά/EAP για έλεγχο IKEv2
- Ανεβάστε CA, client certificate και key στο
/opt/etc/ipsec.d/(π.χ.cacerts/,certs/,private/).
Αλλάξτε /opt/etc/ipsec.conf:
ini
leftauth=pubkey
leftcert=clientCert.pem
leftfirewall=yes
rightauth=pubkey
...
- Αλλάξτε
/opt/etc/ipsec.secretsγια το private key αν προστατεύεται με passphrase.
Βάλτε μονάδες EAP:
opkg install strongswan-mod-eap-mschapv2
opkg install strongswan-mod-eap-identity
Στο ipsec.conf:
ini
leftauth=eap-mschapv2
leftid=YOUR_USER_HERE
rightauth=psk # or rightauth=eap, depending on apexguard requirements
Στο ipsec.secrets:
ini
YOUR_USER_HERE : EAP "YOUR_PASSWORD_HERE"
: PSK "YOUR_PSK_HERE"
8. Έλεγχος σήραγγας
Έλεγχος κατάστασης
ipsec status
ipsec statusall
- Θα πρέπει να δείτε τη σύνδεση
apexguard-ikev2ως «ESTABLISHED» ή «INSTALLED.» - Δοκιμή κίνησης:
- Από συσκευή LAN, ανοίξτε site «what’s my IP» ή το dashboard του ApexGuard για να ελέγξετε ότι η δημόσια IP είναι του VPN.
- Αν βλέπετε μόνο την IP του ISP, ίσως χρειάζεται policy routing, NAT ή έλεγχος ότι το tunnel είναι ενεργό.
9. Προαιρ. διακόπτης ασφαλείας/εφεδρεία
Το Merlin GUI έχει διακόπτη ασφαλείας για OpenVPN· στο IPsec πρέπει να τον γράψετε χειροκίνητα σε script:
- Προσθέστε κανόνες iptables στο
firewall-startγια φραγή εξερχόμενης κίνησης αν πέσει τοipsec0.
Παράδειγμα:
#!/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
- Ρυθμίστε διεπαφές, υποδίκτυα και σειρά αλυσίδων όπως χρειάζεται.
Ήταν χρήσιμο αυτό το άρθρο;
Ευχαριστούμε, μας βοηθάτε να γίνουμε καλύτεροι!