Настройка VPN L2TP на MikroTik: пошаговое руководство для объединения сетей и удаленного доступа

Подробное руководство по настройке L2TP VPN сервера и клиента на роутерах MikroTik. Рассматриваются пулы адресов, профили, PPP Secrets, правила firewall, маршрутизация, подключение Windows и ограничения.

Что такое L2TP и почему он популярен в MikroTik

L2TP (Layer 2 Tunneling Protocol) — это протокол туннелирования второго уровня, который используется для создания виртуальных частных сетей. В MikroTik он реализован в виде клиент-серверной архитектуры: один роутер выступает сервером, а другие устройства (роутеры, компьютеры, смартфоны) — клиентами. Протокол работает поверх UDP, используя порт 1701, что обеспечивает быстрое взаимодействие без подтверждения каждого пакета. Это особенно важно для трафика, чувствительного к задержкам, например IP-телефонии или видеонаблюдения.

Популярность L2TP в MikroTik обусловлена несколькими факторами. Во-первых, он поддерживается практически всеми современными операционными системами и устройствами из коробки: Windows, Linux, macOS, Android (хотя в последних версиях Android и iOS встроенная поддержка L2TP была исключена, но сторонние клиенты остаются). Во-вторых, L2TP легко настраивается и не требует установки дополнительного программного обеспечения на стороне клиента. В-третьих, при использовании в паре с IPsec L2TP обеспечивает надежное шифрование, что делает его безопасным для передачи конфиденциальных данных.

Важно понимать разницу между L2TP и другими протоколами VPN, доступными в MikroTik. Например, PPTP считается устаревшим и небезопасным, так как его шифрование легко взламывается. OpenVPN в MikroTik не поддерживает UDP, что снижает его производительность. SSTP требователен к ресурсам процессора и на слабых устройствах показывает низкую скорость. Поэтому L2TP + IPsec является оптимальным выбором для большинства сценариев: объединения офисов, удаленного доступа сотрудников и создания защищенных каналов связи.

Требования и подготовка к настройке

Перед началом настройки L2TP VPN на MikroTik необходимо убедиться, что выполнены следующие условия:

  • Наличие белого (статического) IP-адреса на стороне сервера. Это обязательное условие, так как клиенты должны иметь возможность подключиться к серверу из интернета. Если у вас динамический IP, потребуется использовать сервисы динамического DNS (DDNS).
  • Модель роутера и лицензия. Количество одновременных L2TP-подключений зависит от уровня лицензии RouterOS. Минимальные значения начинаются от 200, что покрывает большинство потребностей малого и среднего бизнеса.
  • Аппаратная поддержка IPsec. Если планируется использовать шифрование IPsec, важно, чтобы модель MikroTik имела аппаратное ускорение IPsec. В противном случае нагрузка ляжет на CPU, что приведет к снижению пропускной способности VPN-туннеля.
  • Доступ к интерфейсу управления. Настройка может выполняться через WinBox, WebFig или командную строку (CLI). В данной статье мы будем использовать WinBox для наглядности, но все команды CLI также будут приведены.

Также рекомендуется заранее продумать схему IP-адресации для VPN-подсети. Обычно выделяется отдельный диапазон, например 192.168.10.100-192.168.10.150, который не пересекается с локальными сетями. Это позволит избежать конфликтов маршрутизации.

Создание пула IP-адресов для VPN-клиентов

Первым шагом в настройке L2TP VPN сервера является создание пула IP-адресов, которые будут выдаваться клиентам при подключении. Этот пул аналогичен пулу DHCP, но используется только для VPN-соединений.

В WinBox перейдите в раздел IP → Pool и нажмите кнопку «+» для добавления нового пула. Задайте имя, например vpnpool, и укажите диапазон адресов, например 192.168.10.100-192.168.10.150. В CLI это выглядит так:

/ip pool add name=vpnpool ranges=192.168.10.100-192.168.10.150

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

После создания пула можно переходить к настройке профиля PPP.

Настройка PPP-профиля для L2TP

Профиль PPP определяет параметры, которые будут применяться к VPN-подключениям: локальный адрес, удаленный адрес, DNS-серверы, методы шифрования и другие опции. Для L2TP рекомендуется создать отдельный профиль, чтобы не смешивать его с другими типами VPN (PPTP, SSTP и т.д.).

