Ikev2 клиент для windows

Настройка IKEv2 VPN соединения в Windows 10

Выберите Параметры сети и Интернет.

На вкладке VPN нажмите Добавить VPN-подключение.

В разделе Подписки посмотрите IP адреса IKEv2 VPN серверов, Логин и Пароль VPN.

  1. Поставщик услуг VPN Windows (встроенный)
  2. Любое название подключения
  3. Адрес IKEv2 VPN сервера
  4. Тип VPN
  5. Тип данных для входа Имя пользователя и пароль
  6. Логин VPN
  7. Пароль VPN
  8. Отметьте Запомнить мои данные для входа

Откройте настройки параметров адаптера.

Откройте свойства IKEv2 VPN-подключения.

Откройте свойства протокола TCP/IPv4.

Перейдите на вкладку дополнительных параметров и установите галку «Использовать основной шлюз в удаленной сети».

Сохраните параметры и подключитесь к IKEv2 VPN.

IKEv2 средствами системы

IKEv2 — современный и надёжный протокол. Поддерживается операционной системой Windows по умолчанию, но только начиная с версии Windows 7.

Настройка значительно сложнее, чем L2TP и PPTP, но если строго следовать пошаговой инструкции, всё получится.

Для начала скачайте необходимые ключи и сертификаты для подключения.

Очень важно сделать это именно следующим способом и никак иначе.

1. Распакуйте архив с сертификатами IKEv2.

2. Нажмите Пуск → Служебные → Windows → Командная строка, введите mmc, нажмите Enter.

3. Нажмите Файл → Добавить или удалить оснастку (или Ctrl+M).

4. Выберите «Сертификаты», затем кнопку Добавить, «учетной записи компьютера».

Далее, «локальным компьютером», Готово.

6. В появившемся списке разверните категорию Сертификаты.

7. Правой кнопкой по Личное → Все задачи → Импорт.

8. Далее — Обзор — выберите формат *.p12 — укажите *.p12 файл из архива.

10. Введите пароль из файла p12_password.txt из архива.

11. Далее → Далее → Готово → ОК.

12. В списке разверните категорию Личное → Сертификаты.

13. Найдите HideMy.name CA, перетащите его в раздел Доверенные корневые центры сертификации.

14. На этом Консоль можно закрыть, на предложение сохранять текущий вид нажмите Нет.

Создать сразу IKEv2 нельзя, поэтому сначала создадим PPTP, а затем отредактируем. Так у нас появится новое IKEv2 подключение.

1. Откройте Панель управления → Центр управления сетями и общим доступом

2. Нажмите Настройка нового подключения или сети

3. Выберите Подключение к рабочему месту → Создать новое подключение → Использовать мое подключение к Интернету (VPN)

4. В поле Интернет-адрес впишите IP адрес выбранного сервера. Список серверов есть в архиве в файле servers.txt

5. В поле Имя можно ввести любое название для соединения

6. Установите галочку Не подключаться сейчас, и нажмите Далее

7. Ничего не заполняя, нажмите Создать, затем Закрыть

8. В Центре управления сетями и общим доступом слева нажмите Изменение параметров адаптера

9. Найдите созданное подключение, правой кнопкой → Свойства

10. Вкладка Безопасность, Тип VPN → IKEv2, Проверка подлинности → Использовать сертификаты компьютера

12. Снова правой кнопкой по соединению → Подключить

Если подключилось — поздравляем, вы всё сделали правильно 🙂

Можно как создавать новые подключения с другими серверами, так и редактировать уже созданное подключение просто вписывая другие IP-адреса серверов.

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

Настройка VPN-сервера IKEv2 на MikroTik

Доброго времени суток, коллеги. Сегодня пишу заметку по настройке VPN-сервер IKEv2 на MikroTik. По окончании настройки к нему смогут подключиться клиенты с Windows, Android, Apple а также получим рабочий туннель для объединения 2-х офисов по схеме Site 2 Site в ситуации, когда белый IP-адрес лишь у одного микрота (сервера) либо когда он пингуется по DNS-имени. Авторизовываться будем по сертификатам, которые сгенерируем на Site-1.

Я ни в коем случае не претендую на звание ГУРУ. То, что я здесь излагаю является не более, чем записной книжкой и пособием по настройке оборудования. Если это послужит кому-нибудь подспорьем, то добро пожаловать

