Wéi Dir IPsec-baséiert VPN mat Strongswan op CentOS/RHEL 8
strongSwan ass eng Open-Source, Multi-Plattform, modern a komplett IPsec-baséiert VPN-Léisung fir Linux déi voll Ënnerstëtzung fir Internet Key Exchange (souwuel IKEv1 an IKEv2) ubitt fir Sécherheetsassociatiounen (SA) tëscht zwee Peer opzebauen. Et ass voll ausgestatt, modulär vum Design a bitt Dosende vu Plugins déi d'Kärfunktionalitéit verbesseren.
Verbonnen Artikel: Wéi Dir IPsec-baséiert VPN mat Strongswan op Debian an Ubuntu opstellt
An dësem Artikel léiert Dir wéi Dir Site-zu-Site IPsec VPN Gateways opstellt mat strongSwan op CentOS/RHEL 8 Serveren. Dëst erméiglecht de Peer géigesäiteg ze authentifizéieren mat engem staarke pre-shared Key (PSK). E Site-to-Site Setup heescht datt all Sécherheetspaart en Ënner-Netz hannert sech huet.
Vergiesst net Är real Welt IP Adressen wärend den Konfiguratiounen ze benotzen wann Dir de Guide verfollegt.
Public IP: 192.168.56.7 Private IP: 10.10.1.1/24 Private Subnet: 10.10.1.0/24
Public IP: 192.168.56.6 Private IP: 10.20.1.1/24 Private Subnet: 10.20.1.0/24
Schrëtt 1: Kernel IP Forwarding an CentOS 8 aktivéieren
1. Start andeems Dir Kernel IP Forwarding Funktionalitéit an /etc/sysctl.conf Konfiguratiounsdatei op béide VPN Gateways aktivéiert.
# vi /etc/sysctl.conf
Füügt dës Zeilen an der Datei.
net.ipv4.ip_forward = 1 net.ipv6.conf.all.forwarding = 1 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.all.send_redirects = 0
2. Nodeems Dir d'Ännerungen an der Datei gespäichert hutt, lafen de folgende Kommando fir déi nei Kernelparameter an der Runtime ze lueden.
# sysctl -p
3. Erstellt dann eng permanent statesch Route an der Datei /etc/sysconfig/network-scripts/route-eth0 op béide Sécherheetspaarten.
# vi /etc/sysconfig/network-scripts/route-eth0
Füügt déi folgend Zeil an der Datei.
#Site 1 Gateway 10.20.1.0/24 via 192.168.56.7 #Site 2 Gateway 10.10.1.0/24 via 192.168.56.6
4. Da restart de Reseau Manager fir déi nei Ännerungen ze gëllen.
# systemctl restart NetworkManager
Schrëtt 2: Installéiere vun strongSwan am CentOS 8
5. De Strongswan Package gëtt am EPEL Repository geliwwert. Fir et z'installéieren, musst Dir den EPEL-Repository aktivéieren, installéieren dann strongwan op béide Sécherheetspaarten.
# dnf install epel-release # dnf install strongswan
6. Fir z'iwwerpréiwen der Versioun vun strongswan installéiert op béide Paarte, lafen déi folgend Kommando.
# strongswan version
7. Nächst, starten de Strongswan Service an aktivéiert et automatesch um System Stiwwel ufänken. Da kontrolléiert de Status op béide Sécherheetspaarten.
# systemctl start strongswan # systemctl enable strongswan # systemctl status strongswan
Notiz: Déi lescht Versioun vu strongswan am CentOS/REHL 8 kënnt mat Ënnerstëtzung fir béid swanctl (en neien, portable Kommandozeil Utility agefouert mat strongSwan 5.2.0, benotzt fir den IKE Daemon Charon mat dem vici Plugin ze konfiguréieren, ze kontrolléieren an ze iwwerwaachen) an Starter (oder ipsec) Utility mat dem deprecéierten Stroke Plugin.
8. Den Haaptkonfiguratiounsverzeichnis ass /etc/strongswan/ deen Konfiguratiounsdateien fir béid Plugins enthält:
# ls /etc/strongswan/
Fir dëse Guide benotze mir d'IPsec Utility déi mam Strongswan Kommando an der Schlag-Interface opgeruff gëtt. Also benotze mir déi folgend Konfiguratiounsdateien:
- /etc/strongswan/ipsec.conf – Konfiguratiounsdatei fir de strongSwan IPsec Subsystem.
- /etc/strongswan/ipsec.secrets – Geheimnisdatei.
Schrëtt 3: Sécherheetsgateways konfiguréieren
9. An dësem Schrëtt musst Dir d'Verbindungsprofile op all Sécherheetspaart fir all Site konfiguréieren mat der /etc/strongswan/ipsec.conf strongswan Konfiguratiounsdatei.
# cp /etc/strongswan/ipsec.conf /etc/strongswan/ipsec.conf.orig # vi /etc/strongswan/ipsec.conf
Kopéiert a paste déi folgend Konfiguratioun an der Datei.
config setup charondebug="all" uniqueids=yes conn ateway1-to-gateway2 type=tunnel auto=start keyexchange=ikev2 authby=secret left=192.168.56.7 leftsubnet=10.10.1.1/24 right=192.168.56.6 rightsubnet=10.20.1.1/24 ike=aes256-sha1-modp1024! esp=aes256-sha1! aggressive=no keyingtries=%forever ikelifetime=28800s lifetime=3600s dpddelay=30s dpdtimeout=120s dpdaction=restart
# cp /etc/strongswan/ipsec.conf /etc/strongswan/ipsec.conf.orig # vi /etc/strongswan/ipsec.conf
Kopéiert a paste déi folgend Konfiguratioun an der Datei:
config setup charondebug="all" uniqueids=yes conn 2gateway-to-gateway1 type=tunnel auto=start keyexchange=ikev2 authby=secret left=192.168.56.6 leftsubnet=10.20.1.1/24 right=192.168.56.7 rightsubnet=10.10.1.1/24 ike=aes256-sha1-modp1024! esp=aes256-sha1! aggressive=no keyingtries=%forever ikelifetime=28800s lifetime=3600s dpddelay=30s dpdtimeout=120s dpdaction=restart
Loosst eis kuerz jiddereng vun den Konfiguratiounsparameter hei uewen beschreiwen:
- Config Setup - definéiert déi allgemeng Konfiguratiounsinformatioun fir IPSec déi op all Verbindungen gëlt.
- charondebug - spezifizéiert wéi vill Charon Debugging Output soll protokolléiert ginn.
- uniqueids - definéiert ob eng bestëmmte Participant ID eenzegaarteg gehale soll ginn.
- conn gateway1-to-gateway2 - benotzt fir de Verbindungsnumm ze setzen.
- Typ - definéiert Verbindungstyp.
- Auto - benotzt fir ze deklaréieren wéi d'Verbindung behandelt gëtt wann IPSec gestart oder nei gestart gëtt.
- keyexchange - deklaréiert d'Versioun vum IKE Protokoll fir ze benotzen.
- authby - spezifizéiert wéi Peer géigesäiteg solle authentifizéieren.
- lénks - deklaréiert d'IP Adress vum ëffentlechen Netzwierk vum lénke Participant.
- leftsubnet - deklaréiert de private Subnet hannert dem lénksen Participant.
- Recht - deklaréiert d'IP Adress vum ëffentlechen Netzwierk Interface vum richtege Participant.
- rightsubnet - deklaréiert de private Subnet hannert dem lénksen Participant.
- ike - benotzt fir eng Lëscht vun IKE/ISAKMP SA Verschlësselung/Authentifikatioun Algorithmen ze deklaréieren. Bedenkt datt dëst eng komma-getrennte Lëscht kann sinn.
- esp - spezifizéiert eng Lëscht vun ESP Verschlësselung/Authentifikatioun Algorithmen fir d'Verbindung ze benotzen.
- aggressiv - deklaréiert ob Aggressiv oder Main Modus benotzt gëtt.
- keyingtries - deklaréiert d'Zuel vun de Versich, déi gemaach gi sollte fir eng Verbindung ze verhandelen.
- ikelifetime - spezifizéiert wéi laang de Schlësselkanal vun enger Verbindung sollt daueren ier se nei verhandelt ginn.
- Liewensdauer - spezifizéiert wéi laang eng bestëmmten Instanz vun enger Verbindung soll daueren, vun der erfollegräicher Verhandlung bis zum Oflaf.
- dpddelay - deklaréiert den Zäitintervall mat deem R_U_THERE Messagen/INFORMATIONAL Austausch un de Peer geschéckt ginn.
- dpdtimeout – benotzt fir den Timeout-Intervall ze deklaréieren, no deem all Verbindunge mat engem Peer am Fall vun Inaktivitéit geläscht ginn.
- dpdaction - spezifizéiert wéi Dir den Dead Peer Detection (DPD) Protokoll benotzt fir d'Verbindung ze verwalten.
Dir kënnt eng Beschreiwung vun all Konfiguratiounsparameter fir de strongSwan IPsec Subsystem fannen andeems Dir d'ipsec.conf Man Säit liest.
# man ipsec.conf
Schrëtt 4: PSK fir Peer-to-Peer Authentifikatioun konfiguréieren
10. Als nächst musst Dir e staarken PSK generéieren fir vun de Peer fir d'Authentifikatioun ze benotzen wéi follegt.
# head -c 24 /dev/urandom | base64
11. Füügt de PSK an der /etc/strongswan/ipsec.conf Datei op béide Sécherheetspaarten.
# vi /etc/strongswan/ipsec.secrets
Gitt déi folgend Linn an der Datei.
#Site 1 Gateway 192.168.56.7 192.168.56.6 : PSK "0GE0dIEA0IOSYS2o22wYdicj/lN4WoCL" #Site 1 Gateway 192.168.56.6 192.168.56.7 : PSK "0GE0dIEA0IOSYS2o22wYdicj/lN4WoCL"
12. Start dann de Strongsan Service a kontrolléiert de Status vun de Verbindungen.
# systemctl restart strongswan # strongswan status
13. Test ob Dir Zougang zu de privaten Ënnernetzer vun entweder Sécherheetspaarten kënnt andeems Dir e Ping-Kommando leeft.
# ping 10.20.1.1 # ping 10.10.1.1
14. Lescht awer net zulescht, fir méi Strongswan Kommandoen ze léieren fir manuell Verbindungen op/erof ze bréngen a méi, kuckt d'strongswan Hëllef Säit.
# strongswan --help
Dat ass alles fir elo! Fir Är Gedanken mat eis ze deelen oder Froen ze stellen, erreechen eis iwwer de Feedback Form hei drënner. A fir méi iwwer déi nei Swanctl Utility an déi nei méi flexibel Konfiguratiounsstruktur ze léieren, kuckt d'strongSwan User Documentation.