Name : BETA-TESTERS
Project name : ZW3B-API-BETA-TESTERS
Authorized. - 200 - Client API Name and Origin Wildcard OK
Comment faire pour configurer un client VPN par les protocoles IPSec et XL2TP
Cette documentation est obsolète -> je vous redirige vers cette solution : PostQuantum StrongSwan v6.x - doc
Je vais décrire comment configurer un client VPN par les protocoles IPSec et xL2TP.
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
IPSec
Nous allons configurer IPSec : vim /etc/ipsec.conf
.
Script avec 35 lignes
001version 2.0 002config setup 003 plutostart=no 004 plutodebug=all 005 charonstart=yes 006 charondebug=all 007 nat_traversal=yes 008# virtual_private=%v4:10.0.0.0/8 009# oe=off 010# protostack=netkey 011# uniqueids=no 012# plutodebug=all 013# klipsdebug=none 014# plutoopts="--interface=vmbr1" 015 016conn sovh.lab3w.fr 017 keyexchange=ikev2 018 authby=secret 019 pfs=no 020 auto=add 021 keyingtries=3 022 dpddelay=30 023 dpdtimeout=120 024 dpdaction=clear 025 rekey=no 026 keylife=24h 027 ikelifetime=6h 028 type=transport 029 left=%defaultroute 030 leftid=@client.lab3w.fr 031 leftprotoport=17/1701 032 # 033 right=IP_DU_SERVER_VPN 034 rightid=@sovh.lab3w.fr 035 rightprotoport=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"
XL2TP
Nous allons configurer XL2TP : vim /etc/xl2tpd/xl2tpd.conf
.
Script avec 25 lignes
001[global] 002;auth file = /etc/xl2tpd/xl2tpd-secrets 003ipsec saref = yes 004;saref refinfo = 30 005;listen-addr = 0.0.0.0 006;port = 1701 007; utilse pour la conf par default(a sup si radius) 008access control = no 009rand source = dev 010; 011;debug avp = yes 012;debug network = yes 013;debug packet = no 014;debug state = yes 015;debug tunnel = yes 016; 017[lac sovh] 018lns = IP_DU_SERVER_VPN 019;require authentication = yes 020;require chap = yes 021;refuse pap = yes 022;length bit = yes 023;name = p2.zw3b.vpn 024ppp debug = yes 025pppoptfile = /etc/ppp/options.net.client.xl2tpd
PPP
Nous allons configurer PPP : vim /etc/ppp/options.net.client.xl2tpd
.
Script avec 47 lignes
001# Do not support BSD compression. 002nobsdcomp 003passive 004lock 005 006# Allow all usernames to connect. 007#name * 008#proxyarp 009#ipcp-accept-local 010#ipcp-accept-remote 011#lcp-echo-failure 10 012lcp-echo-interval 30 013nodeflate 014 015# Do not authenticate incoming connections. This is handled by IPsec. 016#noauth 017#refuse-chap 018#refuse-mschap 019#refuse-mschap-v2 020# Authentifition 021name pc_1.zw3b.vpn 022password mot2passe4client_1 023 024# Authentification 025noauth 026#require-chap 027#require-mschap 028#require-mschap-v2 029#hide-password 030#modem 031 032# Set the DNS servers the PPP clients will use. 033#ms-dns 8.8.8.8 034#ms-dns 213.186.33.99 035 036mtu 1400 037mru 1400 038 039# Options 040refuse-eap 041noccp 042crtscts 043idle 1800 044#defaultroute 045nodefaultroute 046 047logfile /var/log/ppp.log
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.
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