Debian — клиент L2TP/IPsec
Подключение Debian к L2TP/IPsec-серверу в роли клиента: IPsec-транспорт поднимает strongSwan, поверх него L2TP-туннель поднимает xl2tpd.
Дальше в примерах: vpn.example.com — адрес VPN-сервера, l2tp_to_office — имя подключения.
1. Установка пакетов
apt-get update
apt-get -y install strongswan xl2tpd
2. Настройка strongSwan
Открываем конфигурацию IPsec:
nano /etc/ipsec.conf
Приводим к следующему виду:
# ipsec.conf - strongSwan IPsec configuration file
# базовая конфигурация
config setup
# strictcrlpolicy=yes
# uniqueids = no
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_to_office
keyexchange=ikev1
left=%defaultroute
auto=start
dpdaction=hold
closeaction=hold
authby=secret
type=transport
leftprotoport=17/1701
rightprotoport=17/1701
right=@vpn.example.com
Наборы
3des-sha1-modp1024оставлены для совместимости со старым оборудованием. Если сервер поддерживает современные алгоритмы, замените их наaes256-sha256-modp2048.
Задаём общий ключ (PSK). Файл содержит секрет, поэтому сразу закрываем к нему доступ:
nano /etc/ipsec.secrets
: PSK "<ipsec_ключ>"
chmod 600 /etc/ipsec.secrets
3. Настройка xl2tpd
nano /etc/xl2tpd/xl2tpd.conf
[lac l2tp_to_office]
lns = vpn.example.com
ppp debug = no
pppoptfile = /etc/ppp/options.l2tpd.client
length bit = yes
autodial = yes
redial = yes
redial timeout = 30
Параметры PPP-соединения, включая логин и пароль пользователя VPN:
nano /etc/ppp/options.l2tpd.client
ipcp-accept-local
ipcp-accept-remote
refuse-eap
require-chap
noccp
noauth
mtu 1280
mru 1280
noipdefault
defaultroute
usepeerdns
connect-delay 5000
name <пользователь_vpn>
password <пароль_пользователя_vpn>
В этом файле пароль лежит открытым текстом, поэтому права на него тоже ограничиваем:
chmod 600 /etc/ppp/options.l2tpd.client
4. Управляющий файл xl2tpd
mkdir -p /var/run/xl2tpd
touch /var/run/xl2tpd/l2tp-control
5. Запуск и проверка
Перезапускаем службы и поднимаем туннель:
systemctl restart strongswan-starter xl2tpd
ipsec status
echo "c l2tp_to_office" > /var/run/xl2tpd/l2tp-control
Проверяем, что интерфейс поднялся и появился адрес:
ip addr show ppp0
ip route
В некоторых сборках служба strongSwan называется
strongswanвместоstrongswan-starter— уточните черезsystemctl list-units | grep -i strongswan.