Ikev2 windows 10 сертификат

Home » How To » How to set up IKEv2 VPN Connection on Windows 10 with Certificate or EAP-MSCHAP v2 Authentication

    • Posted by
    • in How To
    • on October 10, 2019

    This guide assumes that you have obtained a Personal Information Exchange (p12) file from your VPN service provider. The file contains the server certificate and maybe the client private key & certificate (if using certificate authentication instead of EAP-MACHAP v2).

    There are two major tasks: install the certificates and create a VPN connection.

    Task 1: install the certificates.

    1. Double click the p12 file. Select “Local Machine” on the “Certificate Import Wizard” dialog.

    2. Click “Next”.

    3. Enter the password (if there is one).

    4. Select “Automatic…” for the certificate store.

    5. Click “Finish”.

    Task 2: create the VPN connection.

    1. Click the network icon at the bottom right corner of the screen, then click “Network & Internet Settings”.
    2. Click on the “Network and Sharing Center” link (you might need to scroll down a bit).

    3. Click on “Set up a new connection or network”.

    4. Select “Connect to a workplace”.

    5. Click on “Use my Internet connection (VPN)”.

    6. Enter the VPN server domain name or IP address, give a name to the VPN connection. Then click “Create”.

    7. Go back to the “Network and Sharing Center” dialog and click “Change adapter settings”.

    8. Right click on the newly created VPN connection, select “Properties”.

    9. Click on the “Security” tab, select “IKEv2” for “Type of VPN”. Select “Maximum strength encryption”, and “Use machine certificate” for Authentication (if you are authenticating with EAP-MSCHAP v2 user name and password, see alternative task below).
    10. Click on the “Networking” tab. Uncheck TCP/IPv6.
    11. Click the network icon at the bottom right corner of the screen, then click on the VPN connection to connect to the VPN.

    Alternative task 2: if authenticating with EAP-MSCHAP v2.

    1. In step 9 above, select “Use Extensible Authentication Protocol (EAP), then EAP-MSCHAP v2.
    2. Click the Windows icon at the left bottom corner of the screen and enter “vpn”. Then click on “VPN settings”.

    3. Click on the VPN connection, then click “Advanced options”.

    4. Click “Edit”.

    5. Select “User name and Password” for “Type of sign-in info”. Enter user name and password. Click “Save”.


    Task 3: Check that your VPN connection is working

    1. Open a web browser, enter https://ipleak.net/. Make sure that your IP address is that of the VPN service (i.e., no longer your ISP assigned IP address), and DNS addresses are also that from the VPN service.
    2. If your VPN server is located in the same geographical region as your ISP connection, sometimes it’s hard to tell if your DNS service has changed to that provided by the VPN. This page will tell you who is your DNS provider: http://whoismydns.com/
    3. There are instances that your browser is stuck with the ISP assigned DNS server. In that case, manually set the DNS service on your ISP connection (WiFi or Ethernet adapter) to a third party DNS service, for example, Cloudflare DNS. Just to be safe, disable IPv6 on the WiFi or Ethernet adapter too.

Время на прочтение5 мин

Количество просмотров194K

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

IKEv2 — это современный протокол VPN, разработанный Microsoft и Cisco. Он используется по умолчанию для новых VPN-подключений в Windows, macOS, iOS. Он быстрее и безопаснее большинства VPN-протоколов и может легко настраиваться на стороне клиента в два клика без использования сторонних программ.

Я считаю, что IPsec IKEv2 отлично подходит не только для соединения серверов, но и для обычных VPN-подключений конечных пользователей. В этом посте я постараюсь убедить вас использовать IPsec IKEv2 для обычных домашних пользователей вместо OpenVPN.

IKEv2 быстрее

При прочих равных условиях, IKEv2 будет всегда быстрее OpenVPN. Это особенно заметно на маломощных системах с медленной памятью, например на роутерах или одноплатных компьютерах.

Дело в том, что IPsec работает в контексте ядра операционной системы, а OpenVPN в контексте пользователя (userspace), и на обработку каждого пакета происходит переключение контекста между процессами ядра и процессами пользователя. Это влияет как на пропускную способность, так и на задержки.

Сравнение задержек для разных протоколов VPN.

Скриншот выше показывает разницу в задержке в два раза между IPsec и OpenVPN. Разумеется, разницу в 1мс невозможно заметить на глаз, но при нагрузке на систему эти значения могут значительно изменяться. Кроме того, реальные показатели сильно зависят от характеристик конкретной системы, поэтому я не буду приводить абсолютные цифры для сравнения двух протоколов. Задержки очень важны при использовании голосовой и видеосвязи через VPN.