В WinBox перейдите в PPP → Profiles и создайте новый профиль. Заполните поля:

  • Name — например, l2tp-profile.
  • Local Address — IP-адрес, который будет назначен VPN-интерфейсу на стороне сервера. Обычно это первый адрес из VPN-подсети, например 192.168.10.1.
  • Remote Address — выберите созданный ранее пул vpnpool.
  • DNS Server — укажите DNS-сервер, который будет передан клиентам. Это может быть адрес локального DNS-сервера или публичный, например 8.8.8.8. Этот параметр особенно важен для Windows-клиентов, которые по умолчанию направляют весь трафик через VPN.
  • Change TCP MSS — рекомендуется установить no, чтобы избежать проблем с фрагментацией пакетов.
  • Use Encryption — установите yes, если планируется использовать шифрование (рекомендуется).
  • Use Compression — можно оставить yes для сжатия, но это может увеличить нагрузку на CPU.

В CLI создание профиля выглядит так:

/ppp profile add name=l2tp-profile local-address=192.168.10.1 remote-address=vpnpool dns-server=192.168.10.1 change-tcp-mss=no use-encryption=yes

Также в профиле можно настроить ограничения, например, запретить множественные подключения одного пользователя (параметр only-one).

Включение L2TP-сервера и выбор методов аутентификации

Следующий шаг — включение самого L2TP-сервера на MikroTik. В WinBox перейдите в PPP → Interface и откройте вкладку L2TP Server. Здесь необходимо:

  • Установить галочку Enabled.
  • В поле Default Profile выбрать созданный ранее профиль l2tp-profile.
  • В разделе Authentication оставить только современные протоколы: mschap2 (рекомендуется). Отключите устаревшие mschapv1, chap и pap, так как они небезопасны. Однако если у вас есть старые устройства, которые не поддерживают mschap2, придется оставить и другие методы.
  • Если планируется использовать шифрование IPsec, в поле Use IPsec выберите required (обязательное шифрование) или yes (необязательное). Также укажите IPsec Secret — предварительный общий ключ, который будет использоваться для шифрования.

В CLI команда будет такой:

/interface l2tp-server server set authentication=mschap2 default-profile=l2tp-profile enabled=yes use-ipsec=required ipsec-secret=mysecret

Обратите внимание: если вы используете IPsec, необходимо также настроить правила firewall для пропуска протоколов ESP и UDP-портов 500, 1701, 4500. Это будет рассмотрено далее.

Создание учетных записей пользователей (PPP Secrets)

Для подключения к L2TP VPN каждый клиент должен иметь учетную запись. В MikroTik учетные записи хранятся в разделе PPP → Secrets. Создайте новую запись, указав:

  • Name — имя пользователя (логин).
  • Password — пароль.
  • Service — тип VPN, для которого будет использоваться запись. Можно выбрать l2tp или any (для всех типов).
  • Profile — профиль, который будет применяться к этому пользователю (наш l2tp-profile).

В CLI:

/ppp secret add name=user1 password=user1 profile=l2tp-profile

Для объединения двух роутеров MikroTik (site-to-site) в учетной записи также можно указать статические адреса для сервера и клиента. Например:

/ppp secret add name=user2 password=user2 profile=l2tp-profile local-address=192.168.10.1 remote-address=192.168.10.2

Это позволит заранее закрепить IP-адреса за конкретным клиентом, что упрощает настройку маршрутизации.

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

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

В разделе IP → Firewall → Filter Rules создайте два правила:

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

В CLI:

/ip firewall filter add action=accept chain=input comment="Allow L2TP" dst-port=500,1701,4500 in-interface=ether1 protocol=udp
/ip firewall filter add action=accept chain=input comment="Allow IPsec ESP" in-interface=ether1 protocol=ipsec-esp

Также рекомендуется добавить правило, разрешающее установленные и связанные соединения, чтобы сессии L2TP не обрывались:

/ip firewall filter add action=accept chain=input connection-state=established,related

Это правило должно быть выше любых правил, которые могут блокировать входящий трафик.

Настройка L2TP-клиента на удаленном MikroTik

Если вы объединяете два офиса, на удаленном роутере MikroTik необходимо настроить L2TP-клиент. В WinBox перейдите в PPP → Interface и нажмите «+» → L2TP Client. Заполните поля:

  • Name — имя интерфейса, например l2tp-out1.
  • Connect To — внешний IP-адрес L2TP-сервера (белый IP).
  • User — имя пользователя, созданного на сервере.
  • Password — пароль.
  • Use IPsec — установите yes или required, если используется шифрование.
  • IPsec Secret — тот же ключ, что и на сервере.
  • Allow — выберите протоколы аутентификации, поддерживаемые сервером (например, mschap2).

В CLI:

/interface l2tp-client add name=l2tp-out1 connect-to=90.200.100.99 user=user2 password=user2 use-ipsec=yes ipsec-secret=mysecret

После создания интерфейса он должен автоматически установить соединение. Статус running в списке интерфейсов означает успешное подключение.

Настройка маршрутизации между сетями

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

