Comment mettre en place un VPN basé sur IPSec avec Strongswan sur Centos / Rhel 8

Comment mettre en place un VPN basé sur IPSec avec Strongswan sur Centos / Rhel 8

Strongswan est une solution VPN IPNEC open-source, multi-plate-forme, moderne et complète pour Linux qui fournit une prise en charge complète pour Échange de clés Internet (les deux Ikev1 et Ikev2) pour établir des associations de sécurité (SA) entre deux pairs. Il est complet, modulaire par conception et propose des dizaines de plugins qui améliorent la fonctionnalité principale.

Article associé: Comment mettre en place un VPN basé sur IPSec avec Strongswan sur Debian et Ubuntu

Dans cet article, vous apprendrez à configurer les passerelles VPN IPSec de site à site en utilisant Strongswan sur Centos / Rhel 8 les serveurs. Cela permet aux pairs de s'authentifier mutuellement en utilisant 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 lui.

Environnement de test

N'oubliez pas d'utiliser vos adresses IP réelles pendant les configurations tout en suivant le guide.

Site 1 passerelle
IP publique: 192.168.56.7 IP privée: 10.dix.1.1/24 Sous-réseau privé: 10.dix.1.0/24 
Site 2 passerelle
IP publique: 192.168.56.6 IP privée: 10.20.1.1/24 Sous-réseau privé: 10.20.1.0/24 

Étape 1: activer le transfert IP du noyau dans les centos 8

1. Commencez par activer les fonctionnalités de transfert IP du noyau dans / etc / sysctl.confli Fichier de configuration sur les deux passerelles VPN.

# vi / etc / sysctl.confli 

Ajouter ces lignes dans le fichier.

filet.ipv4.ip_forward = 1 net.ipv6.confli.tous.transfert = 1 net.ipv4.confli.tous.accepter_redirects = 0 net.ipv4.confli.tous.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 dans 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 / Script de réseau / Route-ETH0 

Ajouter la ligne suivante dans le fichier.

#Site 1 passerelle 10.20.1.0/24 via 192.168.56.7 #site 2 passerelle 10.dix.1.0/24 via 192.168.56.6 

4. Puis redémarrez le gestionnaire de réseau pour appliquer les nouvelles modifications.

# SystemCTL Restart NetworkManager 

Étape 2: Installation de Strongswan dans Centos 8

5. Le Strongswan le colis 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 Installer EPEL-Release # DNF Installer StrongSwan 

6. Pour vérifier la version de Strongswan Installé sur les deux passerelles, exécutez la commande suivante.

# version Strongswan 

7. Ensuite, commencez le Strongswan Service et activer pour démarrer automatiquement au démarrage du système. Puis vérifiez le statut sur les deux passerelles de sécurité.

# systemctl start Strongswan # systemctl Activer StrongSwan # SystemCTl Status Strongswan 

Note: La dernière version de Strongswan dans Centos / Rehl 8 Livré avec un support pour les deux swanctl (Un nouvel utilitaire de ligne de commande portable introduit avec Strongswan 5.2.0, utilisé pour configurer, contrôler et surveiller l'Ike Daemon Charon à l'aide du vici plugin) et entrée (ou ipsec) Utilité utilisant le plugin de course déprécié.

8. Le répertoire de configuration principal est / etc / Strongswan / qui contient des fichiers de configuration pour les deux plugins:

# ls / etc / Strongswan / 
Structure de configuration StrongSwan

Pour ce guide, nous utiliserons l'utilitaire IPSec qui est invoqué en utilisant le Strongswan commande et l'interface de trait. Nous utiliserons donc les fichiers de configuration suivants:

  • / etc / Strongswan / ipsec.confli - Fichier de configuration pour le sous-système StrongSwan IPSec.
  • / etc / Strongswan / ipsec.secrets - Fichier des secrets.

É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 du / etc / Strongswan / ipsec.confli Fichier de configuration StrongSwan.

Configuration du profil de connexion du site 1

# CP / etc / Strongswan / ipsec.conf / etc / Strongswan / ipsec.confli.orig # vi / etc / Strongswan / ipsec.confli 

Copiez et collez la configuration suivante dans le fichier.

