Comment faire : SSH, OpenSSL, Iptables, RSYNC, RAID, VPN...
 Charge moyenne sur 1mn : 0.28 Charge moyenne sur 5mn : 0.48 Charge moyenne sur 15mn : 0.50




Howto VPN serveur : IPSec + XL2TP

  • Howto VPN serveur : IPSec + XL2TP
Comment faire pour configurer un serveur VPN par les protocoles IPSec et XL2TP

Informations

Dates
  • Publication : Jeudi 18 septembre 2014
  • Modification : Jeudi 15 décembre 2016

Partager

Je vais décrire comment configurer un serveur 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 !
001 aptitude install strongswan xl2tpd

Configuration d'IPSec

Nous allons configurer IPSec : vim /etc/ipsec.conf.

001 version 2.0
002 config setup
003 #       plutodebug=all
004         klipsdebug=none
005 #       interfaces="ipsec0=eth0"
006         nat_traversal=yes
007 #       virtual_private=%v4:10.0.0.0/8
008         oe=off
009         nhelpers=0
010         protostack=netkey
011         uniqueids=no
012 
013 conn L2TP-PSK-NAT
014         rightsubnet=vhost:%priv
015         also=L2TP-PSK-noNAT
016 
017 conn L2TP-PSK-noNAT
018         authby=secret
019         pfs=no
020         auto=add
021         keyingtries=3
022         rekey=no
023         keylife=24h
024         ikelifetime=6h
025         type=transport
026         left=%defaultroute
027         leftid=@net.zw3b.vpn
028         leftprotoport=17/1701
029         right=%any
030         rightprotoport=17/%any
031         forceencaps=yes
032         dpddelay=40
033         dpdtimeout=130
034         dpdaction=clear

Vous vous apercevez que l'on utilise une passphrase authby=secret, on pourait utiliser des certificats.

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

001 @net.zw3b.vpn %any : PSK "ma clef a partager"

Configuration de XL2TP

Nous allons configurer XL2TP : vim /etc/xl2tpd/xl2tpd.conf.

001 [global]
002 ;auth file = /etc/xl2tpd/xl2tpd-secrets
003 ipsec 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)
008 access control = no
009 rand 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 [lns default]
018 ;exclusive = no
019 ip range = 172.16.5.101-172.16.5.154
020 ;assign ip = yes
021 local ip = 172.16.5.254
022 name = net
023 hostname = net.zw3b.fr
024 ; Regles d'authentification
025 require chap = yes
026 refuse pap = yes
027 require authentication = yes
028 unix authentication = no
029 ppp debug = yes
030 ; Fichier de configuration de PPP
031 pppoptfile = /etc/ppp/options.net.l2tpd
032 length bit = yes
033 ;challenge = yes

Configuration de PPP

Nous allons configurer PPP : vim /etc/ppp/options.net.l2tpd.

001 # Do not support BSD compression.
002 nobsdcomp
003 passive
004 lock
005 
006 # Allow all usernames to connect.
007 name *
008 #name net
009 proxyarp
010 #ipcp-accept-local
011 #ipcp-accept-remote
012 #lcp-echo-failure 10
013 lcp-echo-interval 30
014 nodeflate
015 noccp
016 
017 # Do not authenticate incoming connections. This is handled by IPsec.
018 #noauth
019 #refuse-chap
020 #refuse-mschap
021 #refuse-mschap-v2
022 
023 # Authentification
024 auth
025 #noipdefault
026 require-chap
027 #require-mppe-128
028 +mschap-v2
029 +mschap
030 require-mschap
031 require-mschap-v2
032 hide-password
033 modem
034 asyncmap 0
035 crtscts
036 #silent
037 
038 # DNS servers the PPP clients will use.
039 #ms-dns 172.16.5.252
040 ms-dns 8.4.8.4
041 
042 mtu 1400
043 mru 1400
044 
045 # Options
046 #defaultroute
047 #nodefaultroute