По моим субъективным ощущениям IKEv2 на Windows 10 работает заметно отзывчивее чем OpenVPN. Ведь реальное использование десктопного компьютера сильно отличается от синтетических тестов VPN-протоколов. Нагрузка на процессор и память непостоянная, пользователь может запускать ресурсоемкие программы, все это будет влиять на показатели.

IKEv2 проще в настройке

Все современные операционные системы (кроме Android) поддерживают IPsec IKEv2 прямо из коробки. Не нужно устанавливать никакие программы, драйвера виртуальных адаптеров TUN/TAP и прочее. Всё управление VPN происходит из системного меню.

При этом настройку на клиенте можно упростить до трех строчек:

  • Домен — для IPsec домен обязателен, так как для него выпускается SSL-сертификат
  • логин
  • пароль

Не нужно больше передавать клиенту файлы с сертификатами и ключами, заставлять его импортировать корневые сертификаты в системное хранилище. Достаточно логина и пароля, при этом соединение будет так же надежно защищено, как и в OpenVPN при использовании сертификатов, ведь для установки соединения используется такой же x.509 сертификат, как и для веб-сайтов с HTTPS.

Настройка на Windows 10

Мастер настройки VPN вызывается из меню подключения к WiFi. С настройкой одного окна справится пользователь любой квалификации. Созданное подключение активируется из меню со списком WiFi-сетей.

Интерфейс настройки нового IKEv2 подключения в Windows 10

Настройка macOS

В macOS поддерживается IKEv2 начиная с версии 10.11 (El Capitan). Создание подключения происходит через меню настроек сети.

image

Добавляем новое подключение. В качестве имени подключения задаем любое произвольное имя.

image

Для проверки подлинности сертификата, нужно указать доменное имя. При этом в поле «Server Address» можно указать IP-адрес сервера, а домен только в «Remote ID», тогда для подключения не будет выполняться DNS-резолв, и оно будет происходить чуть быстрее.

image

Логин и пароль пользователя указываем из файла /etc/ipsec.secrets

image

Настройка iOS

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

Ручная настройка по смыслу аналогична десктопной macOS:

Настройки -> VPN -> Добавить конфигурацию VPN

IKEv2 это безопасно

На предыдущем шаге мы выяснили, что для настройки подключения достаточно логина и пароля. Но как клиенту проверить, что подключение не прослушивается, не подменяются данные и сервер действительно тот, за кого себя выдает? Для этого используются обычные SSL-сертификаты, которые мы привыкли использовать для веб-сайтов и HTTPS.

Клиент устанавливает защищенный SSL-тоннель с сервером, и уже внутри него передается логин-пароль. По умолчанию в Windows и macOS для передачи пароля используется алгоритм mschapv2. Таким образом с помощью SSL-сертификата клиент проверяет подлинность сервера, а по логину-паролю сервер проверяет подлинность клиента.

Сервер IKEv2 может использовать один и тот же сертификат вместе с веб-сервером, например от популярного Let’s Encrypt. Это сильно упрощает управлением сертификатами.

Такая же модель используется в OpenVPN, и при желании в нем можно использовать сертификат от Lets Encrypt, однако администратору в любом случае потребуется передать пользователю файл для настройки VPN.

Настраиваем IKEv2 сервер

Развернуть свой IKEv2 сервер можно за пару минут с помощью скриптов автоматической установки или используя готовые контейнеры. Использовать docker не рекомендуется, так как его сетевая подсистема снижает производительность IPsec на дешевых тарифах VPS. Вы также можете настроить IKEv2-сервер вручную, на Хабре есть статьи с примерами настройки сервера Strongswan.

Мы будем использовать один из наиболее удачных вариантов скриптов автонастройки github.com/jawj/IKEv2-setup
Этот скрипт хорош тем, что использует сертификаты от Lets Encrypt и автоматически генерирует валидный сертификат.

Шаг 1: Выбор сервера

Для запуска VPN сервера нам потребуется VDS. Подойдет самая простая конфигурация с одним ядром процессора. Скрипт из нашего примера лучше всего протестирован на Ubuntu 18.04, поэтому при создании сервера выбираем этот образ ОС.

Ждем окончания установки сервера и копируем реквизиты для подключения. Пароль root придет на почту, либо его можно задать вручную через веб-интервейс. Далее все команды мы вводим

Шаг 2: Установка Strongswan

