Пост

Настройка VPN-клиента в Centos. L2TP + IPSec

Layer 2 Tunneling Protocol (L2TP) - это протокол туннелирования второго уровня. Он является расширением протокола туннелирования «точка-точка» (PPTP), используемого поставщиками интернет-услуг (ISP) для обеспечения работы виртуальной частной сети VPN через Интернет. L2TP объединяет лучшие функции двух других протоколов туннелирования: PPTP от Microsoft и L2F от Cisco Systems.

Исходные данные:

1
2
3
4
5
$VPN_SERVER_IP - Внешний IP адрес VPN-сервера
$VPN_IPSEC_PSK - IPSec Pre-Shared Key
$VPN_USER - VPN Username
$VPN_PASSWORD - VPN_password
$VPN_SERVER_ID - Серый IP адрес VPN. Если не знаете, то его можно увидеть в логах подключения к VPN

Устанавливаем необходимый софт

1
$ sudo yum -y install strongswan xl2tpd

Настраиваем IPSec

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
$ sudo nano /etc/ipsec.conf
[...]
# basic configuration

config setup
  nat_traversal=yes
  # strictcrlpolicy=yes
  # uniqueids = no

# Add connections here.

# Sample VPN connections

conn %default
  ikelifetime=60m
  keylife=20m
  rekeymargin=3m
  keyingtries=1
  keyexchange=ikev1
  authby=secret
  ike=3des-sha1-modp1024!
  esp=aes128-sha1!

conn vpn01
  keyexchange=ikev1
  left=%defaultroute
  auto=add
  authby=secret
  type=transport
  leftprotoport=17/1701
  rightprotoport=17/1701
  right=$VPN_SERVER_IP
  rightid=$VPN_SERVER_ID

Прописываем IPSec Pre-Shared Key

1
2
$ sudo nano /etc/ipsec.secrets
: PSK "$VPN_IPSEC_PSK"

Меняем права на файл ipsec.secrets

1
$ sudo chmod 600 /etc/ipsec.secrets

Настраиваем strongswan

1
2
3
4
$ sudo mv /etc/strongswan/ipsec.conf /etc/strongswan/ipsec.conf.old 2>/dev/null
$ sudo mv /etc/strongswan/ipsec.secrets /etc/strongswan/ipsec.secrets.old 2>/dev/null
$ sudo ln -s /etc/ipsec.conf /etc/strongswan/ipsec.conf
$ sudo ln -s /etc/ipsec.secrets /etc/strongswan/ipsec.secrets

Настраиваем xl2tpd

1
2
3
4
5
6
7
$ sudo nano /etc/xl2tpd/xl2tpd.conf
[...добавить в конец основного конфига...]
[lac vpn01]
lns = $VPN_SERVER_IP
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd.client
length bit = yes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ sudo nano /etc/ppp/options.l2tpd.client
ipcp-accept-local
ipcp-accept-remote
refuse-eap
require-chap
noccp
noauth
mtu 1460
mru 1460
noipdefault
defaultroute
usepeerdns
connect-delay 5000
name $VPN_USER
password $VPN_PASSWORD

Меняем права на файл options.l2tpd.client

1
$ sudo chmod 600 /etc/ppp/options.l2tpd.client

Создаем каталог и файл

1
2
$ sudo mkdir -p /var/run/xl2tpd
$ sudo touch /var/run/xl2tpd/l2tp-control

Перезапускаем службы xl2tpd и strongswan

1
2
$ sudo systemctl restart xl2tpd
$ sudo systemctl restart strongswan

Проверяем статус

1
2
$ systemctl status xl2tpd
$ systemctl status strongswan

Подключаемся к VPN.
Поднимаем IPSec

1
$ sudo strongswan up vpn01

Затем L2TP

1
$ echo "c vpn01" | sudo tee /var/run/xl2tpd/l2tp-control

Проверяем, должен появиться сетевой интерфейс ppp

1
$ ip a

Для отключения от VPN: вначале отключаем L2TP

1
$ echo "d vpn01" | sudo tee /var/run/xl2tpd/l2tp-control

Затем IPSec

1
$ sudo strongswan down vpn01
Авторский пост защищен лицензией CC BY 4.0 .

© IT Draft. Некоторые права защищены.