Very good arcticle http://www.crosspeer.com/tutorial_Linux_L2TP_VPN_Client.html
Step 0: Util Install
apt-get update
apt-get install openswan xl2tpd
apt-get install openswan xl2tpd
Step 1: Configure IpSec
vi /etc/ipsec.conf
config setup
conn %default
ikelifetime=60m
keylife=20m
rekeymargin=3m
keyingtries=1
keyexchange=ikev1
authby=secret
ike=aes128-sha1-modp1024,3des-sha1-modp1024!
esp=aes128-sha1-modp1024,3des-sha1-modp1024!
conn L2TP-PSK
keyexchange=ikev1
left=%defaultroute
auto=add
authby=secret
type=transport
leftprotoport=17/1701
rightprotoport=17/1701
right=xxx.xxx.xxx.xxx
conn %default
ikelifetime=60m
keylife=20m
rekeymargin=3m
keyingtries=1
keyexchange=ikev1
authby=secret
ike=aes128-sha1-modp1024,3des-sha1-modp1024!
esp=aes128-sha1-modp1024,3des-sha1-modp1024!
conn L2TP-PSK
keyexchange=ikev1
left=%defaultroute
auto=add
authby=secret
type=transport
leftprotoport=17/1701
rightprotoport=17/1701
right=xxx.xxx.xxx.xxx
vi /etc/ipsec.secrets
0.0.0.0: xxx.xxx.xxx.xxx PSK "XXXXXXXX"
/etc/init.d/ipsec start
ipsec up L2TP-PSK
Step 2: Configure L2TP
vi /etc/xl2tpd/xl2tpd.conf
[lac L2TP-PSK]
lns = xxx.xxx.xxx.xxx
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd.client
name = L2TP-PSK
length bit = yes
redial = yes ; Перподключаться при потере соединения
redial timeout = 5 ; Сколько ждать между попытками соединиться
autodial = yes ; Автоматически устанавливать связь при старте сервиса
lns = xxx.xxx.xxx.xxx
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd.client
name = L2TP-PSK
length bit = yes
redial = yes ; Перподключаться при потере соединения
redial timeout = 5 ; Сколько ждать между попытками соединиться
autodial = yes ; Автоматически устанавливать связь при старте сервиса
vi /etc/ppp/options.l2tpd.client
ipcp-accept-local
ipcp-accept-remote
refuse-eap
refuse-chap
refuse-pap
require-mschap-v2
noccp
noauth
logfile /var/log/xl2tpd.log
idle 1800
mtu 1410
mru 1410
defaultroute
usepeerdns
debug
connect-delay 5000
name ksi-VPN
password xxxxxxxxxxxxxxxxxxxxxxxx
ipcp-accept-remote
refuse-eap
refuse-chap
refuse-pap
require-mschap-v2
noccp
noauth
logfile /var/log/xl2tpd.log
idle 1800
mtu 1410
mru 1410
defaultroute
usepeerdns
debug
connect-delay 5000
name ksi-VPN
password xxxxxxxxxxxxxxxxxxxxxxxx
Step 3: RUN L2TP
/etc/init.d/ipsec start
/etc/init.d/xl2tpd start
ipsec auto --up L2TP-PSK
echo "c vpn-connection" > /var/run/xl2tpd/l2tp-control
Step 4: ADD ROUTE
ip route add 192.168.88.250 via $(ip address show dev ppp0 | grep -Po '(?<=peer )(\b([0-9]{1,3}\.){3}[0-9]{1,3}\b)') dev ppp0