Подключаемся SSH-клиентом и запускаем скрипт установки:

# запуск автоматической установки сервера IKEv2 
wget https://raw.githubusercontent.com/jawj/IKEv2-setup/master/setup.sh
chmod u+x setup.sh
./setup.sh
....
# Введите имя домена направленного на IP-адрес сервера
# используйте сервис sslip.io если у вас нет домена
Hostname for VPN: 123-45-67-89.sslip.io
# Имя пользователя VPN
VPN username: coolguy
# пароль 
VPN password (no quotes, please):
....
# скрипт запрос создать нового SSH-пользователя, этот шаг нельзя пропускать.

Шаг 3: Настройка клиента

Введенные реквизиты пользователя VPN теперь нужно использовать для настройки на клиенте. Важно использовать именно то доменное имя, которое вы вводили в Hostname for VPN.

Шаг 4: Добавление новых пользователей

Чтобы добавить нового пользователя в уже созданный сервер, отредактируйте файл /etc/ipsec.secrets.

# nano /etc/ipsec.secrets
123-45-67-89.sslip.io : RSA "privkey.pem"
coolguy : EAP "C00lPassword"
badguy : EAP "bAdP$$word"

После добавления пользователя выполните команду ipsec secrets чтобы Strongswan перечитал конфиг.

Заключение

Мы рассмотрели удобство IKEv2 со стороны пользователя. Администрирование такого сервера не сложнее, а иногда даже проще чем OpenVPN. Если вы только планируете организовать удаленный доступ для своих сотрудников, обязательно посмотрите в сторону IKEv2. Не заставляйте своих пользователей устанавливать лишние программы, если все необходимое уже есть на их компьютере. Это удобнее, безопаснее и намного прогрессивнее.

Речь пойдет о настройке Windows 10 для подключения к нашему VPN-серверу на базе strongSwan/IKEv2. Далее в тексте и на скриншотах
англоязычная версия Windows.

Создание сертификатов

Сертификаты и ключи клиентского устройства мы будем создавать на нашем сервере вызовом скрипта из данного проекта.
Следует напомнить, что в примере, описанном в инструкции по настройке сервера, сервер был назван
oscar и доступ к нему осуществлялся по oscar.domain.com. Эти данные будут взяты из конфигурационного файла
config.json. Назовем клиентское устройство неоригинально, my_pc:

./gen_client_key.py -w my_pc

В процессе исполнения скрипта надо будет придумать экспортный пароль для шифрования сертификата с ключом. Этот пароль
потребуется для импорта сертификата в Windows.

Если все прошло ок, то добавятся три файла в папку clients/<client name>:
clients/my_pc/my_pc.pfx — сертификат с закрытым ключом клиента для шифрования трафика;
clients/my_pc/my_pc.ps1 — PowerShell-скрипт для добавления VPN-соединения в Windows;
clients/my_pc/ca.pem — сертификат удостоверяющего центра.

Готово.

Импорт сертификатов

На клиентское устройство с Windows потребуется перенести три вышеупомянутых файла с сервера.

Открываем консоль MMC:

В меню File → Add/Remove Snap-in... выбираем Certificates и добавляем Add >. Появляется диалоговое окно, в
нем
поочередно выбираем: Computer account, Local computer, далее Finish и OK. Получим окно с деревом сертификатов
слева.

img

В левой стороне открываем дерево, выбираем папку Trusted Root Certification Authorities, в ней Certificates и
жмем на нее правой кнопкой. В контекстном меню All Tasks → Import.... В новом диалоговом окне пролистываем до
момента выбора файла, в котором выбираем наш ca.pem (для этого фильтр придется установить в *.*). На дальнейший
вопрос о том, куда поместить файл, отвечаем Trusted Root Certification Authorities. Со всем остальным соглашаемся.

img

Аналогичным образом импортируем второй сертификат с закрытым ключем клиента (my_pc.pfx), но только в папку
Personal. В процессе импорта понадобится пароль, которым зашифровали сертификат на этапе его выпуска.
Все галки оставляем как есть.

img

Обратите внимание на то, что у my_pc пиктограмма с ключом.

Настройка VPN

Запускаем наш скрипт правой кнопкой мыши на my_pc.ps1 и Run with PowerShell. В процессе работы скрипт спросит:

Changing the Cryptography Settings. Do you want to continue?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"):

Отвечаем “Y”.

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

Ссылки

https://interface31.ru/tech_it/2020/04/nastraivaem-ikev2-vpn-server-na-routerah-mikrotik.html

