IPSec VPN сервер на Windows: настройка L2TP/IPSec и IKEv2 с нуля

Пошаговое руководство по настройке IPSec VPN сервера на Windows Server: установка ролей, настройка RRAS, NAT, брандмауэра, создание пользователей и подключение клиентов.

Что такое IPSec VPN и зачем он нужен

IPSec (Internet Protocol Security) — это набор протоколов для защиты IP-трафика на сетевом уровне. Он обеспечивает шифрование, аутентификацию и целостность данных, передаваемых между узлами. IPSec VPN использует эти механизмы для создания безопасного туннеля между клиентом и сервером, позволяя удалённым пользователям подключаться к корпоративной сети так, как если бы они находились в офисе.

Основные преимущества IPSec VPN:

  • Безопасность: шифрование AES-256, аутентификация PSK или сертификатами, защита от атак «человек посередине».
  • Универсальность: работает на сетевом уровне, поэтому защищает весь трафик, а не только отдельные приложения.
  • Совместимость: поддерживается большинством ОС (Windows, Linux, macOS, Android, iOS) и сетевых устройств.

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

Выбор протокола: L2TP/IPSec или IKEv2

При настройке IPSec VPN на Windows Server обычно используются два протокола: L2TP/IPSec и IKEv2. Оба основаны на IPSec, но имеют различия.

L2TP/IPSec — это комбинация протокола туннелирования L2TP и IPSec для шифрования. L2TP сам по себе не шифрует данные, поэтому IPSec добавляет шифрование и аутентификацию. Этот протокол широко поддерживается, включая встроенные клиенты Windows, macOS, Android и iOS. Однако он может быть заблокирован в некоторых сетях из-за использования UDP-портов 500 и 4500.

IKEv2 — более современный протокол, также использующий IPSec. Он обеспечивает лучшую устойчивость к смене сети (например, при переходе с Wi-Fi на мобильный интернет) и поддерживает более быструю переустановку соединения. IKEv2 также использует UDP-порты 500 и 4500, но имеет улучшенные механизмы NAT-траversal.

Для большинства корпоративных сценариев рекомендуется IKEv2, так как он более надёжен и быстр. Однако если нужна максимальная совместимость со старыми устройствами, выбирайте L2TP/IPSec. В Windows Server можно настроить оба протокола одновременно, чтобы клиенты могли выбирать.

Предварительные требования и подготовка сервера

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

  • Сервер с установленной Windows Server 2016, 2019 или 2022 (подойдёт и более новая версия).
  • Права администратора на сервере.
  • Статический IP-адрес или доменное имя, по которому клиенты будут подключаться.
  • Открытые порты в брандмауэре и на маршрутизаторе: UDP 500 (IKE), UDP 4500 (IPsec NAT-T), UDP 1701 (L2TP).

Также рекомендуется установить все обновления Windows. Для этого можно использовать PowerShell:

Install-Module PSWindowsUpdate
Get-WindowsUpdate
Install-WindowsUpdate
Restart-Computer

Если сервер находится за NAT (например, в облаке), убедитесь, что проброс портов настроен правильно. В противном случае клиенты не смогут подключиться.

Установка роли Remote Access и компонентов VPN

Для создания VPN-сервера необходимо установить роль Remote Access (RRAS). Это можно сделать через Server Manager или PowerShell.

Через PowerShell выполните:

Install-WindowsFeature RemoteAccess
Install-WindowsFeature DirectAccess-VPN -IncludeManagementTools
Install-WindowsFeature Routing -IncludeManagementTools

После установки откройте Server Manager, перейдите в Tools → Remote Access Management. В левой панели щёлкните правой кнопкой мыши на сервере и выберите Configure and Enable Routing and Remote Access.

В мастере настройки выберите Custom Configuration, затем отметьте VPN Server и NAT. Это позволит настроить VPN и обеспечить доступ клиентов в интернет через сервер. После завершения мастера запустите службу Routing and Remote Access.

