Comment faire : SSH, OpenSSL, Iptables, RSYNC, RAID, VPN...
 Charge moyenne sur 1mn : 1.84 Charge moyenne sur 5mn : 2.19 Charge moyenne sur 15mn : 2.07




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

Traduire la page

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 - 42 ans) LAB3W.ORJ
CONTACT
- Web - STEAM - Monster - LinkedIn - Viadeo - DailyMotion - FACEBOOK - GOOGLE+ - Twitter
DROITS SITES : ZW3B.Admin
INSCRIPTION : Le samedi 06 janvier 1 (2001/01/06 15:31)
CONNEXION : il y a 8 heures (2019/09/19 10:22)
DERNIERE VISITE : il y a 4 heures (2019/09/19 13:40)

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 :





Valid XHTML 1.0 Strict CSS Valide !

ipv6 ready