В создании данной статьи я руководствовался официальной документацией и выступлениями Никиты Тарикина в Малазии, Москве и Индонезии, за которые огромное ему СПАСИБО!

После написания 3-х предыдущих заметок вся настройка будет происходит в терминале с минимумом комментариев и картинок.

Настраивал схему подключения на версии RouterOS 6.45.1. Имеем удалённый микрот (далее Site-1), который пингуется по DNS-имени vpn.dnsname.ru с белым IP-адресом 66.66.66.66
Локальная сеть за Site-1 — 192.168.0.0/22
Второй микрот (далее Site-2) с серым адресом на WAN-интерфейсе.
Локальная сеть за Site-2 — 10.10.10.0/24
Адресация для IKEv2 туннеля будет 10.0.100.0/24

Читайте также:  File system repair tools windows

Перед тем, как вставить скопированную команду в терминал убедитесь, что IP-адрес 66.66.66.66 изменен на ВАШ , и домен vpn.dnsname.ru на нужный. Ну и конечно же не забудьте сменить IP-адреса внутренних сетей ( 10.10.10.0/24 и 192.168.0.0/22 ) на ваши.

1. Настройка VPN-сервера (Site-1)

Настраиваем часовой пояс, NTP-клиента.

Добавляем бридж и вешаем пул адресов на него же

Настройку DNS вам нужно провести самостоятельно в зависимости от вашей специфики, но в итоге нам нужно, чтобы по адресу vpn.dnsname.ru пинговался IP-адрес настраиваемого VPN-сервера 66.66.66.66.

Следующий шаг — генерация сертификатов. Я разбил команды на блоки не случайно. Ошибки при генерации сертификатов нам не нужны. Выполняем по порядку, дожидаясь завершения процесса подписания, не прерывать.

Генерируем корневой сертификат:

Генерируем сертификат VPN-сервера:

Создаём шаблон для дальнейшего создания сертификатов через копирование с шаблона:

Сертификат для схемы Site 2 Site (для микротика Site-2):

Для первого клиента:

Для второго клиента, а остальные по той же схеме:

Далее экспортируем сгенерированные ключи, но обратите внимание, что сертификаты экспортируются в разных форматах (pem и pkcs12). Обязательно установите пароль при экспорте, т.к. при его отсутствии ошибок не будет, но работать VPN тоже не будет. Ни в коем случае не экспортируйте CA-сертификат с паролем, т.к. тогда экспортируется и закрытый ключ.

Скачиваем экспортированные сертификаты и сохраняем в одну папку. Я еще и переименовал скаченные сертификаты для удобства, удалив начало cert_export_.

Чуть настроим FireWall и изменим MSS. Правила размещайте перед запрещающими. Я расположу их в самом начале списка (place-before=0)

Добавим правила NAT и поместим их над правилом основного маскарада:

Настраиваем параметры IPSec. Настройка едина как для конфигурации Client 2 Site, так и для Site 2 Site:

Сразу добавим GRE-туннель, который в дальнейшем позволит нам легко настроить маршрутизацию между офисами:

На этом настройку VPN-сервера можно считать законченной и пора переходить на сторону клиента.

2. Настройка клиента Windows.

Первым на очереди комп с установленной Windows 10 Pro x64 версия 1903.
В винде кликаем правой кнопкой мыши на значок сетевого подключения и выбираем пункт ОТКРЫТЬ ПАРАМЕТРЫ СЕТИ И ИНТЕРНЕТ.

Слева выбираем раздел VPN и справа ДОБАВИТЬ VPN ПОДКЛЮЧЕНИЕ:

Поставщик — Windows (встроенные)
Имя подключения — произвольно
Имя или адрес сервера — vpn.dnsname.ru
Тип VPN — IKEv2
и нажимаем сохранить.

Далее кликаем правой кнопкой мыши на значок сетевого подключения и выбираем пункт ОТКРЫТЬ ПАРАМЕТРЫ СЕТИ И ИНТЕРНЕТ. В правой части левый клик на пункте НАСТРОЙКА ПАРАМЕТРОВ АДАПТЕРА и в открывшемся окне правый клик на созданном VPN-подключении -> СВОЙСТВА. В разделе БЕЗОПАСНОСТЬ пункт ШИФРОВАНИЕ ДАННЫХ — самое стойкое (отключиться, если нет шифрования) ПРОВЕРКА ПОДЛИННОСТИ — выбираем ИСПОЛЬЗОВАТЬ СЕРТИФИКАТЫ КОМПЬЮТЕРА.

