ZW3B :-: API Client * Contents * Docs by LAB3W.ORJ

Translate this page

Name : BETA-TESTERS

Project name : ZW3B-API-BETA-TESTERS

Authorized. - 200 - Client API Name and Origin Wildcard OK

¿Comment? 'Ou' ¿Que faire?, OS GNU/Linux, Sécurité, Howto VPN client : IPSec + XL2TP

Comment faire pour configurer un client VPN par les protocoles IPSec et XL2TP

Author : O.Romain.Jaillet-ramey

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.

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
Retirer les numéros de lignes

Configuration d'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
Retirer les numéros de lignes

Puis on ajoute la passphrase dans /etc/ipsec.secrets

Script avec 1 ligne

001%any @sovh.lab3w.fr : PSK "ma clef a pre-partager"
Retirer les numéros de lignes

Configuration de 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
Retirer les numéros de lignes

Configuration de 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
Retirer les numéros de lignes

Comment utiliser cette configuration IPSec + XL2TP

Lancer la connexion sécurisée IPSec :

Script avec 1 ligne

001ipsec up sovh.lab3w.fr
Retirer les numéros de lignes

Pour dé-connecter la connexion IPSec :

Script avec 1 ligne

001ipsec down sovh.lab3w.fr
Retirer les numéros de lignes

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
Retirer les numéros de lignes

Pour dé-monter xL2TP :

Script avec 1 ligne

001echo "d sovh" >> /var/run/xl2tpd/l2tp-control
Retirer les numéros de lignes

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