Что же такое IPsec и IKEv2 ?
Избавлю вас от сложных и длинных технических определений и не скажу вам кратко и просто. Что это за протокол — по сути не так и важно для потребителя, а вот какую ценность протокол дает в сравнение с Wireguard (как самый быстрый протокол), вот честно, не скажу.
Оба протокола надежно шифрует соединение, оба легко определяется провайдером по UDP трафику.
Для большинства ситуаций вам хватит и Wireguard, но когда дело касается нюансов либо нативной поддержки VPN в ОС Windows, то IKEv2 может быть для вас предпочтительней, чем другие протоколы.
Если у вас нет сервера, то мои рекомендации можете посмотреть в этой статье (ссылка).
Установка IKEv2/IPsec
wget https://get.vpnsetup.net -O vpn.sh && sudo sh vpn.sh
На этом установка все, наши ключи будут лежать в папке /root. Копируем их через FTP/SFTP к себе на устройство. А как их устанавливать, читаем уже на обновляемой статье на Github (ссылка) от автора скрипта.
Как пример, в WIndows 11 — копируем скрипт cmd и ключ (все в одной папке), запускаем его, скармиливаем IP адрес сервера — и он сам добавит его в систему.
На Android почти все то же самое, но нужно поставить программу StrongSwan.
Бонусное задание, защита сервера
Обновляем ПО и защищаем сервер от атаки методом брутфорса и не только.
apt install fail2ban -y && apt install ufw -y && apt install nano -y && apt update && apt upgrade -y
touch /etc/fail2ban/jail.local && nano /etc/fail2ban/jail.local
Откроется редактор, вставим в него код:
[sshd]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
logpath = /var/log/auth.log
findtime = 600
maxretry = 3
bantime = 43200
Настраиваем фаервол:
ufw allow 500/udp && ufw allow 4500/udp
Отключим двухсторонний пинг, чтобы затруднить обнаружение туннеля
nano /etc/ufw/before.rules
Меняем концовку следующего выражения с ACCEPT на DROP:
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP
Нажимаем ctlr + x, далее y + enter, чтобы сохранить.

Раз в месяц можно запускать обновление ПО
wget https://get.vpnsetup.net/upg -O vpnup.sh && sudo sh vpnup.sh
Если потребуется удалить скрипт с сервера:
wget https://get.vpnsetup.net/unst -O unst.sh && sudo bash unst.sh
На этом все. Если вы прошли установку поэтому гайду поделитесь, пожалуйста, своим мнением. Были ли вам сложно и столкнулись ли вы с каким-либо трудностями? Спасибо 🙂
Привет, заглядываю иногда на твой сайт посмотреть что нового, для себя недавно открыл https://habr.com/ru/articles/735536/ скорости отменные, будет здорово если разберешь настройку
Привет! Спасибо за ссылку, статья отличная на хабре, установка очень простая. Попробую ее переработать и сделать проше установку 🙂
отправил знакомому по online игре из Туркмении, там у них вообще жестко все, жду когда скажет работает или нет. у меня пока не получается с SSL, купил домен, буду искать в интернете как настроить
Привет, если ли готовые конфиги для Fail2ban, конкретно под IKEv2/IPsec. Спасибо.
В итоге сделал сам конфиги для Fail2ban опишу тут если интересное:
jail.local
[libreswan]
enabled = true
port = 500
protocol = tcp,udp
filter = libreswan
action = iptables-multiport
logpath = /var/log/auth.log
filter.d/libreswan.conf
# Fail2Ban filter for libreswan authentication failures.
#
#
[INCLUDES]
# Read common prefixes.
before = common.conf
[Definition]
# Example messages, as observed on test system.
# This can occur multiple times within «single» log in attempt as VPN client could try multiple times (usually around 10).
# «xauth-psk»[5] <HOST> #<NUM>: probable authentication failure (mismatch of preshared secrets?): malformed payload in packet
# «xauth-psk»[2] <HOST> #<NUM>: XAUTH: User <UNAME>: Authentication Failed: Incorrect Username or Password
failregex = <HOST> #\d+: probable authentication failure.*$
<HOST> #\d+: XAUTH: User \w+: Authentication Failed.*$
ignoreregex =