Настройка VPN L2TP/IPsec на MikroTik: полное руководство по RouterOS

Пошаговая настройка L2TP/IPsec сервера и клиента на MikroTik: пулы, профили, пользователи, firewall, IPsec, проверка подключения, решение проблем и советы по безопасности.

Зачем нужен L2TP/IPsec и как он работает

L2TP/IPsec — это комбинация двух протоколов, которая обеспечивает безопасное туннелирование трафика через интернет. L2TP (Layer 2 Tunneling Protocol) отвечает за создание самого туннеля и передачу данных, но не шифрует их. IPsec (Internet Protocol Security) добавляет шифрование и проверку целостности, защищая данные от перехвата и модификации.

В связке L2TP/IPsec данные сначала инкапсулируются в PPP-кадр, затем оборачиваются в L2TP и, наконец, защищаются с помощью IPsec ESP (Encapsulating Security Payload). Этот двухуровневый подход обеспечивает высокий уровень безопасности и совместимость с большинством современных устройств и операционных систем без установки дополнительного программного обеспечения.

Процесс установки соединения состоит из двух фаз. На первой фазе (IKE Phase 1) стороны согласовывают параметры шифрования и аутентифицируют друг друга с помощью предварительного общего ключа (Pre-Shared Key, PSK). На второй фазе (IKE Phase 2) внутри защищенного канала устанавливается сам туннель L2TP. Если любой из этапов завершится ошибкой — из-за несовпадения ключа, несовместимости алгоритмов или блокировки портов — соединение не будет установлено.

MikroTik RouterOS поддерживает L2TP/IPsec "из коробки", что делает его удобным выбором для организации VPN-сервера или клиента. В отличие от OpenVPN, который в MikroTik работает только по TCP и не поддерживает UDP, L2TP/IPsec работает по UDP и обеспечивает более высокую производительность. Кроме того, L2TP/IPsec не требует установки сторонних клиентов на устройства пользователей, так как поддержка встроена в Windows, macOS, Android и iOS.

Подготовка к настройке: что нужно знать

Перед началом настройки важно убедиться, что у вас есть:

  • Роутер MikroTik с установленной RouterOS (v6 или v7).
  • Доступ к устройству через WinBox, WebFig или SSH.
  • Статический публичный IP-адрес или стабильное DNS-имя для сервера (желательно, но не обязательно).
  • Зарезервированный диапазон IP-адресов для VPN-клиентов, который не пересекается с вашей локальной сетью.

Также рекомендуется сделать резервную копию конфигурации перед внесением изменений, особенно если вы работаете с рабочим маршрутизатором. Неправильно настроенные политики IPsec или правила firewall могут заблокировать доступ к устройству.

Важно понимать, что L2TP/IPsec использует несколько портов и протоколов, которые должны быть открыты в firewall:

  • UDP 1701 — для L2TP.
  • UDP 500 — для IKE (обмен ключами IPsec).
  • UDP 4500 — для NAT-T (прохождение IPsec через NAT).
  • Протокол 50 (ESP) — для шифрованного трафика IPsec.

Если вы планируете использовать L2TP/IPsec для подключения удаленных сотрудников, убедитесь, что на сервере настроен хотя бы один пользователь с логином и паролем. Для объединения двух офисов (site-to-site) потребуется настроить L2TP-клиент на удаленном роутере.

Создание IP-пула и PPP-профиля

Первый шаг в настройке L2TP/IPsec сервера — создание пула IP-адресов, из которого клиенты будут получать адреса в VPN-сети. Это делается в разделе IP → Pool.

  1. Откройте меню IP и выберите Pool.
  2. Нажмите кнопку Add (+).
  3. В поле Name введите, например, vpn-pool.
  4. В поле Addresses укажите диапазон, например, 10.10.5.2-10.10.5.100.
  5. Нажмите OK.

Затем создайте PPP-профиль, который определит параметры подключения для клиентов. Перейдите в PPP → Profiles.

  1. Нажмите Add (+).
  2. В поле Name введите l2tp-profile.
  3. В поле Local Address укажите IP-адрес, который будет назначен серверу в VPN-сети (например, 10.10.5.1).
  4. В поле Remote Address выберите созданный пул vpn-pool.
  5. При необходимости настройте DNS-серверы, которые будут передаваться клиентам (например, 8.8.8.8 и 1.1.1.1).
  6. Нажмите OK.

Эти настройки определяют, какие адреса будут использовать клиенты и как будет выглядеть VPN-подсеть. Важно, чтобы выбранный диапазон не пересекался с вашей основной локальной сетью, иначе возникнут конфликты маршрутизации.

Включение L2TP-сервера и настройка IPsec

После создания пула и профиля необходимо включить сам L2TP-сервер. Перейдите в PPP → Interface и нажмите кнопку L2TP Server.

В открывшемся окне:

  1. Установите флажок Enabled.
  2. В поле Default Profile выберите созданный профиль l2tp-profile.
  3. В поле Use IPsec выберите Require — это заставит всех клиентов использовать IPsec. Если выбрать Yes, IPsec будет использоваться, но не обязателен (для тестовых сред).
  4. В поле IPsec Secret введите сложный предварительный общий ключ (PSK). Он должен быть одинаковым на всех клиентах. Используйте длинную случайную строку, например, kX9#mP2$vL5@nQ8!.
  5. Нажмите Apply.

Также рекомендуется изменить MTU (Maximum Transmission Unit) на значение 1200. Это уменьшает размер пакетов и помогает избежать проблем с фрагментацией, особенно при прохождении через разные сети и провайдеров. В некоторых источниках советуют устанавливать MTU 1200 для повышения стабильности соединения.

В разделе Authentication оставьте только MS-CHAPv2 — это наиболее безопасный метод аутентификации. Методы MS-CHAPv1, CHAP и PAP считаются устаревшими и небезопасными, поэтому их следует отключить.

Создание пользователей PPP (Secrets)

Для аутентификации клиентов необходимо создать учетные записи в разделе PPP → Secrets. Каждый пользователь получит свой логин и пароль для подключения к VPN.

  1. Перейдите в PPP → Secrets.
  2. Нажмите кнопку Add (+).
  3. В поле Name введите логин, например, user1.
  4. В поле Password введите надежный пароль. Не используйте простые пароли вроде 123456 — это критично для безопасности.
  5. В поле Local Address укажите IP-адрес сервера в VPN-сети (например, 10.10.5.1).
  6. В поле Remote Address укажите конкретный IP-адрес для этого пользователя (например, 10.10.5.2). Если вы хотите, чтобы адрес назначался автоматически из пула, оставьте это поле пустым.
  7. В поле Profile выберите созданный профиль l2tp-profile (если он не выбран автоматически).
  8. Добавьте комментарий для удобства (например, отдел или должность сотрудника).
  9. Нажмите OK.

Вы можете создать несколько пользователей, повторяя эти шаги. Для каждого пользователя можно задать свой статический IP-адрес, что удобно для доступа к определенным ресурсам по IP. Однако если адресов в пуле недостаточно, лучше использовать динамическое назначение.

Настройка правил firewall для L2TP/IPsec

Чтобы клиенты могли подключиться к серверу, необходимо разрешить входящий трафик для L2TP и IPsec в firewall. Без этих правил соединение будет блокироваться, даже если все остальные настройки выполнены верно.

Перейдите в IP → Firewall → Filter Rules и создайте следующие правила в цепочке input:

  1. Разрешить L2TP (UDP 1701):
  • Chain: input
  • Protocol: udp
  • Dst. Port: 1701
  • In. Interface: укажите интерфейс, через который приходят VPN-подключения (например, ether1)
  • Action: accept
  • Comment: L2TP
  1. Разрешить IKE (UDP 500) и NAT-T (UDP 4500):
  • Chain: input
  • Protocol: udp
  • Dst. Port: 500,4500
  • In. Interface: тот же интерфейс
  • Action: accept
  • Comment: IPsec IKE
  1. Разрешить ESP (протокол 50):
  • Chain: input
  • Protocol: 50 (ESP)
  • In. Interface: тот же интерфейс
  • Action: accept
  • Comment: IPsec ESP

Важно разместить эти правила выше любых запрещающих правил, иначе они могут быть заблокированы. Для удобства можно включить отображение комментариев в отдельной колонке (Settings → Inline Comments) и перетащить созданные правила вверх списка.

Также убедитесь, что в цепочке forward разрешен трафик между VPN-интерфейсом и локальной сетью, если вы хотите, чтобы клиенты имели доступ к внутренним ресурсам.