В случае если вам нужно выходить в интернет через шлюз подключенной через VPN сети, то выбираем вкладку СЕТЬ, двойной левый клик на IP версии 4, в открытом окне ДОПОЛНИТЕЛЬНО и далее во вкладке ПАРАМЕТРЫ IP ставьте галку ИСПОЛЬЗОВАТЬ ОСНОВНОЙ ШЛЮЗ В УДАЛЕННОЙ СЕТИ.

Далее импортируем сертификаты, которые экспортировали на предыдущем этапе:

  • CA@vpn.dnsname.ru. Двойной левый клик по сохраненному серту, установить и в пункте РАСПОЛОЖЕНИЕ ХРАНИЛИЩА выбираем ЛОКАЛЬНЫЙ КОМПЬЮТЕР, а в пункте ХРАНИЛИЩЕ СЕРТИФИКАТОВ выбираем ПОМЕСТИТЬ ВСЕ СЕРТИФИКАТЫ В ВЫБРАННОЕ ХРАНИЛИЩЕ и по кнопке выбираем хранилище ДОВЕРЕННЫЕ КОРНЕВЫЕ ЦЕНТРЫ СЕРТИФИКАЦИИ. Остальное по схеме далее -> далее -> готово.
  • client-1@vpn.dnsname.ru. Здесь также нужно выбрать хранилище ЛОКАЛЬНЫЙ КОМПЬЮТЕР, а в пункте ХРАНИЛИЩЕ СЕРТИФИКАТОВ выбираем ПОМЕСТИТЬ ВСЕ СЕРТИФИКАТЫ В ВЫБРАННОЕ ХРАНИЛИЩЕ и по кнопке выбираем хранилище ЛИЧНОЕ. Не забываем ввести пароль, который использовали при экспорте (в этой заметке пароль passwordforexport). Далее -> далее -> готово.

3. Настройка MikroTik по схеме Site 2 Site (Site-2).

Настраиваем часовой пояс, NTP-клиента.

Заходим на МикроТик Site-2 и перекидываем на него скаченные сертификаты CA, VPN и S2S. В сумме у вас должно быть 6 файлов:

  • CA.vpn.dnsname.ru.crt
  • CA.vpn.dnsname.ru.key
  • s2s@vpn.dnsname.ru.crt
  • s2s@vpn.dnsname.ru.key
  • vpn@vpn.dnsname.ru.crt
  • vpn@vpn.dnsname.ru.key

и импортируем их по порядку. Обратите внимание, что импортировать нужно сначала CRT, а затем KEY.

Настроим FireWall, параметры IPsec, добавим GRE-туннель и добавим маршрут в сеть Site-1:

Если вы всё сделали по инструкции, то на данном этапе туннель должен заработать! Если же это не так, то попробуйте отключить запрещающие правила на FireWall на обоих маршрутизаторах.

Для настройки клиента на устройствах под управлением Android и и продуктов фирмы Apple предлагаю проследовать на сайт официальной документации, дублировать которую просто не вижу смысла.

Нюансы Windows 10

Небольшое дополнение: При подключении с ПК под управлением Windows (в моем случае Windows10 x64 1903) к разным микротам VPN-подключение непонятным образом выбирает CA-сертификат. Решение подсказали на форуме и состоит оно в принудительном указании соответствия сертификата подключению, используя powerShell.

Читайте также:  Как вручную почистить реестр windows

Также случается, что на винде не получается автоматически маршрут к удаленной сети. Эта проблема также решается через powerShell добавлением маршрута после подключения определенного VPN.

Нюансы Windows 7

Настройка VPN-подключения в Windows 7 ничем не отличается от Windows 10 кроме процесса импорта сертификатов в хранилище.
Итак: нажимаете Windows + R и в строке пишем mmc и нажимаем Enter.

Меню Файл — > Добавить или удалить оснастку.

В левой части открывшегося окна ищем пункт Сертификаты и нажимаем кнопку Добавить .

В следующем окне нужно выбрать учетной записи компьютера

И жмём Далее -> Готово -> ОК .

