strongSwan est une solution VPN open source, multiplateforme, moderne et complète basée sur IPsec pour Linux qui offre une prise en charge complète de Internet Key Exchange (à la fois IKEv1 et IKEv2 ) pour établir des associations de sécurité (SA) entre deux pairs. Il est complet, modulaire par conception et offre des dizaines de plugins qui améliorent les fonctionnalités de base.
Article connexe :Comment configurer un VPN basé sur IPsec avec Strongswan sur Debian et Ubuntu
Dans cet article, vous apprendrez à configurer des passerelles VPN IPsec de site à site à l'aide de strongSwan sur CentOS/RHEL 8 les serveurs. Cela permet aux pairs de s'authentifier mutuellement à l'aide d'une clé pré-partagée forte (PSK ). Une configuration de site à site signifie que chaque passerelle de sécurité a un sous-réseau derrière elle.
Environnement de test
N'oubliez pas d'utiliser vos adresses IP réelles lors des configurations tout en suivant le guide.
Passerelle du site 1
Public IP: 192.168.56.7 Private IP: 10.10.1.1/24 Private Subnet: 10.10.1.0/24
Passerelle du site 2
Public IP: 192.168.56.6 Private IP: 10.20.1.1/24 Private Subnet: 10.20.1.0/24
Étape 1 :Activer le transfert IP du noyau dans CentOS 8
1. Commencez par activer la fonctionnalité de transfert IP du noyau dans /etc/sysctl.conf fichier de configuration sur les deux passerelles VPN.
# vi /etc/sysctl.conf
Ajoutez ces lignes dans le fichier.
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. Après avoir enregistré les modifications dans le fichier, exécutez la commande suivante pour charger les nouveaux paramètres du noyau lors de l'exécution.
# sysctl -p
3. Ensuite, créez une route statique permanente dans le fichier /etc/sysconfig/network-scripts/route-eth0 sur les deux passerelles de sécurité.
# vi /etc/sysconfig/network-scripts/route-eth0
Ajoutez la ligne suivante dans le fichier.
#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. Redémarrez ensuite le gestionnaire de réseau pour appliquer les nouvelles modifications.
# systemctl restart NetworkManager
Étape 2 :Installer strongSwan dans CentOS 8
5. Le cygne fort package est fourni dans le EPEL dépôt. Pour l'installer, vous devez activer le référentiel EPEL, puis installer strongwan sur les deux passerelles de sécurité.
# dnf install epel-release # dnf install strongswan
6. Pour vérifier la version de strongswan installé sur les deux passerelles, exécutez la commande suivante.
# strongswan version
7. Ensuite, démarrez le strongswan service et activez-le pour qu'il démarre automatiquement au démarrage du système. Vérifiez ensuite l'état des deux passerelles de sécurité.
# systemctl start strongswan # systemctl enable strongswan # systemctl status strongswan
8. Le répertoire de configuration principal est /etc/strongswan/ qui contient les fichiers de configuration des deux plugins :
# ls /etc/strongswan/
Structure de configuration de Strongswan
Pour ce guide, nous utiliserons l'utilitaire IPsec qui est appelé à l'aide du strongswan commande et l'interface de course. Nous utiliserons donc les fichiers de configuration suivants :
- /etc/strongswan/ipsec.conf – fichier de configuration pour le sous-système strongSwan IPsec.
- /etc/strongswan/ipsec.secrets – fichier secret.
Étape 3 :Configuration des passerelles de sécurité
9. Dans cette étape, vous devez configurer les profils de connexion sur chaque passerelle de sécurité pour chaque site à l'aide de /etc/strongswan/ipsec.conf fichier de configuration strongswan.
Configuration du profil de connexion du site 1
# cp /etc/strongswan/ipsec.conf /etc/strongswan/ipsec.conf.orig # vi /etc/strongswan/ipsec.conf
Copiez et collez la configuration suivante dans le fichier.
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
Configuration du profil de connexion du site 2
# cp /etc/strongswan/ipsec.conf /etc/strongswan/ipsec.conf.orig # vi /etc/strongswan/ipsec.conf
Copiez et collez la configuration suivante dans le fichier :
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
Décrivons brièvement chacun des paramètres de configuration ci-dessus :
- paramétrage de la configuration – définit les informations de configuration générales pour IPSec qui s'appliquent à toutes les connexions.
- charondebug - spécifie combien de sortie de débogage Charon doit être enregistrée.
- identifiants uniques – définit si un ID de participant particulier doit rester unique.
- connecter la passerelle1 à la passerelle2 – utilisé pour définir le nom de la connexion.
- type – définit le type de connexion.
- Auto - utilisé pour déclarer comment gérer la connexion lorsque IPSec est démarré ou redémarré.
- échange de clés – déclare la version du protocole IKE à utiliser.
- authby – spécifie comment les pairs doivent s'authentifier mutuellement.
- gauche – déclare l'adresse IP de l'interface de réseau public du participant de gauche.
- sous-réseau gauche – déclare le sous-réseau privé derrière le participant de gauche.
- correct – déclare l'adresse IP de l'interface de réseau public du bon participant.
- rightsubnet – déclare le sous-réseau privé derrière le participant de gauche.
- ike – utilisé pour déclarer une liste d'algorithmes de chiffrement/authentification IKE/ISAKMP SA à utiliser. Notez qu'il peut s'agir d'une liste séparée par des virgules.
- en particulier - spécifie une liste d'algorithmes de chiffrement/d'authentification ESP à utiliser pour la connexion.
- agressif - déclare s'il faut utiliser le mode agressif ou principal.
- tentatives de frappe – déclare le nombre de tentatives à effectuer pour négocier une connexion.
- ikelifetime – spécifie combien de temps le canal de clé d'une connexion doit durer avant d'être renégocié.
- à vie - spécifie combien de temps une instance particulière d'une connexion doit durer, de la réussite de la négociation à l'expiration.
- dpddelay – déclare l'intervalle de temps avec lequel les messages R_U_THERE/échanges INFORMATIONAL sont envoyés au pair.
- dpdtimeout – utilisé pour déclarer le délai d'expiration, après lequel toutes les connexions à un pair sont supprimées en cas d'inactivité.
- dpdaction – spécifie comment utiliser le protocole Dead Peer Detection (DPD) pour gérer la connexion.
Vous pouvez trouver une description de tous les paramètres de configuration pour le sous-système IPsec strongSwan en lisant le ipsec.conf page de manuel.
# man ipsec.conf
Étape 4 :Configuration de PSK pour l'authentification point à point
10. Ensuite, vous devez générer un PSK fort à utiliser par les pairs pour l'authentification comme suit.
# head -c 24 /dev/urandom | base64
Générer une clé PSK
11. Ajoutez le PSK dans le /etc/strongswan/ipsec.conf fichier sur les deux passerelles de sécurité.
# vi /etc/strongswan/ipsec.secrets
Entrez la ligne suivante dans le fichier.
#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. Ensuite, lancez le strongsan service et vérifier l'état des connexions.
# systemctl restart strongswan # strongswan status
Vérifier les connexions Strongswan
13. Testez si vous pouvez accéder aux sous-réseaux privés à partir de l'une ou l'autre des passerelles de sécurité en exécutant une commande ping.
# ping 10.20.1.1 # ping 10.10.1.1
Passerelles de sécurité Ping
14. Enfin et surtout, pour en savoir plus strongswan commandes pour activer/désactiver manuellement les connexions et plus encore, consultez la page d'aide de strongswan.
# strongswan --help
C'est tout pour le moment! Pour partager vos réflexions avec nous ou poser des questions, contactez-nous via le formulaire de commentaires ci-dessous. Et pour en savoir plus sur le nouvel utilitaire swanctl et la nouvelle structure de configuration plus flexible, consultez la documentation utilisateur strongSwan.
Partager c'est aimer…Partager sur FacebookPartager sur TwitterPartager sur LinkedinPartager sur Reddit