Настройка

Настройка Mikrotik IKEv2 VPN Server

Настройка сертификатов на VPN-Сервере Mikrotik

При создании сертификатов с использованием доменного имени подключиться с клиента по IP-адресу будет невозможно
Сервер IKEv2-VPN для подключения по внешнему IP-адресу сделать можно, но при изменении внешнего IP на микротике использовать этот VPN сервер будет невозможно

cloud.cless.pro — доменное имя, привязанное к внешнему IP-адресу микротика-впн-сервера, к которому будут подключаться VPN-клиенты

Создадим корневой центр сертификации

/certificate add name=ikev2_ca common-name=ikev2_ca days-valid=3650 key-usage=crl-sign,key-cert-sign key-size=2048

Подписываем корневой центр сертификации

192.168.17.8 — локальный адрес микрота как идентификатор

/certificate sign ikev2_ca ca-crl-host=192.168.17.8

Выпустим и подпишем сертификат сервера

/certificate add name=cloud.cless.pro common-name="cloud.cless.pro" subject-alt-name=DNS:"cloud.cless.pro" key-size=2048 days-valid=3650 key-usage=tls-server

/certificate sign cloud.cless.pro ca=ikev2_ca

Выпустим и подпишем сертификат клиента (пользователя VPN)

/certificate add name=SmirnovaMV common-name="SmirnovaMV" key-size=2048 days-valid=3650 key-usage=tls-client

/certificate sign SmirnovaMV ca=ikev2_ca

Экспортируем сертификат клиента в файл ОБЯЗАТЕЛЬНО С ПАРОЛЕМ

При экспорте сертификата без пароля ошибок не будет, при импорте файла сертификата без пароля в Windows ошибок тоже не будет, НО VPN-клиент на Windows при подключении будет выдавать ошибку

/certificate export-certificate SmirnovaMV type=pkcs12 export-passphrase=12345678

Получили файл сертификата «cert_export_SmirnovaMV.p12», который будем использовать далее на Windows машине для создания VPN-туннеля

Настройка Firewall Для разрешения трафика IPSec на VPN-Сервере Mikrotik

Разрешаем порты IPSEC udp/500,4500 на INPUT с внешнего интерфейса

/ip firewall filter add action=accept chain=input comment=IPSEC-IKEV2 dst-port=500,4500 in-interface=ether3-wan1 ipsec-policy=in,ipsec protocol=udp

Настройка IP-POOL для клиентов VPN на VPN-Сервере Mikrotik

Пул IP для клиентов VPN, подключающихся с Windows-машин

/ip pool add name=vpn_from_out ranges=172.16.17.10-172.16.17.254

Настройка IPSEC+IKEv2 на VPN-Сервере Mikrotik

/ip ipsec profile add dh-group=modp2048,modp1024 dpd-interval=2m dpd-maximum-failures=5 enc-algorithm=aes-128,3des hash-algorithm=sha1 lifetime=1d name=ikev2 nat-traversal=yes proposal-check=obey

/ip ipsec proposal add auth-algorithms=sha1 disabled=no enc-algorithms=aes-256-cbc,aes-192-cbc,aes-128-cbc lifetime=30m name=ikev2 pfs-group=none

vpn_from_out — пул IP для клиентов VPN, подключающихся с Windows-машин

split-include=192.168.17.0/24 — подсеть офиса за микротом с VPN-сервером, маршрут до этой сети появится на клиенте для доступа к сети за микротиком-впн-сервером

/ip ipsec mode-config add address-pool=vpn_from_out address-prefix-length=32 name=ikev2-cfg split-include=192.168.17.0/24 system-dns=yes

/ip ipsec policy group add name=ikev2-policies

/ip ipsec peer add disabled=no exchange-mode=ike2 name=ikev2-peer passive=yes profile=ikev2 send-initial-contact=yes

172.16.17.0/24 — подсеть для клиентов впн, подключающихся с Windows-машин

/ip ipsec policy add disabled=no dst-address=172.16.17.0/24 group=ikev2-policies proposal=ikev2 protocol=all src-address=0.0.0.0/0 template=yes

cloud.cless.pro — сертификат сервера

/ip ipsec identity add auth-method=digital-signature certificate=cloud.cless.pro disabled=no generate-policy=port-strict mode-config=ikev2-cfg peer=ikev2-peer policy-template-group=ikev2-policies

Настройка Windows 10 IKEv2 VPN Client

Копируем файл сертификата «cert_export_SmirnovaMV.p12» из микрота на Windows машину

