Informations :
Dates
- Publish : : Thursday 18 september 2014
- Modification : Wednesday 19 march 2025
- 5174 views
Share :
Note of Me 2025/03/20 : Cette documentation est obsolète → je vous redirige vers cette solution : My StrongSwan 6.0.1 Configuration files n°7 (How to configure strongSwan v6 Post-Quantum Cryptography NIST compliant #2731) - strongSwan - GitHub - Docs - WiKi - Open Quantum Safe OQS
Je vais décrire comment configurer un client VPN par les protocoles IPSec et xL2TP.
Installation des paquets IPSec
Il faut installer un xSecureWAN ;) il y quelques temps çà s'appellait FreeSWAN puis OpenSWAN ;)
De nôs jours c'est :strongSWAN !
Script avec 1 ligne
001aptitude install strongswan xl2tpd
Configuration d'IPSec
Nous allons configurer IPSec : vim /etc/ipsec.conf.
Script avec 35 lignes
001version 2.0002config setup003plutostart=no004plutodebug=all005charonstart=yes006charondebug=all007nat_traversal=yes008# virtual_private=%v4:10.0.0.0/8009# oe=off010# protostack=netkey011# uniqueids=no012# plutodebug=all013# klipsdebug=none014# plutoopts="--interface=vmbr1"015 016conn sovh.lab3w.fr017keyexchange=ikev2018authby=secret019pfs=no020auto=add021keyingtries=3022dpddelay=30023dpdtimeout=120024dpdaction=clear025rekey=no026keylife=24h027ikelifetime=6h028type=transport029left=%defaultroute030leftid=@client.lab3w.fr031leftprotoport=17/1701032#033right=IP_DU_SERVER_VPN034rightid=@sovh.lab3w.fr035rightprotoport=17/1701
Puis on ajoute la passphrase dans /etc/ipsec.secrets
Script avec 1 ligne
001%any @sovh.lab3w.fr : PSK "ma clef a pre-partager"
Configuration de XL2TP
Nous allons configurer XL2TP : vim /etc/xl2tpd/xl2tpd.conf.
Script avec 25 lignes
001[global]002;auth file = /etc/xl2tpd/xl2tpd-secrets003ipsec saref = yes004;saref refinfo = 30005;listen-addr = 0.0.0.0006;port = 1701007; utilse pour la conf par default(a sup si radius)008access control = no009rand source = dev010;011;debug avp = yes012;debug network = yes013;debug packet = no014;debug state = yes015;debug tunnel = yes016;017[lac sovh]018lns = IP_DU_SERVER_VPN019;require authentication = yes020;require chap = yes021;refuse pap = yes022;length bit = yes023;name = p2.zw3b.vpn024ppp debug = yes025pppoptfile = /etc/ppp/options.net.client.xl2tpd
Configuration de PPP
Nous allons configurer PPP : vim /etc/ppp/options.net.client.xl2tpd.
Script avec 47 lignes
001# Do not support BSD compression.002nobsdcomp003passive004lock005 006# Allow all usernames to connect.007#name *008#proxyarp009#ipcp-accept-local010#ipcp-accept-remote011#lcp-echo-failure 10012lcp-echo-interval 30013nodeflate014 015# Do not authenticate incoming connections. This is handled by IPsec.016#noauth017#refuse-chap018#refuse-mschap019#refuse-mschap-v2020# Authentifition021name pc_1.zw3b.vpn022password mot2passe4client_1023 024# Authentification025noauth026#require-chap027#require-mschap028#require-mschap-v2029#hide-password030#modem031 032# Set the DNS servers the PPP clients will use.033#ms-dns 8.8.8.8034#ms-dns 213.186.33.99035 036mtu 1400037mru 1400038 039# Options040refuse-eap041noccp042crtscts043idle 1800044#defaultroute045nodefaultroute046 047logfile /var/log/ppp.log
Comment utiliser cette configuration IPSec + XL2TP
Lancer la connexion sécurisée IPSec :
Script avec 1 ligne
001ipsec up sovh.lab3w.fr
Pour dé-connecter la connexion IPSec :
Script avec 1 ligne
001ipsec down sovh.lab3w.fr
Monter la connexion xL2TP qui (nous) ajoute une interface PPP (Point-2-Point) configurée pour être transportée dans IPSec :
Script avec 1 ligne
001echo "c sovh" >> /var/run/xl2tpd/l2tp-control
Pour dé-monter xL2TP :
Script avec 1 ligne
001echo "d sovh" >> /var/run/xl2tpd/l2tp-control
NdM : En mode tunnel, IPSec créait une interface ipsec0 par exemple.
Pour un script de (re)connexion au serveur VPN : IPSEC+XL2TP
J'ai écris un papier sur cette page VPN IPSec + XL2TP : IPv(4/6) Remount du client et des routes pour se connecter et/ou se reconnecter automatiquement au serveur VPN.
Bonne re-connexion ;)
Cordialement,
Romain

