GNU/Linux >> Tutoriels Linux >  >> Cent OS

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

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

Remarque  :La dernière version de strongswan dans CentOS/REHL 8 vient avec le support pour swanctl (un nouvel utilitaire de ligne de commande portable introduit avec strongSwan 5.2.0, utilisé pour configurer, contrôler et surveiller le démon IKE Charon à l'aide de vici plugin) et starter (ou ipsec ) utilitaire utilisant le plug-in de course obsolète.

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
Cent OS
  1. Comment configurer Wireguard VPN sur CentOS 8

  2. Comment définir ou modifier le nom d'hôte dans CentOS 7 / RHEL 7

  3. Comment installer phpMyAdmin avec Nginx sur CentOS 7 / RHEL 7

  4. Comment configurer un serveur de messagerie avec PostfixAdmin sur CentOS 7

  5. Comment configurer WireGuard VPN sur CentOS 8

Comment définir/modifier le nom d'hôte dans CentOS 8 / RHEL 8

Comment installer WordPress avec Nginx sur CentOS 8 / RHEL 8

Comment configurer un serveur VPN IKEv2 avec StrongSwan sur Ubuntu 22.04

Comment sécuriser le serveur de messagerie contre le piratage avec VPN (CentOS/RHEL)

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

Comment configurer SSH sur CentOS et RHEL