Перед нами откроется окно и здесь уже нужно импортировать сертификаты.

Сертификаты -> Правой кнопкой мыши по Личное -> Все задачи -> Импорт -> и выбираем наш сертификат p12 .

После импорта настоятельно рекомендую проверить, чтобы клиентский серт был в личном, а СА в доверенных.

Надеюсь, что у вас всё получилось.
Если же нет, то добро пожаловать в раздел КОНТАКТЫ

strongSwan

Documentation¶

Resources¶

Windows Clients¶

Windows 7 and newer releases (including Windows Phone 8.1 and newer) support the IKEv2 and MOBIKE (RFC 4555) standards through Microsoft’s Agile VPN functionality and are therefore able to interoperate with a strongSwan VPN gateway using these protocols.

Windows does not currently support IKE redirection (RFC 5685).

strongSwan currently can authenticate Windows clients either on the basis of X.509 Machine Certificates using RSA signatures (case A), X.509 User Certificates using EAP-TLS (case B), or Username/Password using EAP-MSCHAPv2 (case C). The client does not support multiple authentication rounds (RFC 4739).

Make sure to fulfill the certificate requirements to successfully authenticate Windows clients.

A) Authentication using X.509 Machine Certificates¶

The strongSwan VPN gateway and each Windows client needs an X.509 certificate issued by a Certification Authority (CA). OpenSSL or pki can be used to generate these certificates.

On the Windows Client¶

On the strongSwan VPN Gateway¶

B) Authentication using X.509 User Certificates¶

This is very similar to case A, but certificates are stored in a user specific keystore (using smart cards is also possible in this case). The client authentication has to be done with EAP-TLS in this case. As an EAP identity exchange is needed, make sure to have the eap-identity plugin loaded.

On the Windows Client¶

  • Storing the user certificate is basically the same as storing a machine certificate simply select My user account instead of Computer account in the Certificates MMC snap-in. Actually, since this keystore is used by default, you can simply double click the certificate to install it.
  • Please note that the CA certificate used to authenticate the VPN gateway has still to be installed in the Computer account keystore.
  • Configuring a Windows Agile VPN connection

On the strongSwan VPN Gateway¶

C) Authentication using EAP-MSCHAP v2¶

In order to prevent man-in-the-middle attacks the strongSwan VPN gateway always authenticates itself with an X.509 certificate using a strong RSA/ECDSA signature. After a secure communication channel has been set up by the IKEv2 protocol, the Windows clients authenticate themselves using the EAP-MSCHAPv2 protocol based on user name, optional windows domain and user password. As an EAP identity exchange is needed for this to work, make sure to have the eap-identity plugin loaded.

EAP-MSCHAPv2 requires MD4 to generate the NT-Hashes, so either the md4 plugin or one of the crypto library wrappers (OpenSSL, Gcrypt) is required. This is not needed if the authentication is delegated to an AAA server via eap-radius plugin.