Настраиваем клиент VPN

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

После успешного подключения с Windows смотрим статус пира на микроте

/ip ipsec active-peers print

...
 #    ID                   STATE              UPTIME          PH2-TOTAL REMOTE-ADDRESS                                                          DYNAMIC-ADDRESS                                
 0 RN SmirnovaMV           established        1m23s                   1 78.132.136.195                                                          172.16.17.13
...

Нерешенные проблемы

Клиенту на Windows отдается маршрут до внутренней подсети за микротиком 192.168.17.0/24, с клиента 17 подсеть пингуется норм,

НО с микротика-впн-сервера IP адрес клиента на Windows из пула (например, 172.16.17.13) не пингуется.

Пробовал создать бридж с адресом сервера 172.16.17.1 — безрезультатно.

Возможно проблема из-за того, что клиенту выдается адрес с префиксом маски /32:

   IPv4-адрес. . . . . . . . . . . . : 172.16.17.13

   Маска подсети . . . . . . . . . . : 255.255.255.255

Не нашел как отдать префикс /24 клиенту из настроек IPsec на микроте.

Разобраться.

Screenshot 1: IPsec Certificates Windows 10 | Configuring IPsec/IKEv2 in Windows 10

Double click on the downloaded file and click on Install Certificate. Enter your Perfect Privacy login credentials.

Screenshot 2: IPsec Certificates Windows 10 | Configuring IPsec/IKEv2 in Windows 10

You can then close this window. If you ever want to uninstall the certificate at a later point, you can do so by starting the Cert Installer and clicking on Uninstall Certificate.

Screenshot 3: IPsec Certificates Windows 10 | Configuring IPsec/IKEv2 in Windows 10

Open the start menu, type «Network» and go to the Network and Sharing Center.

Screenshot 4: IPsec Certificates Windows 10 | Configuring IPsec/IKEv2 in Windows 10

Click on Set up a new connection or network.

Screenshot 5: IPsec Certificates Windows 10 | Configuring IPsec/IKEv2 in Windows 10

Click on Connect to a Workplace.

Screenshot 6: IPsec Certificates Windows 10 | Configuring IPsec/IKEv2 in Windows 10

Choose Use my Internet connection (VPN).

Screenshot 7: IPsec Certificates Windows 10 | Configuring IPsec/IKEv2 in Windows 10

Enter a Perfect Privacy server of your choice. You can see which servers are available on the IPsec page in the download section. Make sure to use the general hostname of a location like amsterdam.perfect-privacy.com for the server group in Amsterdam, since the certificates will only match these hostnames. You can choose any destination name. Activate Remember my credentials so you not have to enter your Perfect Privacy username and password for every connection. Then click on Create.

Screenshot 8: IPsec Certificates Windows 10 | Configuring IPsec/IKEv2 in Windows 10

Click on Change adapter settings on the left side.

Screenshot 9: IPsec Certificates Windows 10 | Configuring IPsec/IKEv2 in Windows 10

Right click on the newly created connection and choose Properties.

Screenshot 10: IPsec Certificates Windows 10 | Configuring IPsec/IKEv2 in Windows 10

Under the security tab, set the VPN type to IKEv2, choose Require encryption for data encryption and activate Use Extensible Authentication Protocol (EAP). Click on OK to close this window.

Screenshot 11: IPsec Certificates Windows 10 | Configuring IPsec/IKEv2 in Windows 10

Double click on the connection or right click on it and choose Connect/Disconnect. This will open a new window.

Screenshot 12: IPsec Certificates Windows 10 | Configuring IPsec/IKEv2 in Windows 10

Click on the VPN Connection to expand it and click Connect.

Screenshot 13: IPsec Certificates Windows 10 | Configuring IPsec/IKEv2 in Windows 10

Enter your Perfect Privacy login credentials and click OK.

Screenshot 14: IPsec Certificates Windows 10 | Configuring IPsec/IKEv2 in Windows 10

The IPsec connection should now be working. Below the VPN connection name it says Connected.

Screenshot 15: IPsec Certificates Windows 10 | Configuring IPsec/IKEv2 in Windows 10

You can check that your VPN connection works correctly by visiting our Check IP website.

This website uses cookies to analyze the traffic and to control our advertising. By using this site, you agree to the use of cookies. More information can be found in our privacy policy.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Программа nat для windows
  • Gembird driver windows 10
  • Как сменить значок ярлыка windows 10 на свою картинку
  • Как загрузить windows 10 safe mode
  • Встроенный компилятор в windows