Лучший VPS сервер, который мне удалось найти: https://justhost.ru

  • Больше 30 стран локаций
  • Возможность 50 раз сменить страну и ip адрес вашего сервера
  • Все тарифы подходят для VPN и Proxy
  • Установка Mikrotik routerOS и linux из коробки
  • Оплата Российскими картами
  • Стоимость от 79 рублей в месяц за промо тариф

Установка необходимых пакетов

apt install strongswan
apt install certbot

Получение SSL-сертификата Let’s Encrypt

certbot certonly --standalone -d yourdomain.ru

Создаём символические ссылки на сертификаты для StrongSwan:

ln -s /etc/letsencrypt/live/yourdomain.ru/chain.pem /etc/ipsec.d/cacerts/ca.pem
ln -s /etc/letsencrypt/live/yourdomain.ru/cert.pem /etc/ipsec.d/certs/certificate.pem
ln -s /etc/letsencrypt/live/yourdomain.ru/privkey.pem /etc/ipsec.d/private/key.pem

Автоматическое обновление сертификатов

Редактируем systemd-сервис certbot:

nano /lib/systemd/system/certbot.service

Добавляем команду перезапуска StrongSwan после обновления сертификатов:

ExecStart=/usr/bin/certbot renew --deploy-hook "systemctl restart strongswan.service"

Применяем изменения:

systemctl daemon-reload

Настройка StrongSwan

Редактируем основной конфигурационный файл:

nano /etc/ipsec.conf
config setup
  charondebug="ike 1, knl 1, cfg 1"

conn BASE
  authby=psk
  keyexchange=ikev2
  ike=aes128-sha1-modp1024
  esp=aes128-sha1-modp1024
  pfs=no
  dpdaction=restart
  auto=add

conn Home
  also=BASE
  left=yourIP
  leftprotoport=47
  right=remoteIP
  rightprotoport=47
  type=transport

conn ikev2-vpn
  auto=add
  compress=no
  type=tunnel
  keyexchange=ikev2
  fragmentation=yes
  forceencaps=yes
  ike=aes256-sha1-modp1024
  esp=aes256-sha1
  dpdaction=clear
  dpddelay=30s
  rekey=no
  left=%any
  leftid=@yourdomain
  leftcert=certificate.pem
  leftsendcert=always
  leftsubnet=0.0.0.0/0
  right=%any
  rightid=%any
  rightauth=eap-mschapv2
  rightsourceip=10.1.1.0/24
  rightdns=9.9.9.9,149.112.112.112
  rightsendcert=never
  eap_identity=%identity

Настройка секретов и учётных данных

nano /etc/ipsec.secrets
yourdomain : RSA key.pem
yourIP %any : PSK "P@SSW0RD"
USER %any% : EAP "PASSWORD"

Перечитываем секреты:

ipsec rereadsecrets

Проверка и отключение AppArmor (при необходимости)

Проверяем статус AppArmor:

apparmor_status

Если присутствуют профили:

/usr/lib/ipsec/charon
/usr/lib/ipsec/stroke

Отключаем их:

ln -s /etc/apparmor.d/usr.lib.ipsec.charon /etc/apparmor.d/disable/
ln -s /etc/apparmor.d/usr.lib.ipsec.stroke /etc/apparmor.d/disable/
apparmor_parser -R /etc/apparmor.d/usr.lib.ipsec.charon
apparmor_parser -R /etc/apparmor.d/usr.lib.ipsec.stroke

Запуск и проверка StrongSwan

ipsec start
ipsec listcerts
ipsec statusall