Настройка L2TP/IPsec клиента на MikroTik

Если вы хотите подключить удаленный офис к центральному серверу, на удаленном роутере MikroTik необходимо настроить L2TP-клиент. Это позволит объединить две локальные сети через VPN.

  1. Перейдите в PPP → Interface и нажмите кнопку Add (+), выберите L2TP Client.
  2. В поле Name введите имя интерфейса, например, l2tp-out1.
  3. В поле Connect To укажите IP-адрес или DNS-имя сервера VPN.
  4. В поле User введите логин пользователя, созданного на сервере.
  5. В поле Password введите пароль.
  6. В поле Profile выберите профиль, если требуется (можно оставить default).
  7. На вкладке IPsec установите флажок Use IPsec и введите тот же IPsec Secret, что и на сервере.
  8. Нажмите OK.

После создания интерфейса необходимо добавить статический маршрут, чтобы клиенты локальной сети знали, как достичь удаленной сети. Перейдите в IP → Routes и добавьте маршрут:

  • Dst. Address: удаленная подсеть (например, 10.30.1.0/24)
  • Gateway: IP-адрес L2TP-интерфейса (например, 10.10.5.1)

Аналогичный маршрут нужно добавить и на сервере, чтобы его локальные клиенты могли обращаться к сети удаленного офиса.

Если вы используете L2TP/IPsec для подключения удаленных сотрудников, настройка клиента на их устройствах (Windows, macOS, Android, iOS) обычно сводится к вводу IP-адреса сервера, логина, пароля и общего ключа IPsec. В Windows, например, нужно выбрать тип VPN "L2TP/IPsec с общим ключом" и указать ключ.

Проверка подключения и устранение неполадок

После настройки сервера и клиента важно проверить, что VPN работает корректно. На сервере MikroTik вы можете увидеть активные подключения в разделе PPP → Active Connections. Если подключение установлено, в списке появится интерфейс с IP-адресом клиента.

На клиентском устройстве (например, Windows) попробуйте подключиться к VPN. Если соединение не устанавливается, проверьте следующие моменты:

  • Убедитесь, что на сервере открыты все необходимые порты (UDP 1701, 500, 4500 и протокол ESP).
  • Проверьте, что IPsec Secret совпадает на сервере и клиенте.
  • Убедитесь, что логин и пароль пользователя введены правильно.
  • Проверьте, что метод аутентификации на сервере поддерживается клиентом (MS-CHAPv2 должен быть включен).
  • Если клиент находится за NAT, убедитесь, что NAT-T работает (UDP 4500). В некоторых случаях может потребоваться изменить настройки реестра Windows для NAT-T.
  • Проверьте, что MTU не слишком велик. Если возникают проблемы с фрагментацией, уменьшите MTU на сервере (например, до 1200).

Если вы используете бесплатную лицензию MikroTik (уровень Free), скорость VPN будет ограничена 1 Мбит/с. Чтобы снять это ограничение, необходимо обновить лицензию до уровня P1 (платно, около $45, но предоставляется бесплатно на 2 недели). После обновления скорость интерфейсов увеличивается до 1 Гбит/с. Если вы не планируете обновлять RouterOS, уровень P1 будет достаточен.

Сравнение L2TP/IPsec с другими VPN-протоколами в MikroTik

MikroTik поддерживает несколько VPN-протоколов, и выбор подходящего зависит от ваших задач. Вот краткое сравнение:

  • PPTP — устаревший протокол, который легко взламывается. Использовать его не рекомендуется, особенно если важна безопасность. Он поддерживается из коробки Windows и Android, но из-за слабой защиты лучше отказаться от него.
  • OpenVPN — очень гибкий и безопасный протокол, но в MikroTik он работает только по TCP, что снижает производительность. Также не поддерживается сжатие заголовков. Если вам нужен OpenVPN, лучше использовать его на отдельном сервере, а не на MikroTik.
  • SSTP — протокол от Microsoft, использует SSL 3.0 и порт 443, что помогает обходить фаерволы. Однако в MikroTik он очень требователен к ресурсам процессора и на слабых устройствах будет работать медленно.
  • GRE и EoIP — это туннели уровня 2/3, которые не обеспечивают шифрование. Они подходят для объединения офисов, когда требуется максимальная скорость, но безопасность не критична. EoIP — проприетарный протокол MikroTik, который работает на уровне 2 и передает Ethernet-фреймы.

