Strongswan

De Wiki doc

Révision datée du 12 décembre 2017 à 17:02 par Ycharbi (discussion | contributions) (Page créée avec « Category:vpn {{chantier}} ''Expliquer chaque sections.'' Strongswan est une implémentation du protocole IPSec sous Linux. Nous utilisons ce type de tunnel pour la [... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

EN CHANTIER

Article en cours d'écriture et/ou de test. Certains éléments peuvent être incomplets et mener à un résultat non fonctionnel.
Merci de ne pas rager.

Expliquer chaque sections.

Strongswan est une implémentation du protocole IPSec sous Linux. Nous utilisons ce type de tunnel pour la réplication des bases de données entre nos deux Wiki: https://doc.ycharbi.fr et https://doc.lesmorin.fr.

Nous documenterons la mise en place de ce type de VPN dans le but d'y faire passer un lien trunk sur tunnel GRE avec Open vSwitch. Dans chacune des explications, nous partons du principe que deux serveurs derrière un NAT (le cas concret d'Internet avec IPv4) veulent se connecter ensemble.

Connexion par PKI

Dans cette section, nous allons voir comment utiliser une paire de clés publique/privée pour la connexion au VPN.

Installation des paquets

apt install strongswan strongswan-pki openvswitch-switch

Sur le serveur 1

Création des clés

ipsec pki --gen --type ecdsa --outform pem --size 521 > /etc/ipsec.d/private/YC-NM_ycharbi_key.pem
ipsec pki --self -t ecdsa --in /etc/ipsec.d/private/YC-NM_ycharbi_key.pem --outform pem --lifetime 3650 --dn
"CN=YC-NM_ycharbi_crt" > /etc/ipsec.d/certs/YC-NM_ycharbi_crt.pem

Configuration de la connexion

vim /etc/ipsec.conf
conn %default
	ikelifetime=60m
	keylife=20m
	rekeymargin=3m
	keyingtries=1
	keyexchange=ikev2
	mobike=no
 
conn YC-NM
	ike=aes256gcm128-sha512-ecp521!
	esp=aes256gcm128-sha512-ecp521!
	left=192.168.1.200
	leftsubnet=10.254.254.254/32
	leftid=@ycharbi
	leftcert=YC-NM_ycharbi_crt.pem
	leftfirewall=yes
	right=vpn.lesmorin.fr
	rightsubnet=10.254.254.253/32
	rightid=@lesmorin
	rightcert=YC-NM_lesmorin_crt.pem
	auto=add

Ajout d'une ACL pour la connexion

vim /etc/ipsec.secret
@lesmorin @ycharbi : ECDSA /etc/ipsec.d/private/YC-NM_lesmorin_key.pem

Configuration de l'interface réseau

allow-hotplug vlan2
iface vlan2 inet static
        address 192.168.1.200
        netmask 255.255.255.0
        gateway 192.168.1.1
        up ip addr add 10.254.254.254 dev vlan2
        up ip route add 10.254.254.253/32 dev vlan2 src 10.254.254.254 || true
        up service isc-dhcp-server restart || true
        down ip route del 10.254.254.253/32 dev vlan2 src 10.254.254.254 || true
        down ip addr del 10.254.254.254 dev vlan2

Ces paramètres sont à ajouter dans la section de l'interface physique de sortie de votre serveur