На стороне сервера (центральный офис) добавьте статический маршрут к удаленной сети клиента. В IP → Routes создайте правило:

  • Dst. Address — удаленная локальная сеть, например 192.168.88.0/24.
  • Gateway — IP-адрес, назначенный VPN-клиенту (Remote Address), например 192.168.10.2.

В CLI:

/ip route add dst-address=192.168.88.0/24 gateway=192.168.10.2

На стороне клиента (удаленный офис) добавьте аналогичный маршрут к сети сервера:

/ip route add dst-address=192.168.0.0/24 gateway=192.168.10.1

Здесь 192.168.10.1 — это Local Address, назначенный VPN-интерфейсу на сервере.

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

Подключение Windows-клиентов к L2TP VPN

Windows имеет встроенный VPN-клиент, который поддерживает L2TP/IPsec. Для настройки подключения выполните следующие шаги:

  1. Откройте Панель управления → Сеть и Интернет → Центр управления сетями и общим доступом.
  2. Выберите Настройка нового подключения или сетиПодключение к рабочему месту.
  3. Выберите Использовать мое подключение к Интернету (VPN).
  4. Укажите IP-адрес или доменное имя L2TP-сервера.
  5. Введите имя пользователя и пароль, созданные на сервере.
  6. В свойствах подключения перейдите на вкладку Безопасность и выберите тип VPN: L2TP/IPsec.
  7. Нажмите Дополнительные параметры и введите ключ IPsec (Pre-shared key), если он используется.
  8. Убедитесь, что протокол аутентификации соответствует настроенному на сервере (например, MS-CHAP v2).

После сохранения подключения можно установить соединение. Если вы не хотите направлять весь интернет-трафик через VPN, отключите опцию Использовать основной шлюз в удаленной сети в свойствах TCP/IPv4. В этом случае для доступа к локальной сети офиса потребуется добавить статический маршрут на клиенте:

route add -p 192.168.1.0 mask 255.255.255.0 192.168.10.1

Где 192.168.1.0 — подсеть офиса, а 192.168.10.1 — адрес VPN-интерфейса сервера.

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

Почему L2TP без IPsec небезопасен?

L2TP сам по себе не обеспечивает шифрование. Он только инкапсулирует пакеты, передавая их через туннель. Без IPsec данные передаются в открытом виде, и любой, кто перехватит трафик, сможет его прочитать. Кроме того, аутентификация L2TP без IPsec может использовать слабые протоколы (CHAP, PAP), которые легко взламываются. Поэтому для защиты данных обязательно используйте IPsec, который обеспечивает шифрование и целостность.

Можно ли настроить L2TP VPN на MikroTik с динамическим IP-адресом?

Да, можно, но для этого потребуется использовать сервис динамического DNS (DDNS). Настройте DDNS на роутере, чтобы он сообщал свой текущий IP-адрес на доменное имя. Клиенты будут подключаться по этому имени. Однако учтите, что при смене IP-адреса существующие VPN-соединения могут разорваться, и клиентам придется переподключаться.

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

Для L2TP необходимо открыть UDP-порт 1701. Для IPsec — UDP-порты 500 (IKE) и 4500 (NAT-T), а также протокол IPsec ESP (протокол 50). Если используется NAT, также может потребоваться разрешить протокол AH (51), но обычно достаточно ESP. Все эти правила должны быть добавлены в цепочку input для WAN-интерфейса.

Почему VPN-клиент не может получить доступ к локальной сети офиса?

Наиболее частые причины: неправильно настроена маршрутизация на сервере или клиенте, не совпадают подсети, или на клиенте включена опция «Использовать основной шлюз в удаленной сети», которая направляет весь трафик через VPN, но без статического маршрута к нужной подсети. Проверьте, что на сервере есть маршрут к сети клиента, а на клиенте — маршрут к сети сервера. Также убедитесь, что firewall на сервере разрешает трафик между VPN-подсетью и локальной сетью.

Как увеличить скорость L2TP VPN на MikroTik?

Скорость L2TP VPN зависит от производительности роутера и наличия аппаратного ускорения IPsec. Если ваш MikroTik поддерживает аппаратное шифрование, убедитесь, что оно включено. Также избегайте использования сжатия, так как оно нагружает CPU. Выбирайте модели с более мощным процессором для высоких скоростей. Кроме того, используйте L2TP без IPsec, если безопасность не критична, но помните о рисках.

Можно ли использовать L2TP VPN для доступа к интернету через MikroTik?

Да, если на VPN-сервере настроен NAT для VPN-подсети, клиенты смогут выходить в интернет через MikroTik. Для этого в профиле PPP укажите DNS-сервер, а на сервере добавьте правило masquerade для VPN-интерфейса. Однако учтите, что весь трафик клиента будет проходить через сервер, что может увеличить нагрузку на него и снизить скорость.