Настройка RRAS: IP-пул и политика IPSec

После запуска службы RRAS необходимо настроить параметры VPN.

  1. В окне Routing and Remote Access щёлкните правой кнопкой мыши на сервере и выберите Properties.
  2. Перейдите на вкладку Security.
  3. Установите флажок Allow custom IPSec policy for L2TP/IKEv2 connection и введите длинный предварительный ключ (PSK). Сгенерируйте случайный ключ, например, с помощью онлайн-генератора или PowerShell. Запишите его — он понадобится клиентам.
  4. Перейдите на вкладку IPv4.
  5. Выберите Static address pool и добавьте диапазон IP-адресов, которые будут выдаваться клиентам. Например, 192.168.100.100 – 192.168.100.200.
  6. Нажмите OK. Появится предупреждение о необходимости перезапуска службы — пока проигнорируйте его.

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

Настройка NAT для доступа в интернет

Чтобы клиенты VPN могли выходить в интернет через сервер, необходимо настроить NAT.

  1. В окне Routing and Remote Access разверните узел сервера, затем IPv4.
  2. Щёлкните правой кнопкой мыши на NAT и выберите New Interface.
  3. Выберите сетевой интерфейс, который подключён к интернету (обычно Ethernet), и нажмите OK.
  4. На вкладке NAT выберите Public interface connected to the Internet и установите флажок Enable NAT on this interface.
  5. Перейдите на вкладку Services and Ports, найдите VPN Server (L2TP/IPSec) и установите флажок.
  6. В открывшемся окне измените частный адрес с 0.0.0.0 на 127.0.0.1 и нажмите OK.
  7. Сохраните изменения и перезапустите службу RRAS (правый клик на сервере → All Tasks → Restart).

NAT позволит VPN-клиентам обращаться к внешним ресурсам, используя IP-адрес сервера.

Настройка брандмауэра Windows

Для корректной работы VPN необходимо разрешить входящие подключения через брандмауэр Windows.

  1. Откройте Windows Defender Firewall with Advanced Security.
  2. В левой панели выберите Inbound Rules.
  3. Нажмите New Rule.
  4. В мастере выберите Predefined и в выпадающем списке выберите Routing and Remote Access.
  5. Нажмите Next, затем отметьте правило Routing and Remote Access (L2TP-In).
  6. Выберите Allow the connection и завершите мастер.

Также убедитесь, что в правилах для UDP-портов 500, 4500 и 1701 разрешены входящие подключения. Если сервер находится за аппаратным брандмауэром, настройте проброс этих портов на сервер.

Создание пользователей VPN и настройка доступа

Для подключения к VPN необходимы учётные записи пользователей. Создайте их в оснастке Computer Management.

  1. Откройте Computer ManagementLocal Users and GroupsUsers.
  2. Щёлкните правой кнопкой мыши на Users и выберите New User.
  3. Укажите имя пользователя, полное имя и надёжный пароль. Снимите флажок User must change password at next logon.
  4. Создайте пользователя.
  5. Затем откройте свойства созданного пользователя, перейдите на вкладку Dial-in.
  6. В разделе Network Access Permission выберите Allow access.

Теперь пользователь сможет подключаться к VPN. Если вы используете домен, аналогичные настройки выполняются в Active Directory.

Подключение клиентов Windows и проверка работы

После настройки сервера клиенты могут подключаться через встроенные средства Windows.

  1. На клиентской машине откройте ПараметрыСеть и ИнтернетVPN.
  2. Нажмите Добавить VPN-подключение.
  3. Заполните поля:
  • Поставщик VPN: Windows (встроенный)
  • Имя подключения: любое, например, "VPN IPSec"
  • Имя сервера или адрес: IP-адрес или доменное имя сервера
  • Тип VPN: L2TP/IPsec с предварительным ключом или IKEv2
  • Предварительный ключ: введите PSK, заданный на сервере
  • Тип данных для входа: Имя пользователя и пароль
  1. Сохраните подключение и нажмите Подключиться.

