Site icon IT Draft

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

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

VPN-Client L2TP + IPSec

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

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

$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

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

$ sudo yum -y install strongswan xl2tpd

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

$ 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

Selectel — ведущий провайдер облачной инфраструктуры и услуг дата-центров

Компания занимает лидирующие позиции на рынке на рынке выделенных серверов и приватных облаков, и входит в топ-3 крупнейших операторов дата-центров в России.


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

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

$ sudo chmod 600 /etc/ipsec.secrets

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

$ 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

$ sudo nano /etc/xl2tpd/xl2tpd.conf
[...добавить в конец основного конфига...]
[lac vpn01]
lns = $VPN_SERVER_IP
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd.client
length bit = yes
$ 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

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

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

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

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

$ sudo systemctl restart xl2tpd
$ sudo systemctl restart strongswan

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

$ systemctl status xl2tpd
$ systemctl status strongswan

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

$ sudo strongswan up vpn01

Затем L2TP

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

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

$ ip a

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

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

Затем IPSec

$ sudo strongswan down vpn01
Exit mobile version