Создание L2TP/IPSEC туннеля до роутера MikroTik

Оцените статью

Предварительная подготовка

Ставим пакеты:

# apt-get update && apt-get upgrade
# apt-get install xl2tpd strongswan

Открываем порты:

UDP: 1701,500,4500

Для UFW команды:

# ufw allow 1701/udp
# ufw allow 500/udp
# ufw allow 4500/udp

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

/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-modp2048!
 esp=aes128-sha1-modp2048!

conn bds-upstream
 keyexchange=ikev1
 left=%defaultroute
 auto=add
 authby=secret
 type=transport
 leftprotoport=17/1701
 rightprotoport=17/1701
 right=37.194.5.244

/etc/ipsec.secrets

: PSK "SECRET-PSK-KEY"

Меняем права файла с PSK-ключом на 600

# chmod 600 /etc/ipsec.secrets

Пробуем запустить вручную для отладки:

# systemctl enable strongswan-starter.service
# systemctl restart strongswan-starter.service
# ipsec up bds-upstream

В результате должны получить сообщение connection ‘bds-upstream’ established successfully, в противном случае лезем в syslog и дебажим.

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

/etc/xl2tpd/xl2tpd.conf

[lac bds-upstream]
lns = 37.194.5.244
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd.client
length bit = yes
autodial=yes
redial = yes
redial timeout = 10
max redials = 1000
tunnel rws = 4
length bit = yes
require chap = yes
require pap = no
require authentication = yes

/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 prod-srv-02
password SECRET-PASSWORD

Перезапускаем сервис и настраиваем автозапуск.

# systemctl enable xl2tpd
# systemctl restart xl2tpd

Отладка

Принудительный запуск xl2tp соединения:

# echo "c bds-upstream" > /var/run/xl2tpd/l2tp-control

Маршрутизация на стороне клиента

/etc/ppp/ip-up.d/client-routes

#!/bin/sh
ip route add 10.212.1.0/24 via 0.0.0.0 dev ppp0
exit0

Делаем скрипт исполняемым:

# chmod +x /etc/ppp/ip-up.d/client-routes

Похожие записи

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

GlusterFS — это масштабируемая, распределённая файловая система с открытым исходным кодом, которая объединяет хранилища нескольких серверов в единое пространство имён. Она идеально подходит для создания отказоустойчивых и высокопроизводительных хранилищ, особенно…

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Запихать Mysql в Kubernetes оказалось не очень хорошей идеей и я решил основательно пересмотреть инфраструктуру своего pet-проекта и за основу будет принят кластер из трех серверов. На каждом узле кластера…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читать еще статьи

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования

Как проверить работу камеры в Ubuntu Linux: диагностика USB и встроенных веб-камер

Как проверить работу камеры в Ubuntu Linux: диагностика USB и встроенных веб-камер

Полное руководство по установке Docker, Docker Compose, kubectl, Helm и k9s в Linux

Полное руководство по установке Docker, Docker Compose, kubectl, Helm и k9s в Linux

Настройка маршрутизации через VipNet: пошаговое руководство для RedOS

Настройка маршрутизации через VipNet: пошаговое руководство для RedOS