Config Configuration CharonDebug = "all" UNIQUEIDS = Oui Conn Ateway1-à-Gateway2 Type = Tunnel Auto = start keyExchange = ikev2 authby = secret gauche = 192.168.56.7 LeftSubnet = 10.dix.1.1/24 à droite = 192.168.56.6 RightsUbnet = 10.20.1.1/24 Ike = AES256-SHA1-MODP1024! ESP = AES256-SHA1! agressif = pas de keyingtries =% pour toujours 

Configuration du profil de connexion du site 2

# CP / etc / Strongswan / ipsec.conf / etc / Strongswan / ipsec.confli.orig # vi / etc / Strongswan / ipsec.confli 

Copiez et collez la configuration suivante dans le fichier:

Config configuration charondebug = "all" UNIQUEIDS = YES Conn 2Gateway-to-Gateway1 type = Tunnel Auto = start keyExchange = ikev2 authby = secret gauche = 192.168.56.6 LeftSubnet = 10.20.1.1/24 à droite = 192.168.56.7 RightsUbnet = 10.dix.1.1/24 Ike = AES256-SHA1-MODP1024! ESP = AES256-SHA1! agressif = pas de keyingtries =% pour toujours 

Décrivons brièvement chacun des paramètres de configuration ci-dessus:

  • Configuration de la configuration - Définit les informations de configuration générale pour IPSec qui s'applique à toutes les connexions.
  • charondebug - Spécifie la quantité de sortie de débogage de Charon doit être enregistrée.
  • UNIQUEIDS - Définit si un identifiant de participant particulier doit être tenu unique.
  • Conn Gateway1-to-Gateway2 - Utilisé pour définir le nom de la connexion.
  • taper - Définit le type de connexion.
  • Auto - utilisé pour déclarer comment gérer la connexion lorsque IPSec est démarré ou redémarré.
  • KeyExchange - déclare la version du protocole IKE à utiliser.
  • Authby - Spécifie comment les pairs devraient s'authentifier les uns les autres.
  • gauche - déclare l'adresse IP de l'interface de réseau public du participant gauche.
  • Leftsubt - déclare le sous-réseau privé derrière le participant gauche.
  • droite - déclare l'adresse IP de l'interface de réseau public du bon participant.
  • RightBnet - déclare le sous-réseau privé derrière le participant gauche.
  • ike - utilisé pour déclarer une liste des algorithmes de chiffrement / d'authentification Ike / Isakmp SA à utiliser. Notez que cela peut être une liste séparée par des virgules.
  • en particulier - Spécifie une liste des algorithmes de chiffrement / d'authentification ESP à utiliser pour la connexion.
  • agressif - déclare que ce soit pour utiliser un mode agressif ou principal.
  • saillie - déclare le nombre de tentatives qui devraient être faites pour négocier une connexion.
  • ikelifetime - Spécifie combien de temps le canal de saisie d'une connexion devrait durer avant d'être renégocié.
  • durée de vie - Spécifie la durée d'une instance particulière d'une connexion, de la négociation réussie à l'expiration.
  • dpddelay - déclare l'intervalle de temps avec lequel R_U_ETHERE Messages / échanges d'information sont envoyés au pair.
  • dpdtimeout - utilisé pour déclarer l'intervalle de délai d'expiration, après quoi toutes les connexions à un pair sont supprimées en cas d'inactivité.
  • dpdaction - Spécifie comment utiliser le protocole DPD de détection des pairs morts (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.confli page.

# man ipsec.confli 

Étape 4: Configuration de l'authentification PSK pour les pairs

dix. Ensuite, vous devez générer un PSK solide pour être utilisé par les pairs pour l'authentification comme suit.

# tête -c 24 / dev / urandom | base64 
Générer la clé PSK

11. Ajouter le PSK dans le / etc / Strongswan / ipsec.confli fichier sur les deux passerelles de sécurité.

# vi / etc / Strongswan / ipsec.secrets 

Entrez la ligne suivante dans le fichier.

#Site 1 passerelle 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. Puis démarrez le fort Servir et vérifier l'état des connexions.

# Systemctl Restart StrongSwan # statut StrongSwan 
Vérifiez 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.dix.1.1 
Passerelles de sécurité ping

14. Enfin et surtout, pour en savoir plus Strongswan Commandes pour faire des connexions manuelles sur les connexions et plus encore, voir la page d'aide 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 rétroaction ci-dessous. Et pour en savoir plus sur le nouvel utilitaire SWANCTL et la nouvelle structure de configuration plus flexible, voir la documentation utilisateur StrongSwan.