Для проверки подключения выполните на клиенте ipconfig /all — должен появиться VPN-адаптер с IP-адресом из пула. Также можно пропинговать сервер или другие ресурсы в сети.

Если подключение не удаётся, проверьте:

  • Открыты ли порты UDP 500, 4500, 1701 на сервере и маршрутизаторе.
  • Запущены ли службы IKE and AuthIP IPsec Keying Modules и IPsec Policy Agent.
  • Правильно ли введены учётные данные и PSK.

Диагностика и устранение неполадок

При возникновении проблем с IPSec VPN используйте следующие инструменты диагностики.

На сервере:

  • Откройте Remote Access Management Console — там отображается статус служб и подключённые клиенты.
  • Проверьте журналы событий в Event ViewerWindows LogsSystem.

На клиенте:

  • Выполните netsh ipsec dynamic show all для просмотра активных политик IPSec.
  • Используйте netsh ipsec monitor show mmsas для проверки установленных ассоциаций безопасности.

Частые проблемы:

  • NAT не отображается в RRAS — убедитесь, что роль Routing установлена, и перезапустите службу.
  • Клиент не может подключиться из внешней сети — проверьте проброс портов на маршрутизаторе и правила брандмауэра.
  • Низкая скорость — возможно, проблема с MTU. Уменьшите MSS на клиенте или сервере.

Если проблема не решается, временно отключите брандмауэр Windows для проверки, но не оставляйте его выключенным.

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

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

Для L2TP/IPSec VPN необходимо открыть UDP-порты 500 (IKE), 4500 (IPsec NAT-T) и 1701 (L2TP). Эти порты должны быть открыты как на сервере в брандмауэре Windows, так и на маршрутизаторе, если сервер находится за NAT.

Чем отличается L2TP/IPSec от IKEv2?

L2TP/IPSec — это комбинация протокола туннелирования L2TP и IPSec для шифрования. IKEv2 — более современный протокол, также использующий IPSec, но с улучшенной поддержкой мобильности и быстрой переустановкой соединения. IKEv2 обычно предпочтительнее для новых систем, но L2TP/IPSec обеспечивает более широкую совместимость со старыми устройствами.

Можно ли использовать один и тот же PSK для всех клиентов?

Да, в базовой настройке L2TP/IPSec используется один общий предварительный ключ (PSK) для всех клиентов. Это упрощает настройку, но снижает безопасность. Для более высокого уровня защиты рекомендуется использовать сертификаты или IKEv2 с сертификатами.

Что делать, если клиент не может подключиться из внешней сети, но работает из локальной?

Проверьте, открыты ли порты UDP 500, 4500 и 1701 на маршрутизаторе и проброшены ли они на сервер. Также убедитесь, что брандмауэр Windows разрешает входящие подключения для этих портов. Если используется NAT, проверьте настройки NAT в RRAS.

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

Скорость VPN может снижаться из-за фрагментации пакетов, вызванной увеличением MTU из-за IPSec-заголовков. Попробуйте уменьшить MTU на клиенте или сервере, например, установив значение 1400. Также проверьте, не использует ли провайдер блокировку или ограничение VPN-трафика.

Нужно ли настраивать NAT, если VPN используется только для доступа к внутренним ресурсам?

Нет, если клиентам нужен доступ только к ресурсам в локальной сети сервера, NAT не обязателен. Однако если вы хотите, чтобы VPN-клиенты могли выходить в интернет через сервер, необходимо настроить NAT.

Как проверить, что IPSec-соединение действительно шифруется?

На клиенте выполните команду netsh ipsec dynamic show all — она покажет активные политики и ассоциации безопасности. Также можно использовать netsh ipsec monitor show mmsas для просмотра установленных SA. Если соединение активно, вы увидите параметры шифрования и аутентификации.