Configuration du fichier des comptes clients (machines et utilisateurs)

On édite : vim /etc/ppp/chap-secrets.

001 # machine avec IP fixe
002 pc_1.zw3b.vpn        *                   mot2passe4pc_1        172.16.5.10
003 172.16.5.10        pc_1.zw3b.vpn        mot2passe4pc_1        *
004 
005 # user avec IP fixe
006 user_1.domaine.tld    *                   mot2passe4user_1    172.16.5.20
007 172.16.5.20        user_1.domaine.tld    mot2passe4user_1    *
008 
009 # user avec IP aléatoire (comprise dans le ip range)
010 user_2.domaine.tld    *                   mot2passe4user_2    *
011 *            user_2.domaine.tld    mot2passe4user_2    *

Puis vérifier bien que le fichier est lisible que pour l'utilsateur root par la commande ls -l /etc/ppp/chap-secrets qui doit vous retourner les droits -rw-------

Script de lancement du serveur VPN : IPSEC+XL2TP

Ici simplement on démare xl2tpd et xl2tpd et on attend les connexions VPN des clients.

001 #!/bin/bash
002 
003 #####---------------------------- INFORMATIONS --------------------------------#####
004 #
005 #       Name : vpn-net-server.sh
006 #       Desc : Script de lancement du serveur VPN : IPSEC+XL2TP
007 #       Auteur : Olivier Romain JAILLET alias Kss*
008 #       Mail : orj AT lab3w DOT fr
009 #       Date : 2014-05-05
010 #
011 #####---------------------------- INFORMATIONS --------------------------------#####
012 
013 
014 #####--------------------------------------------------------------------------#####
015 
016 function ipsec_l2tp()
017 {
018         /etc/init.d/ipsec $1
019         /etc/init.d/xl2tpd $1
020 }
021 
022 #####--------------------------------------------------------------------------#####
023 
024 
025 #####--------------------------------------------------------------------------#####
026 case "$1" in
027 
028 start|restart)
029 $0 stop
030 echo "$0 Starting"
031         ipsec_l2tp start
032         echo "VPN ZW3B CONNECTION UP"
033 ;;
034 
035 stop)
036 echo "$0 Stop"
037         ipsec_l2tp stop
038         echo "VPN ZW3B CONNECTION DOWN"
039 ;;
040 
041 *)
042 echo "usage : $0 (start|stop|restart)"
043 ;;
044 
045 esac
046 #####--------------------------------------------------------------------------#####

Liens internes :

  1. Virtual Private Network (VPN)
  2. GNU/Linux Sécurité > Howto VPN client : IPSec + XL2TP
  3. Windows Sécurité > Configurer un VPN client : IPSec + XL2TP
  4. GNU/Linux Shells > VPN IPSec + XL2TP : Routage des sous réseaux clients
  5. GNU/Linux > Shells > VPN IPSec + XL2TP : IPv(4/6) Remount du client et des routes
  6. Anonymat sur InterNet

LAB3W.ORJ Alias de O.Romain JAILLET-RAMEY (NOTIF LVL 7 - 41 ans) LAB3W.ORJ
CONTACT
- Web - STEAM - Monster - LinkedIn - Viadeo - DailyMotion - FB - G+ - Twitter
DROITS SITES : ZW3B.Admin
INSCRIPTION : à l'aube du site, le samedi 06 janvier 1 (depuis wWwEBALL.com) (2001/01/06 15:31)
CONNEXION : hier à 19h03 (2018/01/17 19:03)
DERNIERE VISITE : il y a 6 heures (2018/01/18 00:00)

les réactions des ZW3B.Nautes (0 note)

Ajouter un commentaire

Avatar par default
Pseudo :
Email :
 
Ajouter la chaine de caractères (le code) ci-dessous dans le champ du dessous.
Captcha
Code :


1TPE



Valid XHTML 1.0 Strict CSS Valide !

ipv6 ready