strongSwan est une implémentation VPN (réseau privé virtuel) open source, multiplateforme, complète et largement utilisée qui fonctionne sous Linux, FreeBSD, OS X, Windows, Android et iOS. Il s'agit principalement d'un démon de saisie qui prend en charge l'échange de clés Internet protocoles (IKEv1 et IKEv2 ) pour établir des associations de sécurité (SA ) entre deux pairs.
Cet article explique comment configurer un VPN IPSec de site à site. passerelles utilisant strongSwan sur Ubuntu et Debian les serveurs. Par site à site, nous entendons que chaque passerelle de sécurité a un sous-réseau derrière elle. De plus, les pairs s'authentifieront mutuellement à l'aide d'une clé pré-partagée (PSK ).
Environnement de test
N'oubliez pas de remplacer les adresses IP suivantes par vos adresses IP réelles pour configurer votre environnement.
Passerelle du site 1 (tecmint-devgateway)
OS 1: Debian or Ubuntu Public IP: 10.20.20.1 Private IP: 192.168.0.101/24 Private Subnet: 192.168.0.0/24
Passerelle Site 2 (tecmint-prodgateway)
OS 2: Debian or Ubuntu Public IP: 10.20.20.3 Private IP: 10.0.2.15/24 Private Subnet: 10.0.2.0/24
Étape 1 :Activer le transfert de paquets du noyau
1. Tout d'abord, vous devez configurer le noyau pour activer le transfert de paquets en ajoutant les variables système appropriées dans /etc/sysctl.conf fichier de configuration sur les deux passerelles de sécurité.
$ sudo vim /etc/sysctl.conf
Recherchez les lignes suivantes, décommentez-les et définissez leurs valeurs comme indiqué (lisez les commentaires dans le fichier pour plus d'informations).
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. Ensuite, chargez les nouveaux paramètres en exécutant la commande suivante.
$ sudo sysctl -p
Charger les paramètres du noyau Sysctl
3. Si vous avez activé un service de pare-feu UFW, vous devez ajouter les règles suivantes à /etc/ufw/before.rules fichier de configuration juste avant les règles de filtrage dans l'une ou l'autre des passerelles de sécurité.
Passerelle du site 1 (tecmint-devgateway)
*nat :POSTROUTING ACCEPT [0:0] -A POSTROUTING -s 10.0.2.0/24 -d 192.168.0.0/24 -j MASQUERADE COMMIT
Passerelle Site 2 (tecmint-prodgateway)
*nat :POSTROUTING ACCEPT [0:0] -A POSTROUTING -s 192.168.0.0/24 -d 10.0.2.0/24 -j MASQUERADE COMMIT
4. Une fois les règles de pare-feu ajoutées, appliquez les nouvelles modifications en redémarrant UFW comme indiqué.
$ sudo ufw disable $ sudo ufw enable
Étape 2 :Installer strongSwan dans Debian et Ubuntu
5. Mettez à jour votre cache de packages sur les deux passerelles de sécurité et installez le strongswan package à l'aide du gestionnaire de packages APT.
$ sudo apt update $ sudo apt install strongswan
6. Une fois l'installation terminée, le script d'installation démarrera le strongswan service et activez-le pour qu'il démarre automatiquement au démarrage du système. Vous pouvez vérifier son état et s'il est activé à l'aide de la commande suivante.
$ sudo systemctl status strongswan.service $ sudo systemctl is-enabled strongswan.service
Étape 3 :Configuration des passerelles de sécurité
7. Ensuite, vous devez configurer les passerelles de sécurité à l'aide de /etc/ipsec.conf fichier de configuration.
Passerelle du site 1 (tecmint-devgateway)
$ sudo cp /etc/ipsec.conf /etc/ipsec.conf.orig $ sudo nano /etc/ipsec.conf
Copiez et collez la configuration suivante dans le fichier.
config setup charondebug="all" uniqueids=yes conn devgateway-to-prodgateway type=tunnel auto=start keyexchange=ikev2 authby=secret left=10.20.20.1 leftsubnet=192.168.0.101/24 right=10.20.20.3 rightsubnet=10.0.2.15/24 ike=aes256-sha1-modp1024! esp=aes256-sha1! aggressive=no keyingtries=%forever ikelifetime=28800s lifetime=3600s dpddelay=30s dpdtimeout=120s dpdaction=restart
Passerelle Site 2 (tecmint-prodgateway)
$ sudo cp /etc/ipsec.conf /etc/ipsec.conf.orig $ sudo cp /etc/ipsec.conf
Copiez et collez la configuration suivante dans le fichier.
config setup charondebug="all" uniqueids=yes conn prodgateway-to-devgateway type=tunnel auto=start keyexchange=ikev2 authby=secret left=10.20.20.3 leftsubnet=10.0.2.15/24 right=10.20.20.1 rightsubnet=192.168.0.101/24 ike=aes256-sha1-modp1024! esp=aes256-sha1! aggressive=no keyingtries=%forever ikelifetime=28800s lifetime=3600s dpddelay=30s dpdtimeout=120s dpdaction=restart
Voici la signification de chaque paramètre de configuration :
- paramétrage de la configuration – spécifie les informations de configuration générales pour IPSec qui s'appliquent à toutes les connexions.
- charondebug - définit la quantité de sortie de débogage Charon à enregistrer.
- identifiants uniques – spécifie si un ID de participant particulier doit rester unique.
- connecter prodgateway à devgateway – définit le nom de la connexion.
- type – définit le type de connexion.
- auto – comment gérer la connexion lorsque IPSec est démarré ou redémarré.
- échange de clés – définit la version du protocole IKE à utiliser.
- authby – définit comment les pairs doivent s'authentifier mutuellement.
- gauche – définit l'adresse IP de l'interface de réseau public du participant de gauche.
- sous-réseau gauche – indique le sous-réseau privé derrière le participant de gauche.
- correct – spécifie l'adresse IP de l'interface de réseau public du bon participant.
- rightsubnet – indique le sous-réseau privé derrière le participant de gauche.
- ike – définit une liste d'algorithmes de chiffrement/d'authentification IKE/ISAKMP SA à utiliser. Vous pouvez ajouter une liste séparée par des virgules.
- en particulier – définit une liste d'algorithmes de cryptage/authentification ESP à utiliser pour la connexion. Vous pouvez ajouter une liste séparée par des virgules.
- agressif - indique s'il faut utiliser le mode agressif ou principal.
- tentatives de frappe – indique le nombre de tentatives à effectuer pour négocier une connexion.
- ikelifetime – indique combien de temps le canal de clé d'une connexion doit durer avant d'être renégocié.
- à vie - définit la durée d'une instance particulière d'une connexion, de la réussite de la négociation à l'expiration.
- dpddelay – spécifie l'intervalle de temps avec lequel les messages R_U_THERE/échanges INFORMATIONAL sont envoyés au pair.
- dpdtimeout - spécifie l'intervalle de temporisation, après lequel toutes les connexions à un pair sont supprimées en cas d'inactivité.
- dpdaction – définit comment utiliser le protocole Dead Peer Detection (DPD) pour gérer la connexion.
Pour plus d'informations sur les paramètres de configuration ci-dessus, lisez le ipsec.conf page man en exécutant la commande.
$ man ipsec.conf
Étape 4 :Configuration de PSK pour l'authentification point à point
8. Après avoir configuré les deux passerelles de sécurité, générez un PSK sécurisé à utiliser par les pairs à l'aide de la commande suivante.
$ head -c 24 /dev/urandom | base64
Générer une clé PSK
9. Ensuite, ajoutez le PSK dans /etc/ipsec.secrets fichier sur les deux passerelles.
$ sudo vim /etc/ipsec.secrets
Copiez et collez la ligne suivante.
------- Site 1 Gateway (tecmint-devgateway) ------- 10.20.20.1 10.20.20.3 : PSK "qLGLTVQOfqvGLsWP75FEtLGtwN3Hu0ku6C5HItKo6ac=" ------- Site 2 Gateway (tecmint-prodgateway) ------- 10.20.20.3 10.20.20.1 : PSK "qLGLTVQOfqvGLsWP75FEtLGtwN3Hu0ku6C5HItKo6ac="
10. Redémarrez IPSec programme et vérifiez son état pour afficher les connexions.
$ sudo ipsec restart $ sudo ipsec status
Afficher l'état de la connexion IPSec
11. Enfin, vérifiez que 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 192.168.0.101 $ ping 10.0.2.15
Vérifier la configuration du VPN de site à site
12. En outre, vous pouvez arrêter et démarrer IPSec comme indiqué.
$ sudo ipsec stop $ sudo ipsec start
13. Pour en savoir plus sur les commandes IPSec permettant d'établir manuellement des connexions et bien plus encore, consultez la page d'aide IPSec.
$ ipsec --help
C'est tout! Dans cet article, nous avons décrit comment configurer un VPN IPSec de site à site à l'aide de strongSwan sur Ubuntu et Debian serveurs, où les deux passerelles de sécurité ont été configurées pour s'authentifier mutuellement à l'aide d'un PSK . Si vous avez des questions ou des réflexions à partager, contactez-nous via le formulaire de commentaires ci-dessous.
Partager c'est aimer…Partager sur FacebookPartager sur TwitterPartager sur LinkedinPartager sur Reddit