L2TP/IPsec является оптимальным выбором для большинства сценариев благодаря простоте настройки, надежному шифрованию и широкой совместимости. Он поддерживается практически всеми устройствами без установки дополнительного ПО и подходит как для подключения удаленных сотрудников, так и для объединения офисов.

Советы по безопасности и производительности

При настройке L2TP/IPsec важно следовать рекомендациям по безопасности, чтобы защитить вашу сеть от несанкционированного доступа.

  • Используйте сложный IPsec Secret (PSK). Он должен быть длинным и случайным, например, сгенерированным с помощью генератора паролей.
  • Создавайте надежные пароли для пользователей VPN. Не используйте простые комбинации, такие как 123456 или qwerty.
  • Ограничьте количество попыток подключения, чтобы предотвратить brute-force атаки. В MikroTik можно настроить ограничение по IP-адресам или использовать модуль fail2ban (если доступен).
  • Регулярно обновляйте RouterOS до последней версии, чтобы получать исправления безопасности.
  • Если VPN используется для доступа к корпоративным ресурсам, настройте firewall таким образом, чтобы разрешать только необходимый трафик.
  • Для повышения производительности убедитесь, что на роутере достаточно ресурсов (CPU, RAM). L2TP/IPsec требует вычислительных мощностей для шифрования, поэтому на слабых устройствах скорость может быть ниже.
  • Рассмотрите возможность использования аппаратного ускорения шифрования, если ваш MikroTik его поддерживает (например, модели с AES-NI).

Также полезно настроить мониторинг активных подключений и журналирование, чтобы быстро обнаруживать подозрительную активность. В RouterOS можно включить логирование для PPP и IPsec в разделе System → Logging.

Вопросы и ответы

Какие порты нужно открыть для L2TP/IPsec на MikroTik?

Для работы L2TP/IPsec необходимо открыть следующие порты и протоколы в firewall (цепочка input): UDP 1701 (L2TP), UDP 500 (IKE), UDP 4500 (NAT-T) и протокол 50 (ESP). Без этих правил входящие VPN-подключения будут блокироваться.

Почему скорость VPN ограничена 1 Мбит/с на MikroTik?

Это связано с бесплатной лицензией RouterOS (уровень Free), которая ограничивает скорость всех интерфейсов до 1 Мбит/с. Чтобы снять ограничение, необходимо обновить лицензию до уровня P1 (платно, около $45, но предоставляется бесплатно на 2 недели). После обновления скорость увеличивается до 1 Гбит/с.

Какой метод аутентификации лучше использовать для L2TP на MikroTik?

Рекомендуется использовать только MS-CHAPv2, так как MS-CHAPv1, CHAP и PAP считаются устаревшими и небезопасными. MS-CHAPv2 обеспечивает более надежную защиту паролей при передаче.

Можно ли использовать L2TP/IPsec для объединения двух офисов?

Да, L2TP/IPsec подходит для site-to-site подключений. Для этого на одном роутере настраивается L2TP-сервер, а на другом — L2TP-клиент. После установки соединения добавляются статические маршруты для обмена трафиком между локальными сетями.

Что делать, если VPN-подключение не устанавливается?

Проверьте: 1) открыты ли порты UDP 1701, 500, 4500 и протокол ESP в firewall; 2) совпадает ли IPsec Secret на сервере и клиенте; 3) правильность логина и пароля; 4) включен ли MS-CHAPv2; 5) не блокирует ли NAT-T (UDP 4500). Также попробуйте уменьшить MTU до 1200 на сервере.

Нужно ли устанавливать дополнительное ПО на клиентские устройства для L2TP/IPsec?

Нет, L2TP/IPsec поддерживается встроенными средствами большинства операционных систем: Windows, macOS, Android, iOS. Достаточно указать IP-адрес сервера, логин, пароль и общий ключ IPsec.

Чем L2TP/IPsec отличается от OpenVPN на MikroTik?

L2TP/IPsec работает по UDP и обеспечивает более высокую производительность, а OpenVPN в MikroTik работает только по TCP, что снижает скорость. L2TP/IPsec не требует установки клиентского ПО, в то время как OpenVPN обычно требует установки приложения. Однако OpenVPN более гибкий в настройке, например, позволяет пушить маршруты клиентам.