GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment configurer un VPN basé sur IPsec avec Strongswan sur Debian et Ubuntu

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
Ubuntu
  1. Comment configurer WireGuard VPN sur Ubuntu 20.04

  2. Comment utiliser APT avec Proxy sur Ubuntu et Debian

  3. Comment installer et configurer Gerbera Media Server dans Ubuntu / Debian

  4. Comment installer et configurer mysql 8 sur Ubuntu 20.04

  5. Comment configurer un pare-feu avec UFW dans Ubuntu \ Debian

Comment configurer un serveur VPN IKEv2 avec StrongSwan sur Ubuntu 22.04

Comment configurer ModSecurity avec Nginx sur Debian/Ubuntu

Comment installer Drupal avec Apache sur Debian et Ubuntu

Comment configurer un VPN basé sur IPsec avec Strongswan sur CentOS/RHEL 8

Comment configurer Mailman avec Debian et ISPConfig

Comment installer et configurer un VPN avec OpenVPN sur Ubuntu 18.04