Что такое L2TP VPN и зачем он нужен
L2TP (Layer 2 Tunneling Protocol) — один из старейших протоколов туннелирования, который часто используется в паре с IPsec для шифрования. В отличие от более современных решений, L2TP/IPsec встроен в большинство операционных систем, включая Windows, Android и iOS, что позволяет создавать VPN-подключения без установки дополнительного программного обеспечения.
Основное преимущество L2TP — простота настройки на стороне клиента: достаточно указать адрес сервера, тип VPN и общий ключ. Однако у протокола есть и недостатки: он менее производителен по сравнению с WireGuard или IKEv2, а также может блокироваться некоторыми межсетевыми экранами из-за использования UDP-портов 500 и 4500.
Тем не менее, L2TP остаётся востребованным для корпоративных сценариев, когда нужно быстро развернуть VPN на базе Windows Server, используя встроенные роли RRAS и NPS. Это особенно актуально для организаций, которые уже используют инфраструктуру Microsoft и хотят предоставить удалённый доступ сотрудникам без закупки дополнительных лицензий.
Подготовка сервера: требования и выбор ОС
Для развёртывания L2TP VPN сервера потребуется Windows Server с графическим интерфейсом (Desktop Experience). Версия Server Core не подойдёт, так как в ней отсутствует компонент NPS (Network Policy Server), необходимый для аутентификации пользователей, если сервер не входит в домен Active Directory.
Минимальные требования к серверу зависят от количества одновременных подключений. Для небольшой команды до 10 человек достаточно 2 vCPU и 2 ГБ ОЗУ. Если планируется использовать сервер в качестве шлюза для всей сети, стоит рассмотреть конфигурацию с 4 vCPU и 4 ГБ ОЗУ.
Важно убедиться, что сервер имеет статический IP-адрес, так как динамический адрес сделает подключение нестабильным. Также необходимо открыть в брандмауэре порты UDP 500 (IKE), UDP 4500 (IPsec NAT-T) и, в некоторых случаях, UDP 1701 (L2TP).
Установка ролей RRAS и NPS
Установка ролей выполняется через диспетчер серверов (Server Manager). Необходимо добавить роли "Службы удаленного доступа и маршрутизации" (RRAS) и "Службы политики сети и доступа" (NPS).
При установке RRAS в мастере выбора компонентов нужно отметить "DirectAccess и VPN" и "Маршрутизация". Это обеспечит функциональность VPN-туннелей и NAT.
После установки ролей потребуется перезагрузка сервера. Затем в оснастке RRAS (Routing and Remote Access) нужно запустить мастер настройки, выбрать конфигурацию "Настройка VPN и NAT" и указать интерфейс, который будет использоваться для выхода в интернет (обычно это внешний сетевой адаптер).
Настройка RRAS: пул адресов и NAT
После запуска мастера RRAS необходимо настроить свойства сервера. В разделе "IPv4" нужно указать пул IP-адресов, которые будут выдаваться VPN-клиентам. Например, можно задать диапазон 192.168.100.2 – 192.168.100.50. Без этого NAT не будет работать, и клиенты не смогут выходить в интернет через VPN.
Далее в подразделе "IPv4" оснастки RRAS нужно добавить новый интерфейс NAT. Для этого щёлкаем правой кнопкой мыши по пустому месту, выбираем "Новый интерфейс" и указываем внешний сетевой адаптер. На вкладке "NAT" включаем опцию "Общедоступный интерфейс, подключенный к Интернету" и разрешаем NAT.
Также важно настроить общий ключ для L2TP/IPsec. В свойствах сервера RRAS на вкладке "Безопасность" нужно указать предварительный общий ключ (PSK). Этот ключ будет использоваться всеми клиентами при подключении.
Настройка брандмауэра и правил RRAS
Для корректной работы VPN необходимо разрешить входящие подключения через брандмауэр Windows. В оснастке "Брандмауэр Windows в режиме повышенной безопасности" нужно найти группу правил "Маршрутизация и удаленный доступ" (Routing and Remote Access) и включить все правила в этой группе.
Эти правила автоматически открывают необходимые порты (UDP 500, 4500, 1701) и разрешают трафик между VPN-клиентами и сервером.
Если сервер находится за дополнительным межсетевым экраном (например, на уровне провайдера или в облаке), необходимо также открыть эти порты на внешнем файрволе. В противном случае подключение будет устанавливаться, но данные не смогут проходить.
Настройка NPS для аутентификации пользователей
NPS (Network Policy Server) используется для аутентификации и авторизации VPN-подключений. Если сервер не входит в домен, необходимо настроить NPS для работы с локальными учётными записями.
В оснастке NPS нужно перейти в раздел "Политики сети" и включить обе стандартные политики: "Подключения к маршрутизации и удаленному доступу" и "Подключения к другим серверам доступа". Это разрешит всем локальным пользователям подключаться к VPN.
Для повышения безопасности можно создать отдельную группу пользователей, которым разрешено VPN-подключение, и настроить политику NPS с условием членства в этой группе. Также рекомендуется использовать сложные пароли и включить требование смены пароля при первом входе.
Подключение с Windows 10 и Windows 11
На клиентских компьютерах с Windows 10 или Windows 11 настройка L2TP VPN выполняется через встроенные средства. Нужно перейти в "Параметры" → "Сеть и Интернет" → "VPN" и нажать "Добавить VPN-подключение".
В открывшемся окне заполняем поля:
- Поставщик услуг VPN: Windows (встроенное)
- Имя подключения: любое, например "Мой VPN"
- Имя или адрес сервера: IP-адрес вашего VPN-сервера
- Тип VPN: L2TP/IPsec с предварительным общим ключом
- Предварительный общий ключ: ключ, заданный на сервере (например, vpn)
- Тип данных для входа: Имя пользователя и пароль
- Имя пользователя и пароль: учётные данные локального пользователя на сервере
После сохранения подключения его можно активировать, нажав кнопку "Подключить". Если всё настроено правильно, статус изменится на "Подключено".
Подключение с Android и ограничения новых версий
На Android настройка L2TP VPN выполняется в разделе "Настройки" → "VPN" → "Добавить сеть VPN". Необходимо указать название, тип L2TP/IPSec PSK, адрес сервера, общий ключ IPSec, имя пользователя и пароль.
Однако важно учитывать, что в Android 13 и более новых версиях поддержка L2TP была удалена. Вместо этого предлагаются протоколы IKEv2/IPSec PSK или IKEv2/IPSec MSCHAPv2. В первом случае нет поля для ввода логина и пароля, а во втором — нет поля для общего ключа. Это делает настройку L2TP на новых устройствах невозможной без сторонних приложений.
Для таких устройств рекомендуется использовать альтернативные протоколы, например IKEv2 или WireGuard, которые поддерживаются нативно или через простые клиенты. Если вы планируете подключать смартфоны с Android 13+, стоит рассмотреть развёртывание VPN-сервера на базе strongSwan или WireGuard.
Настройка L2TP на роутерах и альтернативы
Некоторые роутеры поддерживают подключение к L2TP VPN-серверу в качестве клиента. Это позволяет направить весь трафик домашней сети через VPN. Однако не все модели поддерживают все протоколы, поэтому перед покупкой или настройкой стоит проверить документацию.
При настройке VPN на роутере важно учитывать, что параметры должны быть тщательно настроены для обеспечения безопасности. Рекомендуется использовать надёжные пароли, регулярно обновлять прошивку роутера и VPN-клиента, а также не подвергать роутер воздействию извне.
Если L2TP не поддерживается, можно использовать альтернативы: WireGuard (более быстрый и современный), OpenVPN (гибкий, но требует клиента) или IKEv2 (хорошо работает на мобильных устройствах). Выбор зависит от ваших задач и поддерживаемых устройств.
Частые проблемы и их решение
Одна из распространённых проблем — невозможность подключения из-за блокировки портов. Убедитесь, что UDP 500 и 4500 открыты на всех межсетевых экранах, включая облачные группы безопасности.
Если подключение устанавливается, но нет доступа в интернет, проверьте настройки NAT и пул адресов. Также убедитесь, что на сервере включена маршрутизация (IP forwarding).
Ещё одна частая ошибка — неверный общий ключ. Убедитесь, что ключ на клиенте и сервере совпадает, и что он не содержит пробелов или специальных символов, которые могут быть интерпретированы неправильно.
Если вы используете Windows Server в облаке, проверьте, что в сетевых правилах (Network Security Group) разрешены входящие подключения на нужные порты. Также стоит проверить, не блокирует ли провайдер L2TP-трафик.
Вопросы и ответы
Можно ли настроить L2TP VPN на Windows Server Core?
Нет, для L2TP VPN на Windows Server требуется версия с графическим интерфейсом (Desktop Experience), так как компонент NPS (Network Policy Server) недоступен в Server Core. Если сервер является членом домена, можно использовать Server Core, но в этом случае аутентификация будет выполняться через доменные службы, а NPS не потребуется.
Какой общий ключ использовать для L2TP/IPsec?
Общий ключ (PSK) задаётся на сервере в свойствах RRAS. Для примера в маркетплейсе RuVDS используется ключ vpn. В продакшене рекомендуется использовать длинный случайный ключ, например, сгенерированный с помощью генератора паролей. Ключ должен быть одинаковым на сервере и всех клиентах.
Почему не работает L2TP на Android 13?
Начиная с Android 13, Google удалила поддержку L2TP/IPsec PSK и L2TP/IPsec MSCHAPv2. Вместо этого предлагаются IKEv2/IPsec PSK и IKEv2/IPsec MSCHAPv2, но они не поддерживают одновременный ввод логина, пароля и общего ключа. Для Android 13+ рекомендуется использовать IKEv2 или WireGuard.
Как открыть порты для L2TP VPN?
Для L2TP/IPsec необходимо открыть UDP-порты 500 (IKE), 4500 (IPsec NAT-T) и, в некоторых случаях, UDP 1701 (L2TP). На сервере Windows это делается через правила брандмауэра, а в облаке — через группы безопасности. Убедитесь, что порты открыты и на внешнем межсетевом экране.
Можно ли использовать L2TP VPN для обхода блокировок?
L2TP/IPsec может использоваться для обхода некоторых блокировок, но он менее эффективен, чем современные протоколы, такие как WireGuard или IKEv2. Кроме того, L2TP часто блокируется провайдерами из-за характерных портов. Для надёжного обхода блокировок лучше использовать протоколы с обфускацией, например, OpenVPN с TLS или Shadowsocks.
Что делать, если VPN подключается, но нет доступа в интернет?
Проверьте настройки NAT на сервере: убедитесь, что внешний интерфейс добавлен в NAT и включена маршрутизация. Также проверьте пул IP-адресов, выдаваемых клиентам, и убедитесь, что он не конфликтует с другими подсетями. Если проблема не решена, проверьте правила брандмауэра и включите IP forwarding.