Использование StrongSwan для IPSec VPN в CentOS 7

StrongSwan - это VPN-решение с открытым исходным кодом на основе IPsec. Он поддерживает протоколы обмена ключами IKEv1 и IKEv2 в сочетании с собственным стеком NETKEY IPsec ядра Linux. Из этого туториала Вы узнаете, как использовать strongSwan для настройки VPN-сервера IPSec в CentOS 7.

Установите strongSwan

Пакеты strongSwan доступны в репозитории Extra Packages for Enterprise Linux (EPEL). Сначала нужно включить EPEL, а затем установить strongSwan.

yum install http://ftp.nluug.nl/pub/os/Linux/distr/fedora-epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
yum install strongswan openssl

Генерировать сертификаты

И VPN-клиент и сервер нуждаются в сертификате для идентификации и аутентификации. Я подготовил два сценария оболочки для генерации и подписи сертификатов. Сначала мы загружаем эти два скрипта в папку /etc/strongswan/ipsec.d.

cd /etc/strongswan/ipsec.d
wget https://raw.githubusercontent.com/michael-loo/strongswan_config/for_vultr/server_key.sh
chmod a+x server_key.sh
wget https://raw.githubusercontent.com/michael-loo/strongswan_config/for_vultr/client_key.sh
chmod a+x client_key.sh

В этих двух .shфайлах я установил название организации как VULTR-VPS-CENTOS. Если вы хотите изменить его, откройте .shфайлы и замените O=VULTR-VPS-CENTOSна O=YOUR_ORGANIZATION_NAME.

Затем используйте server_key.shIP-адрес вашего сервера для генерации ключа центра сертификации (CA) и сертификата для сервера. Замените SERVER_IPна IP-адрес вашего Vultr VPS.

./server_key.sh SERVER_IP

Создайте ключ клиента, сертификат и файл P12. Здесь я создам сертификат и файл P12 для пользователя VPN "john".

./client_key.sh john john@gmail.com

Замените «Джон» и его адрес электронной почты своим, прежде чем запускать скрипт.

После того, как сертификаты для клиента и сервера будут созданы, скопируйте /etc/strongswan/ipsec.d/john.p12и /etc/strongswan/ipsec.d/cacerts/strongswanCert.pemна свой локальный компьютер.

Настроить strongSwan

Откройте файл конфигурации strongSwan IPSec.

vi /etc/strongswan/ipsec.conf

Замените его содержание следующим текстом.

config setup
    uniqueids=never
    charondebug="cfg 2, dmn 2, ike 2, net 0"

conn %default
    left=%defaultroute
    leftsubnet=0.0.0.0/0
    leftcert=vpnHostCert.pem
    right=%any
    rightsourceip=172.16.1.100/16

conn CiscoIPSec
    keyexchange=ikev1
    fragmentation=yes
    rightauth=pubkey
    rightauth2=xauth
    leftsendcert=always
    rekey=no
    auto=add

conn XauthPsk
    keyexchange=ikev1
    leftauth=psk
    rightauth=psk
    rightauth2=xauth
    auto=add

conn IpsecIKEv2
    keyexchange=ikev2
    leftauth=pubkey
    rightauth=pubkey
    leftsendcert=always
    auto=add

conn IpsecIKEv2-EAP
    keyexchange=ikev2
    ike=aes256-sha1-modp1024!
    rekey=no
    leftauth=pubkey
    leftsendcert=always
    rightauth=eap-mschapv2
    eap_identity=%any
    auto=add

Отредактируйте файл конфигурации strongSwan strongswan.conf.

vi /etc/strongswan/strongswan.conf

Удалите все и замените его следующим.

charon {
    load_modular = yes
    duplicheck.enable = no
    compress = yes
    plugins {
            include strongswan.d/charon/*.conf
    }
    dns1 = 8.8.8.8
    dns2 = 8.8.4.4
    nbns1 = 8.8.8.8
    nbns2 = 8.8.4.4
}

include strongswan.d/*.conf

Отредактируйте секретный файл IPsec, чтобы добавить пользователя и пароль.

vi /etc/strongswan/ipsec.secrets

Добавьте учетную запись пользователя "Джон" в него.

: RSA vpnHostKey.pem
: PSK "PSK_KEY"
john %any : EAP "John's Password"
john %any : XAUTH "John's Password"

Обратите внимание, что обеим сторонам двоеточия ':' нужен пробел.

Разрешить пересылку IPv4

Изменить, /etc/sysctl.confчтобы разрешить пересылку в ядре Linux.

vi /etc/sysctl.conf

Добавьте следующую строку в файл.

net.ipv4.ip_forward=1

Сохраните файл, затем примените изменения.

sysctl -p

Настройте брандмауэр

Откройте брандмауэр для вашего VPN на сервере.

firewall-cmd --permanent --add-service="ipsec"
firewall-cmd --permanent --add-port=4500/udp
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload

Запустить VPN

systemctl start strongswan
systemctl enable strongswan

StrongSwan теперь запущен на вашем сервере. Установите файлы сертификатов strongswanCert.pemи .p12в свой клиент. Теперь вы сможете присоединиться к вашей частной сети.

Оставить комментарий

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

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

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше