Layer 2 Tunneling Protocol (L2TP) este un protocol de tunelare, folosit în crearea reţelelor private virtuale (VPN).Acesta nu prevede nici un mecanism de criptare sau de confidenţialitate în sine. Publicat în 1999, ca standard RFC 2661, L2TP îşi are originea în alte două protocoale de tunelare mai vechi pentru PPP, Layer 2 Forwarding Protocol (L2F) şi Point-to-Point Tunneling Protocol (PPTP). Deşi acţionează la nivelul legătură de date în modelului OSI, protocol L2TP este de fapt un protocol ce acţionează la nivelul sesiune şi foloseşte portul înregistrat UDP 1701.
Stabilirea unei sesiuni L2TP cu serverul VPN:
- întâi clientul stabileşte un tunel IPsec cu serverul VPN
- clientul şi serverul L2TP stabilesc apoi un tunel L2TP în vârful tunelului IPsec.
- se stabileşte o sesiune PPP în partea de sus a tunelului L2TP, de exemplu, pachetele PPP sunt încapsulate şi trimise/recepţionate în cadrul tunelului IPsec
Cu această soluţie, numai autentificarea utilizatorului se face la nivelul PPP (cu combinaţia nume de utilizator/parolă). Criptarea datelor este asigurată de tunelul IPsec.
Pentru crearea serverului VPN L2TP/IPsec, pe Debian este nevoie de pachetele openswan, implementare IPsec pentru Linux şi xl2tpd, daemon-ul l2tp. Pe serverul VPN se editează fişierul /etc/ipsec.conf pentru a funcţiona cu chei PSK:
conn L2TP-PSK-NAT
rightsubnet=vhost:%priv
also=L2TP-PSK-noNAT
conn L2TP-PSK-noNAT
authby=secret
pfs=no
auto=add
keyingtries=3
rekey=no
type=transport
left=10.0.8.10
leftnexthop=10.0.8.9
leftprotoport=17/1701
right=%any
rightprotoport=17/1701
Cheia pre-partajată se introduce în /etc/ipsec.secrets
EAST:~# echo "10.0.8.10 %any: "masterpassword"">> /etc/ipsec.secrets
Se editează fişierul /etc/xl2tpd/xl2tpd.conf:
ip range = 172.16.40.35-172.16.40.40
local ip = 172.16.40.33
require authentication = yes
refuse pap = yes
refuse chap = yes
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd
length bit=yes
şi fişerul /etc/ppp/options.l2tpd:
name xl2tpd
ipcp-accept-local
ipcp-accept-remote
ms-dns 8.8.8.8
noccp
auth
crtscts
idle 1800
mtu 1400
mru 1400
nodefaultroute
debug
lock
proxyarp
connect-delay 5000
În fişierul /etc/ppp/chap-secrets se introduce combinaţia nume/parolă cu care utilizatorul se autentifică pe server.
Imaginile sunt preluate (dar modificate) din documentatia vyatta si de pe http://www.jacco2.dds.nl/networking/openswan-l2tp.html


Nu am fisierul ipsec.conf in etc. Ce ma fac?
Folosesti debian?
apt-get install openswan xl2tpd
Howdy I am so grateful I found your blog, I really found you by accident,
while I was searching on Askjeeve for something else, Regardless
I am here now and would just like to say thank you for a tremendous post and a all round exciting blog (I also love the theme/design), I don’t have time to read through it all at the
minute but I have book-marked it and also included
your RSS feeds, so when I have time I will be back to read a lot more,
Please do keep up the excellent work.