Com configurar una VPN basada en IPsec amb Strongswan a CentOS/RHEL 8
strongSwan és una solució VPN de codi obert, multiplataforma, moderna i completa basada en IPsec per a Linux que ofereix suport complet per a Internet Key Exchange (tant IKEv1 com IKEv2) per establir associacions de seguretat (SA) entre dos iguals. Té totes les funcions, és modular per disseny i ofereix desenes de connectors que milloren la funcionalitat bàsica.
Article relacionat: Com configurar una VPN basada en IPsec amb Strongswan a Debian i Ubuntu
En aquest article, aprendràs a configurar passarel·les VPN IPsec de lloc a lloc mitjançant strongSwan als servidors CentOS/RHEL 8. Això permet que els companys s'autentiquin entre ells mitjançant una clau precompartida (PSK) forta. Una configuració de lloc a lloc significa que cada passarel·la de seguretat té una subxarxa darrere.
No oblideu utilitzar les vostres adreces IP del món real durant les configuracions mentre seguiu la guia.
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
Pas 1: habilitar el reenviament IP del nucli a CentOS 8
1. Comenceu habilitant la funcionalitat de reenviament d'IP del nucli al fitxer de configuració /etc/sysctl.conf a les dues passarel·les VPN.
# vi /etc/sysctl.conf
Afegiu aquestes línies al fitxer.
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. Després de desar els canvis al fitxer, executeu l'ordre següent per carregar els nous paràmetres del nucli en temps d'execució.
# sysctl -p
3. A continuació, creeu una ruta estàtica permanent al fitxer /etc/sysconfig/network-scripts/route-eth0 a les dues passarel·les de seguretat.
# vi /etc/sysconfig/network-scripts/route-eth0
Afegiu la línia següent al fitxer.
#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. A continuació, reinicieu el gestor de xarxa per aplicar els nous canvis.
# systemctl restart NetworkManager
Pas 2: instal·lació de strongSwan a CentOS 8
5. El paquet strongswan es proporciona al repositori EPEL. Per instal·lar-lo, heu d'habilitar el repositori EPEL i, a continuació, instal·lar strongwan a les dues passarel·les de seguretat.
# dnf install epel-release # dnf install strongswan
6. Per comprovar la versió de strongswan instal·lada a les dues passarel·les, executeu l'ordre següent.
# strongswan version
7. A continuació, inicieu el servei strongswan i activeu-lo perquè s'iniciï automàticament a l'arrencada del sistema. A continuació, verifiqueu l'estat de les dues passarel·les de seguretat.
# systemctl start strongswan # systemctl enable strongswan # systemctl status strongswan
Nota: La darrera versió de strongswan a CentOS/REHL 8 inclou suport per a tots dos swanctl (una nova utilitat de línia d'ordres portàtil introduïda amb strongSwan 5.2.0, que s'utilitza per configurar, controlar i supervisar el dimoni IKE Charon mitjançant el connector vici) i la utilitat d'inici (o ipsec) utilitzant el connector de traç obsolet.
8. El directori de configuració principal és /etc/strongswan/ que conté fitxers de configuració per als dos connectors:
# ls /etc/strongswan/
Per a aquesta guia, utilitzarem la utilitat IPsec que s'invoca mitjançant l'ordre strongswan i la interfície de traç. Per tant, utilitzarem els següents fitxers de configuració:
- /etc/strongswan/ipsec.conf: fitxer de configuració del subsistema strongSwan IPsec.
- /etc/strongswan/ipsec.secrets: fitxer de secrets.
Pas 3: Configuració de passarel·les de seguretat
9. En aquest pas, heu de configurar els perfils de connexió a cada passarel·la de seguretat per a cada lloc mitjançant el fitxer de configuració /etc/strongswan/ipsec.conf strongswan.
# cp /etc/strongswan/ipsec.conf /etc/strongswan/ipsec.conf.orig # vi /etc/strongswan/ipsec.conf
Copieu i enganxeu la configuració següent al fitxer.
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
Copieu i enganxeu la configuració següent al fitxer:
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
Descrivim breument cadascun dels paràmetres de configuració anteriors:
- config setup: defineix la informació general de configuració per a IPSec que s'aplica a totes les connexions.
- charondebug: especifica quanta sortida de depuració de Charon s'ha de registrar.
- identificadors únics: defineix si un identificador de participant concret s'ha de mantenir únic.
- conn gateway1-to-gateway2: s'utilitza per definir el nom de la connexió.
- tipus: defineix el tipus de connexió.
- Automàtic: s'utilitza per declarar com gestionar la connexió quan s'inicia o es reinicia IPSec.
- keyexchange: declara la versió del protocol IKE que cal utilitzar.
- authby: especifica com s'han d'autenticar els companys entre ells.
- esquerra: declara l'adreça IP de la interfície de xarxa pública del participant esquerre.
- leftsubnet: declara la subxarxa privada darrere del participant esquerre.
- dret: declara l'adreça IP de la interfície de xarxa pública del participant adequat.
- rightsubnet: declara la subxarxa privada darrere del participant esquerre.
- ike: s'utilitza per declarar una llista d'algoritmes d'encriptació/autenticació IKE/ISAKMP SA que s'utilitzaran. Tingueu en compte que aquesta pot ser una llista separada per comes.
- esp: especifica una llista d'algoritmes d'encriptació/autenticació ESP que s'utilitzaran per a la connexió.
- agressiu: declara si s'utilitza el mode agressiu o principal.
- keyingtries: declara el nombre d'intents que s'han de fer per negociar una connexió.
- ikellifetime: especifica quant de temps ha de durar el canal de claus d'una connexió abans de ser renegociada.
- durada: especifica quant de temps ha de durar una instància concreta d'una connexió, des de la negociació correcta fins a la caducitat.
- dpddelay: declara l'interval de temps amb el qual els missatges R_U_THERE/intercanvis d'INFORMACIÓ s'envien al parell.
- dpdtimeout: s'utilitza per declarar l'interval de temps d'espera, després del qual s'eliminen totes les connexions a un parell en cas d'inactivitat.
- dpdaction: especifica com utilitzar el protocol Dead Peer Detection (DPD) per gestionar la connexió.
Podeu trobar una descripció de tots els paràmetres de configuració del subsistema strongSwan IPsec llegint la pàgina de manual ipsec.conf.
# man ipsec.conf
Pas 4: Configuració de PSK per a l'autenticació peer-to-peer
10. A continuació, heu de generar un PSK fort per ser utilitzat pels iguals per a l'autenticació de la manera següent.
# head -c 24 /dev/urandom | base64
11. Afegiu el PSK al fitxer /etc/strongswan/ipsec.conf a les dues passarel·les de seguretat.
# vi /etc/strongswan/ipsec.secrets
Introduïu la línia següent al fitxer.
#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. A continuació, inicieu el servei strongsan i comproveu l'estat de les connexions.
# systemctl restart strongswan # strongswan status
13. Comproveu si podeu accedir a les subxarxes privades des de qualsevol de les passarel·les de seguretat executant una ordre ping.
# ping 10.20.1.1 # ping 10.10.1.1
14. Per últim, però no menys important, per obtenir més ordres de strongswan per activar/desactivar les connexions manualment i més, consulteu la pàgina d'ajuda de strongswan.
# strongswan --help
Això és tot per ara! Per compartir els vostres pensaments amb nosaltres o fer preguntes, poseu-vos en contacte amb nosaltres mitjançant el formulari de comentaris següent. I per obtenir més informació sobre la nova utilitat swanctl i la nova estructura de configuració més flexible, consulteu la documentació d'usuari de strongSwan.