Some Windows clients will always send a domain part in the user name field (e.g. Windows Phone\User ). Depending on the backend used to authenticate the users the domain part may have to be stripped away (see #612-3 for an example regarding FreeRADIUS), or be included when defining the credentials (e.g. in EAP secrets in ipsec.secrets).

Important: strongSwan releases before 4.3.1 are not compatible with Windows 7 RC (Build 7100) or later, because Microsoft’s EAP-MSCHAPv2 implementation changed from Beta to Release Candidate.

On the Windows Client¶

On the strongSwan VPN Gateway¶

Rekeying behavior¶

IKE_SA rekeying¶

The Windows 7 client supports IKE_SA rekeying, but can’t handle unsupported Diffie Hellman groups. If a strongSwan gateway initiates IKE_SA rekeying, it must use modp1024 as the DH group in the first attempt, otherwise rekeying fails. You can achieve this by setting modp1024 as the first (or only) DH group in the gateways ike proposal.

CHILD_SA rekeying¶

Rekeying CHILD_SAs is also supported by the Windows 7 client. For some reason, a client behind NAT does not accept a rekeying attempt and rejects it with a Microsoft specific notify 12345, containing an error code ERROR_IPSEC_IKE_INVALID_SITUATION.

To work around the issue, let the client initiate the rekeying (set rekey=no on the server). It will do so about every 58 minutes and 46 seconds, so set the gateway rekey time a little higher. There is no way known to change the rekey time (the netsh.ras.ikev2saexpiry options affect the Windows Server implementation only).

Читайте также:  Camel audio alchemy mac os

Another option is to set no rekey time, but only a hard lifetime to delete the CHILD_SA. The client will renegotiate the SA when required.

Bugs & Features¶

IKEv2 Fragmentation¶

IKEv2 fragmentation is supported since the v1803 release of Windows 10 and Windows Server. All versions of Windows also support the proprietary IKEv1 fragmentation.

Split routing on Windows 10 and Windows 10 Mobile¶

Microsoft changed Windows 10 Desktop and Mobile VPN routing behavior for new VPN connections. Option «Use default gateway on remote network option» in the Advanced TCP/IP settings of the VPN connection is now disabled by default. You can enable this option on Desktop but there is no way to do this on Mobile. Fortunately, Windows sends DHCP request upon connection and add routes supplied in option 249 of DHCP reply.

Sample configuration file for dnsmasq:

Where 192.168.103.0 is your (internal) network. It pushes 2 separate routes which cover entire IPv4 range. Gateway could be anything (set to 0.0.0.0 in an example) as it’s ignored by Windows.
Note that you can’t ignore DHCP routes in Windows.

Windows doesn’t add an IPv6 route by default. There are thee workarounds:

  • Add a permanent default route manually using the following or a similar command:
    Where 27 is your IKEv2 interface ID.
    or
    to avoid problems with interface ID change between reboots.
  • Configure and use a router advertisement daemon (requires custom patch for strongSwan, see #817)
  • on Windows 10, and presumably all future versions where PowerShell is available, you can use MS PowerShell Add-VpnConnectionRoute cmdlet.
    This cmdlet will not allow you add default route 0::/0. However, in most cases you do not really need default route over VPN. Current (as of 2/2020) IANA IPv6 space assignment specifies only 2000::/3 block as Global Unicast, and adding this prefix is perfectly sufficient for routing all traffic over VPN interface. Cmdlet will will take care of adding route upon VPN connection and also removing it upon disconnection.
    Also, unlike netsh, this usually does not require administrator privileges and is fully integrated with Windows GUI, saving you trouble with batch files.

AES-256-CBC and MODP2048¶

By default, the Windows Agile VPN Client only offers AES-128-CBC, AES-192-CBC, AES-256-CBC, 3DES, SHA-1,SHA-256, SHA-384 and MODP-1024.
By creating and setting the following registry key as a DWORD key, support for MODP2048 can be enabled, disabled or enforced.

The values that can be used are 0, 1 or 2. The table tells you what the values mean.

value meaning
0 (default) disable AES-256-CBC and MODP-2048
1 Enable AES-256-CBC and MODP-2048
2 Enforce the usage of AES-256-CBC and MODP-2048

By using the Set-VpnConnectionIPsecConfiguration PowerShell cmdlet it is possible to use even more algorithms like AES-GCM and ECP DH groups (at least on Windows 10). The VPN connection may be added in the GUI or via «Add-VpnConnection» cmdlet.

Serving different IDs/Domain names¶

The native Windows VPN Client does not send a responder identity (IDr) when initiating an IKE_SA, so two connection configurations can only be distinguished if their authentication type differs or the clients send different certificate for the different certificates’ root CAs.

Accessing the VPN server via VPN¶

Windows doesn’t seem to be able to reach the VPN server’s physical IP address (to which the IKE_SA was established) via VPN connection. To access the server via VPN, use any other IP address that is assigned to it and included in the traffic selector (if necessary, assign an IP address to any local interface and maybe adjust the traffic selector).

  • Windows OS product behavior in regards to IKE
  • Adrian Dimcev’s blog provides valuable information on Agile VPN connections between Windows 7 Beta and Windows Server 2008 R2 Beta.
  • MoPo users at the University of Freiburg can connect to a strongSwan VPN gateway using Windows 7 (in German).
  • Microsoft Windows 8, Microsoft Windows Server 2012, Microsoft Windows RT Common Criteria Supplemental Admin Guidance for IPsec VPN Clients

Acknowledgements¶

Many thanks go to Edward Chang and Gleb Sechenov from the Information Security Institute (ISI) of the Queensland University of Technology (QUT) who provided the initial Windows 7 Beta and Ubuntu Linux test setup.

Оцените статью