Εγκαταστήστε το strongSwan
Δημιουργία πιστοποιητικών
Διαμόρφωση του strongSwan
Να επιτρέπεται η προώθηση IPv4
Διαμορφώστε το τείχος προστασίας
Εκκίνηση VPN
Το StrongSwan είναι μια λύση VPN ανοιχτού κώδικα που βασίζεται σε IPsec. Υποστηρίζει και τα δύο πρωτόκολλα ανταλλαγής κλειδιών IKEv1 και IKEv2 σε συνδυασμό με την εγγενή στοίβα IPsec NETKEY του πυρήνα Linux. Αυτό το σεμινάριο θα σας δείξει πώς να χρησιμοποιήσετε το strongSwan για να ρυθμίσετε έναν διακομιστή IPSec VPN στο CentOS 7.
Εγκαταστήστε το strongSwan
Τα πακέτα strongSwan είναι διαθέσιμα στο αποθετήριο Extra Packages for Enterprise Linux (EPEL). Πρέπει πρώτα να ενεργοποιήσουμε το EPEL και μετά να εγκαταστήσουμε το strongSwan.
yum install http://ftp.nluug.nl/pub/os/Linux/distr/fedora-epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
yum install strongswan openssl
Δημιουργία πιστοποιητικών
Τόσο ο πελάτης VPN όσο και ο διακομιστής χρειάζονται πιστοποιητικό για την ταυτοποίηση και τον έλεγχο ταυτότητας. Έχω ετοιμάσει δύο σενάρια κελύφους για τη δημιουργία και την υπογραφή των πιστοποιητικών. Αρχικά, κατεβάζουμε αυτά τα δύο σενάρια στο φάκελο /etc/strongswan/ipsec.d.
cd /etc/strongswan/ipsec.d
wget https://raw.githubusercontent.com/michael-loo/strongswan_config/for_vultr/server_key.sh
chmod a+x server_key.sh
wget https://raw.githubusercontent.com/michael-loo/strongswan_config/for_vultr/client_key.sh
chmod a+x client_key.sh
Σε αυτά τα δύο .shαρχεία, έχω ορίσει το όνομα του οργανισμού ως VULTR-VPS-CENTOS. Εάν θέλετε να το αλλάξετε, ανοίξτε τα .shαρχεία και αντικαταστήστε το O=VULTR-VPS-CENTOSμε O=YOUR_ORGANIZATION_NAME.
Στη συνέχεια, χρησιμοποιήστε το server_key.shμε τη διεύθυνση IP του διακομιστή σας για να δημιουργήσετε το κλειδί της αρχής πιστοποιητικών (CA) και το πιστοποιητικό για τον διακομιστή. Αντικαταστήστε SERVER_IPμε τη διεύθυνση IP του Vultr VPS σας.
./server_key.sh SERVER_IP
Δημιουργήστε το κλειδί πελάτη, το πιστοποιητικό και το αρχείο P12. Εδώ, θα δημιουργήσω το πιστοποιητικό και το αρχείο P12 για τον χρήστη VPN "john".
./client_key.sh john john@gmail.com
Αντικαταστήστε το "John" και το email του με το δικό σας πριν εκτελέσετε το σενάριο.
Αφού δημιουργηθούν τα πιστοποιητικά για πελάτη και διακομιστή, αντιγράψτε /etc/strongswan/ipsec.d/john.p12και /etc/strongswan/ipsec.d/cacerts/strongswanCert.pemστον τοπικό σας υπολογιστή.
Ανοίξτε το αρχείο διαμόρφωσης strongSwan IPSec.
vi /etc/strongswan/ipsec.conf
Αντικαταστήστε το περιεχόμενό του με το παρακάτω κείμενο.
config setup
uniqueids=never
charondebug="cfg 2, dmn 2, ike 2, net 0"
conn %default
left=%defaultroute
leftsubnet=0.0.0.0/0
leftcert=vpnHostCert.pem
right=%any
rightsourceip=172.16.1.100/16
conn CiscoIPSec
keyexchange=ikev1
fragmentation=yes
rightauth=pubkey
rightauth2=xauth
leftsendcert=always
rekey=no
auto=add
conn XauthPsk
keyexchange=ikev1
leftauth=psk
rightauth=psk
rightauth2=xauth
auto=add
conn IpsecIKEv2
keyexchange=ikev2
leftauth=pubkey
rightauth=pubkey
leftsendcert=always
auto=add
conn IpsecIKEv2-EAP
keyexchange=ikev2
ike=aes256-sha1-modp1024!
rekey=no
leftauth=pubkey
leftsendcert=always
rightauth=eap-mschapv2
eap_identity=%any
auto=add
Επεξεργαστείτε το αρχείο διαμόρφωσης strongSwan, strongswan.conf.
vi /etc/strongswan/strongswan.conf
Διαγράψτε τα πάντα και αντικαταστήστε τα με τα παρακάτω.
charon {
load_modular = yes
duplicheck.enable = no
compress = yes
plugins {
include strongswan.d/charon/*.conf
}
dns1 = 8.8.8.8
dns2 = 8.8.4.4
nbns1 = 8.8.8.8
nbns2 = 8.8.4.4
}
include strongswan.d/*.conf
Επεξεργαστείτε το μυστικό αρχείο IPsec για να προσθέσετε έναν χρήστη και έναν κωδικό πρόσβασης.
vi /etc/strongswan/ipsec.secrets
Προσθέστε έναν λογαριασμό χρήστη "john" σε αυτό.
: RSA vpnHostKey.pem
: PSK "PSK_KEY"
john %any : EAP "John's Password"
john %any : XAUTH "John's Password"
Λάβετε υπόψη ότι και οι δύο πλευρές της άνω τελείας «:» χρειάζονται ένα κενό διάστημα.
Να επιτρέπεται η προώθηση IPv4
Επεξεργαστείτε /etc/sysctl.confγια να επιτρέπεται η προώθηση στον πυρήνα του Linux.
vi /etc/sysctl.conf
Προσθέστε την ακόλουθη γραμμή στο αρχείο.
net.ipv4.ip_forward=1
Αποθηκεύστε το αρχείο και μετά εφαρμόστε την αλλαγή.
sysctl -p
Ανοίξτε το τείχος προστασίας για το VPN σας στον διακομιστή.
firewall-cmd --permanent --add-service="ipsec"
firewall-cmd --permanent --add-port=4500/udp
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload
Εκκίνηση VPN
systemctl start strongswan
systemctl enable strongswan
Το StrongSwan εκτελείται τώρα στον διακομιστή σας. Εγκαταστήστε τα αρχεία strongswanCert.pemκαι τα .p12αρχεία πιστοποιητικού στον πελάτη σας. Τώρα θα μπορείτε να εγγραφείτε στο ιδιωτικό σας δίκτυο.