Создание 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

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

Интеграция Nextcloud с Keycloak через OpenID Connect: пошаговое руководство по настройке SSO

Nextcloud — отличное решение для хранения файлов, но управление пользователями вручную становится головной болью при масштабировании. Keycloak позволяет централизовать аутентификацию, обеспечивая безопасность, поддержку MFA (двухфакторной аутентификации) и удобный вход через…

Установка и оптимизация WordPress на Ubuntu 24.04 (LEMP + Redis) на VPS с ограниченным объёмом RAM

Пакеты в Ubuntu по умолчанию настроены на работу с серверами, имеющими довольно много оперативной памяти. Нам нужно жёстко ограничить потребление памяти для работы на Mikro VPS. Запускать будем мой блог…

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

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

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

Интеграция Nextcloud с Keycloak через OpenID Connect: пошаговое руководство по настройке SSO

Интеграция Nextcloud с Keycloak через OpenID Connect: пошаговое руководство по настройке SSO

Установка и оптимизация WordPress на Ubuntu 24.04 (LEMP + Redis) на VPS с ограниченным объёмом RAM

Установка и оптимизация WordPress на Ubuntu 24.04 (LEMP + Redis) на VPS с ограниченным объёмом RAM

Интеграция Gitea и Keycloak: пошаговое руководство

Интеграция Gitea и Keycloak: пошаговое руководство

Настройка VS Code AI Chat для работы со сторонним OpenAI провайдером.

Настройка VS Code AI Chat для работы со сторонним OpenAI провайдером.

ProxyChains специфическая работа с прокси-серверами в UNIX/Linux-системах

ProxyChains специфическая работа с прокси-серверами в UNIX/Linux-системах

Полное руководство по установке и настройке мониторинга с Grafana и Prometheus: от установки до первого дашборда

Полное руководство по установке и настройке мониторинга с Grafana и Prometheus: от установки до первого дашборда