НейроАгент

Настройка фильтра Mikrotik для PPTP и L2TP

Пошаговое руководство по настройке фильтра фаервола Mikrotik для входящих подключений PPTP и L2TP. Узнайте, как создать мост и решить проблемы с блокировкой VPN.

Вопрос

Как настроить фильтр фаервола Mikrotik для входящих подключений по PPTP и L2TP?

Доброго времени господа. Подскажите, как правильно настроить фильтр для входящих подключений по PPTP и L2TP с целью создания моста? После праздников в логах роутера начали появляться сообщения о неудачных попытках подключения. У меня настроены правила в фаерволе для цепи forward с действием drop для списка IP-адресов, но я вижу сообщения в логах. Это означает, что правило не работает правильно, или это нормальное поведение при настроенных правилах?

НейроАгент

Настройка фильтра фаервола Mikrotik для входящих подключений по PPTP и L2TP требует правильной конфигурации цепочек input, forward и правил для этих протоколов. Сообщения в логах при настроенных правилах drop являются нормальным поведением, так как логи фиксируют все попытки подключения до применения правил фильтрации.

Содержание

Основные концепции фаервола Mikrotik для VPN

Фаервол Mikrotik использует цепочки (chains) для обработки трафика. Для VPN-подключений особенно важны три цепочки:

  • input - обрабатывает входящие пакеты, предназначенные для самого роутера
  • forward - обрабатывает пакеты, проходящие через роутер между интерфейсами
  • output - обрабатывает исходящие пакеты от самого роутера

Для PPTP и L2TP подключений необходимо обеспечить доступ к определенным портам и протоколам. PPTP использует порт 1723 и протокол GRE (Generic Routing Encapsulation), а L2TP использует UDP порт 1701.

Важно: При настройке правил для VPN убедитесь, что они имеют более высокий приоритет (меньшее число), чем правила drop.

Настройка правил для PPTP подключений

Для корректной работы PPTP VPN необходимо добавить следующие правила:

bash
# Разрешаем PPTP трафик в цепочке input
/ip firewall filter add chain=input protocol=tcp dst-port=1723 action=accept comment="Allow PPTP control connection"
/ip firewall filter add chain=input protocol=gre action=accept comment="Allow PPTP GRE tunnel"

# Разрешаем PPTP трафик в цепочке forward для моста
/ip firewall filter add chain=forward protocol=tcp dst-port=1723 action=accept comment="Allow PPTP forward"
/ip firewall filter add chain=forward protocol=gre action=accept comment="Allow PPTP GRE forward"

Для создания моста убедитесь, что интерфейсы, между которыми должен проходить трафик, добавлены в мост:

bash
/interface bridge
add name=vpn-bridge

/interface bridge port
add bridge=vpn-bridge interface=ether1
add bridge=vpn-bridge interface=ether2

Настройка правил для L2TP подключений

L2TP требует более сложной настройки, так как работает поверх UDP и часто используется с IPsec:

bash
# Разрешаем L2TP трафик в цепочке input
/ip firewall filter add chain=input protocol=udp dst-port=1701 action=accept comment="Allow L2TP"

# Если используется IPsec, добавляем правила для ESP и AH
/ip firewall filter add chain=input protocol=esp action=accept comment="Allow IPsec ESP"
/ip firewall filter add chain=input protocol=ah action=accept comment="Allow IPsec AH"

# Разрешаем L2TP трафик в цепочке forward
/ip firewall filter add chain=forward protocol=udp dst-port=1701 action=accept comment="Allow L2TP forward"
/ip firewall filter add chain=forward protocol=esp action=accept comment="Allow IPsec ESP forward"
/ip firewall filter add chain=forward protocol=ah action=accept comment="Allow IPsec AH forward"

Для L2TP с IPsec также необходимо настроить политики IPsec:

bash
/ip ipsec policy
add dst-address=0.0.0.0/0 protocol=esp action=accept tunnel=yes

Конфигурация моста для VPN

При настройке моста для VPN-подключений выполните следующие шаги:

  1. Создайте мост:
bash
/interface bridge add name=vpn-bridge
  1. Добавьте интерфейсы в мост:
bash
/interface bridge port add bridge=vpn-bridge interface=ваш_интерфейс1
/interface bridge port add bridge=vpn-bridge interface=ваш_интерфейс2
  1. Настройте NAT (если необходимо):
bash
/ip firewall nat add chain=srcnat out-interface=ваш_выходной_интерфейс action=masquerade
  1. Проверьте конфигурацию моста:
bash
/interface bridge print
/interface bridge port print

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

Для проверки работоспособности правил используйте следующие команды:

bash
# Просмотр правил фаервола
/ip firewall filter print

# Просмотр логов фаервола
/log print

# Проверка состояния подключений
/ppp active print
/l2tp connection print

Для анализа конкретных подключений используйте:

bash
# Проверка активных сессий PPTP
/ppp active print

# Проверка статистики фаервола
/ip firewall print stats

Распространенные проблемы и решения

Сообщения в логах при настроенных правилах drop

Сообщения в логах о неудачных попытках подключения являются нормальным поведением. Логи Mikrotik фиксируют все входящие подключения до применения правил фиервола. Правила drop работают корректно, просто вы видите логи до того, как правила вступают в силу.

Чтобы это проверить:

  1. Посмотрите счетчики у правил:
bash
/ip firewall filter print count
  1. Если счетчик у правил drop увеличивается, значит правила работают.

Проблема с GRE для PPTP

Часто PPTP не работает из-за блокировки GRE протокола. Убедитесь, что правило для GRE присутствует и имеет правильный приоритет.

Проблема с MTU для VPN

VPN туннели могут иметь ограничения на MTU. Оптимальное значение для PPTP обычно 1400-1500:

bash
/interface pptp-server server set default-mtu=1400

Проблема с NAT для VPN

Если клиенты получают IP-адреса, но не могут выходить в интернет, проверьте настройки NAT:

bash
/ip firewall nat print

Убедитесь, что трафик от VPN-клиентов правильно маскируется.

Заключение

Правильная настройка фаервола Mikrotik для PPTP и L2TP подключений требует внимания к нескольким ключевым аспектам:

  1. Всегда добавляйте правила для управления трафиком в цепочки input и forward
  2. Для PPTP необходим доступ к порту 1723 (TCP) и протоколу GRE
  3. Для L2TP необходим доступ к UDP порту 1701, а также к ESP и AH при использовании IPsec
  4. Сообщения в логах при настроенных правилах drop являются нормальным поведением
  5. При настройке моста убедитесь, что все необходимые интерфейсы добавлены в мост
  6. Регулярно проверяйте счетчики правил и состояние активных подключений

Для диагностики используйте команды просмотра логов и статистики фаервола. Если проблемы сохраняются, проверьте конфигурацию NAT, значения MTU и состояние служб VPN на роутере.

Источники

  1. Официальная документация Mikrotik - Firewall
  2. Mikrotik Wiki - PPTP Server Setup
  3. Mikrotik Wiki - L2TP Server Setup
  4. Mikrotik Wiki - Bridge Configuration