View on GitHub

vpn_ikev2

Организация VPN на базе IKEv2

Настройка клиента iOS/macOS

Создание сертификата и профиля клиента

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

Создание сертификата и профиля для устройства iOS/macOS:

./gen_client_key.py -a my_iphone

В результате создан профиль clients/my_iphone/my_iphone.mobileconfig

Если указать при запуске скрипта вместо -a команду -ak, то скрипт не удалит созданные ключ и сертификат клиента:
/etc/ipsec.d/certs/my_iphone.pem — сертификат клиентского устройства;
/etc/ipsec.d/private/my_iphone.pem — закрытый ключ.

В обычной жизни они вряд ли понадобятся.

Импорт профиля на устройство

Созданный на предыдущем этапе профиль my_iphone.mobileconfig следует отправить на ваше устройство любым способом, телеграмом, дропбоксом или как-то иначе.

Телеграм и дропбокс этот файл открывают как текстовый, так не пойдет — в этом случае файл необходимо экспортировать и сохранить на самом устройстве. После этого найти его в стандартном приложении “Files”, ткнуть на него и он автоматически будет “скачан” как профиль настроек VPN.

После этого надо перейти в настройки (Settings) и найти появившийся пункт Downloaded profiles, зайти туда, и скачанный профиль установить, согласившись с предупреждениями о самоподписанном корневом сертификате. Останется только включить VPN, чтобы все заработало.

Настройка Connect on demand по-умолчанию отключена. Если она требуется, то идем в Settings → General → VPN & Device Management, там находим профиль под именем нашего VPN-сервера и в нем уже включаем Connect on demand.