Сети & VPN

Настройка L2TP/IPsec VPN: VPS ↔ MikroTik CHR ↔ Ноутбук

Архитектура решения

[ Ноутбук: ip_адрес_ноутбука ] 
         │ (Шлюз: ip_адрес_микротика)
         ▼
[ MikroTik CHR: ip_адрес_микротика ] ──(Mangle / PBR)──► [ L2TP/IPsec Туннель ] ──► [ VPS: ip_адрес_сервера ] ──► Интернет

Руководство описывает процесс развертывания туннеля L2TP/IPsec между виртуальным роутером MikroTik CHR и удаленным VPS-сервером, а также настройку маршрутизации на основе политик (PBR) для выборочного направления трафика локальных устройств в VPN.

Часть 1. Настройка VPS-сервера (Ubuntu/Debian)

Шаг 1. Подключение и запуск автоскрипта L2TP/IPsec

Подключитесь к серверу по SSH от имени root:

ssh root@ip_адрес_сервера

Запустите скрипт автоматической установки сетевых пакетов L2TP/IPsec:

wget https://git.io/vpnsetup -O vpnsetup.sh && sudo sh vpnsetup.sh
Важно сохранить данные!
После завершения работы скрипт выведет конфигурационные данные. Сохраните:
IPsec VPN Pre-Shared Key (ipsec_secret)
Username (логин_vpn)
Password (пароль_vpn)

Шаг 2. Настройка сетевого экрана (UFW) на VPS

sudo ufw allow 500/udp      # ISAKMP (обмен ключами)
sudo ufw allow 4500/udp     # IPsec NAT-Traversal
sudo ufw allow 1701/udp     # L2TP-трафик

sudo ufw reload             # Перезагрузка правил
sudo ufw status             # Контроль статуса

Часть 2. Настройка клиента на MikroTik CHR

Откройте WinBox и перейдите в раздел PPP → Interfaces → «+» → L2TP Client.

  • General: Name = l2tp-to-vps
  • Dial Out:
    • Connect To: ip_адрес_сервера
    • User: логин_vpn / Password: пароль_vpn
    • Use IPsec: yes
    • IPsec Secret: ipsec_secret

После сохранения рядом с интерфейсом должна появиться буква R (Running).

Часть 3. Настройка маршрутизации PBR (Policy Based Routing)

  1. Определение IP шлюза VPN: В меню IP → Addresses найдите строку l2tp-to-vps и запомните IP из колонки Network (например, 192.168.42.1).
  2. Создание таблицы маршрутизации: Routing → Tables → «+». Name: via-vpn, обязательно поставьте флаг FIB.
  3. Прокладка маршрута: IP → Routes → «+». Dst. Address: 0.0.0.0/0, Gateway: l2tp-to-vps, Routing Table: via-vpn.
  4. Настройка NAT (Маскарадинг): IP → Firewall → NAT → «+». Chain: srcnat, Out. Interface: l2tp-to-vps, Action: masquerade.
  5. Настройка DNS-прокси: IP → DNS. Servers: 1.1.1.1, 8.8.8.8. Поставьте галочку Allow Remote Requests.

Часть 4. Маршрутизация конкретных видов трафика (Mangle)

Вариант А. Весь трафик одного устройства (Ноутбук)

IP → Firewall → Mangle → «+»

General: Chain = prerouting, Src. Address = ip_адрес_ноутбука.
Action: Action = mark routing, New Routing Mark = via-vpn.

Вариант Б. Только почтовый трафик (IMAP/SMTP)

General: Chain = prerouting, Src. Address = ip_адрес_ноутбука, Protocol = 6 (tcp), Dst. Port = 993,465,587.
Action: Action = mark routing, New Routing Mark = via-vpn.

Часть 5. Настройка сетевой карты на ноутбуке (Windows)

Параметры IPv4:
• IP-адрес: Свободный IP подсети (например, 192.168.88.50)
• Маска подсети: 255.255.255.0
• Основной шлюз: IP-адрес MikroTik (например, 192.168.88.1)
• DNS-сервер: 1.1.1.1