Пока настройки указанные в этой статье не привели к результату, чтобы из Windows 10/11 удалось установить VPN соединение по IKeV2.
В статье по которой я пробовал настраивать изначально приводились команды для настройки firewalld, их я пока что тут не стал размещать, поскольку в моём случаи я просто выключил firewalld командой systemctl stop firewalld.
Установка и настройка snapd
После настроек firewalld предлагалось установить репозитарий epel-release командой yum install epel-release, чего я делать не стал, поскольку на сервере на котором я производил настройку уже был настроек 3proxy и VPN по протоколу PPTP, поэтому данный репозитарий я устанавливал ранее.
Далее предлагалось установить snapd командой yum install snapd что я и сделал.
Далее была выполнена команда: systemctl enable --now snapd.socket
Далее была выполнена команда для создания ссылки: sudo ln -s /var/lib/snapd/snap /snap
Далее была выполнена перезагрузка командой reboot
Установка и настройка certbot и генерация сертификатов Let's Encrypt
Далее была выполнена команда sudo snap install core и команда sudo snap refresh core
Далее командой sudo snap install --classic certbot был установлен бот для выпуска SSL сертификатов Let's Encrypt.
Далее командой sudo ln -s /snap/bin/certbot /usr/bin/certbot была создана ссылка для certbot.
Перед тем как приступить к выпуску сертификата для домена через который планировалось устанавливать подключение, чтобы проверка certbot для домена прошла были добавлены две A зоны DNS, одна для соответствующего домена(я использовал для этого домен usa.ivru.net), другая для www-зеркала(то есть домен www.usa.ivru.net) этого домена обе указывающие на IP адрес сервера который пранировалось использовать в для приёма VPN подключения по протоколу IKeV2.
Далее командой certbot certonly --standalone --agree-tos --no-eff-email -m nikolaevevge@mail.ru -d usa.ivru.net был выпущен SSL сертификат для доменна, который было решено использовать для подключения(кстати эту команду возможно имеет смысл поправить и добавить так же флаг -d www.usa.ivru.net поскольку предположительно исходная команда не создаст сертификат для www зеркала домена)
Далее была выполнена команда sudo certbot renew --dry-run
Установка и настройка strongswan(слижбы VPN-сервера в том числе для протокола IKeV2)
После выпуска SSL сертификатов установил сам strongswan, службу которая умеет принимать различные VPN подключения, то-есть выступать качестве VPN-сервера в том числе и для протокола IKeV2. Установить его можно выполнив команду yum install y strongswan
Далее следующими 3-мя командами будут созданы ссылки на выпущенные выше по тексту статьи SSL-сертификаты(ксати после их перевыпуска повторно ссылки создавать не потребуется).
В статье по которой я изначально настраивал VPN по протоколу IKeV2 предлагалось перед редактирование конфигурационного и парольного файла сделать их копию, для этого предлагалось использовать команду sudo mv /etc/strongswan/ipsec.conf{,.old} и команду sudo mv /etc/strongswan/ipsec.secrets{,.old}
Далее произвёл настройку конфигурационного файла ipsec.conf, с изначальной версией конфигурационного файла которая предлагалась в статье которую я прочитал первой у меня не получилось корректно запустить VPN-сервер, в листинге ниже я привёл конфигурационный файл с которым VPN-сервер должен работать корректно, версию же конфигурационного файла с которым не удалось установить VPN подключения будет приведена ещё ниже.
Так же выше написал, что в статье по которой я изначально пробовал настроить данный VPN-сервер был приведён текст конфигурационного файла ipsec.conf с использованием которого у меня не получилось установить соединение с VPN-сервером, в листинге ниже привожу данный текст конфигурационного файла, можете не обращать на него внимание, текст же конфигурационного файла с которым VPN-сервер успешно заработал приведён выше. Текст неисправного конфигурационного файла привожу в том числе чтобы показать какая ошибка у меня возникала при его использовании, если например Вам потребуется повторить эту ошибку.
Далее я создал парольный файл ipsec.secrets(выше я уже писал, что при установке strongswan он создаётся с содержанием по-умолчанию, при этом я создал его резервную копию путём переименования в ipsec.secrets.old, поэтому и был создан новый файл) и привёл к виду который приведён в листинге ниже. Обратите внимание логин пишется без кавычек а пароль в кавычках. Замените userX и passwordX своими парами логинов и паролей.
Настройка доступа в Интернет для клиентов устанавливающих VPN соединение
Приведённые выше действия позволили подключаться клиентам по VPN, при этом они не имеют доступа в Интернет по данному соединению. Для того чтобы пользователи созданного VPN подключения могли по данному каналу пользоваться Интернет я выполнил команду iptables -t nat -A POSTROUTING -s 10.42.42.0/24 -o eth0 -m policy --dir out --pol ipsec -j ACCEPT а так же команду iptables -t nat -A POSTROUTING -s 10.42.42.0/24 -o eth0 -j MASQUERADE