How-to-Set-Up-IPsec-based-VPN-with-Strongswan-on-CentOS_RHEL-8 - Как настроить VPN (site-to-site) на основе IPsec с помощью Strongswan на CentOS/RHEL 8

Как настроить VPN (site-to-site) на основе IPsec с помощью Strongswan на CentOS/RHEL 8?

LinuxSecurity

StrongSwan — это многоплатформенное, современное и удобное VPN-решение на базе IPsec для Linux с открытым исходным кодом, обеспечивающее полную поддержку обмена ключами в Интернете (IKEv1 и IKEv2) для установления ассоциаций безопасности (SA) между двумя узлами. Его полнофункциональный, модульный дизайн легко дополняется десятки плагинов, которые расширяют основные функциональные возможности.

В этой статье вы узнаете, как настроить межсетевые шлюзы IPsec VPN с использованием StrongSwan на серверах CentOS/RHEL 8. Это позволяет одноранговым узлам аутентифицировать друг друга с использованием strong pre-shared ключа (PSK). Настройка «site-to-site» означает, что у каждого шлюза безопасности есть собственная подсеть.

 

Тестовая среда

Не забудьте использовать свои реальные IP-адреса во время настройки, следуя руководству.

Site 1 Gateway
Public IP: 192.168.56.7
Private IP: 10.10.1.1/24
Private Subnet: 10.10.1.0/24

 

 

Site 2 Gateway
Public IP: 192.168.56.6
Private IP: 10.20.1.1/24
Private Subnet: 10.20.1.0/24

 

 

Шаг 1: Включение пересылки пакетов в ядре CentOS 8

1. Начните с включения функции пересылки IP ядра в файле конфигурации /etc/sysctl.conf на обоих VPN-шлюзах:

# vi /etc/sysctl.conf

 

 

Добавьте эти строки в файл:

net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0 

 

Как настроить VPN

 

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

# sysctl -p

 

 

3. Затем создайте постоянный статический маршрут в файле /etc/sysconfig/network-scripts/route-eth0 на обоих шлюзах безопасности:

# vi /etc/sysconfig/network-scripts/route-eth0

 

 

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

#Site 1 Gateway
10.20.1.0/24 via 192.168.56.7

#Site 2 Gateway
10.10.1.0/24 via 192.168.56.6

 

Как настроить VPN

 

4. Затем перезапустите диспетчер сети, чтобы применить новые изменения:

# systemctl restart NetworkManager

 

 

Шаг 2: Установка StrongSwan в CentOS 8

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

# dnf install epel-release
# dnf install strongswan

 

 

6. Чтобы проверить версию strongswan, установленную на обоих шлюзах, выполните следующую команду:

# strongswan version

 

 

7. Затем запустите службу strongswan и включите её автоматический запуск при загрузке системы. Затем проверьте состояние на обоих шлюзах безопасности:

# systemctl start strongswan
# systemctl enable strongswan
# systemctl status strongswan

 

 

Примечание: последняя версия strongswan в CentOS/REHL 8 поставляется с поддержкой обоих swanctl (новая переносная утилита командной строки, представленная в strongSwan 5.2.0, используемая для настройки, управления и мониторинга демона IKE Charon с помощью плагина vici) и утилита запуска (или ipsec), использующая устаревший плагин Stroke.

 

 

8. Основным каталогом конфигурации является /etc/strongswan/, который содержит файлы конфигурации для обоих плагинов:

# ls /etc/strongswan/

 

strongswan-configuration-structure - Как настроить VPN (site-to-site) на основе IPsec с помощью Strongswan на CentOS/RHEL 8

 

 

Для этой статьи мы будем использовать утилиту IPsec, которая вызывается с помощью команды strongswan и интерфейса stroke. Поэтому мы будем использовать следующие файлы конфигурации:

  • /etc/strongswan/ipsec.conf — файл конфигурации для подсистемы strongSwan IPsec.
  • /etc/strongswan/ipsec.secrets — файл ключей.

 

 

Шаг 3: Настройка шлюзов безопасности

9. На этом шаге необходимо настроить профили подключения на каждом шлюзе безопасности с помощью файла конфигурации strongswan /etc/strongswan/ipsec.conf. Как настроить VPN.

Настройка профиля подключения Site 1
# cp /etc/strongswan/ipsec.conf /etc/strongswan/ipsec.conf.orig
# vi /etc/strongswan/ipsec.conf

 

 

Скопируйте и вставьте следующую конфигурацию в файл:

config setup
charondebug="all"
uniqueids=yes
conn ateway1-to-gateway2
type=tunnel
auto=start
keyexchange=ikev2
authby=secret
left=192.168.56.7
leftsubnet=10.10.1.1/24
right=192.168.56.6
rightsubnet=10.20.1.1/24
ike=aes256-sha1-modp1024!
esp=aes256-sha1!
aggressive=no
keyingtries=%forever
ikelifetime=28800s
lifetime=3600s
dpddelay=30s
dpdtimeout=120s
dpdaction=restart

 

 

Настройка профиля подключения Site 2
# cp /etc/strongswan/ipsec.conf /etc/strongswan/ipsec.conf.orig
# vi /etc/strongswan/ipsec.conf

 

 

Скопируйте и вставьте в файл следующую конфигурацию:

config setup
charondebug="all"
uniqueids=yes
conn 2gateway-to-gateway1
type=tunnel
auto=start
keyexchange=ikev2
authby=secret
left=192.168.56.6
leftsubnet=10.20.1.1/24
right=192.168.56.7
rightsubnet=10.10.1.1/24
ike=aes256-sha1-modp1024!
esp=aes256-sha1!
aggressive=no
keyingtries=%forever
ikelifetime=28800s
lifetime=3600s
dpddelay=30s
dpdtimeout=120s
dpdaction=restart

 

 

Давайте кратко опишем каждый из параметров конфигурации приведённый выше:

  • config setup — определяет общую информацию о конфигурации для IPSec, которая применяется ко всем соединениям.
  • charondebug — указывает, сколько выходных данных отладки Charon должно быть зарегистрировано.
  • uniqueids — определяет, должен ли конкретный идентификатор участника оставаться уникальным.
  • conn gateway1-to-gateway2 — используется для установки имени соединения.
  • type — определяет тип соединения.
  • Auto  — используется для объявления того, как обрабатывать соединение при запуске или перезапуске IPSec.
  • keyexchange — объявляет версию протокола IKE для использования.
  • authby — указывает, как одноранговые узлы должны аутентифицировать друг друга.
  • left — объявляет IP-адрес интерфейса публичной сети левого участника.
  • leftsubnet — объявляет личную подсеть позади левого участника.
  • right — объявляет IP-адрес общедоступного сетевого интерфейса правого участника.
  • rightsubnet — объявляет личную подсеть позади левого участника.
  • ike — используется для объявления списка используемых алгоритмов шифрования/аутентификации IKE/ISAKMP SA. Обратите внимание, что это может быть список указанный через запятую.
  • esp — указывает список алгоритмов шифрования/аутентификации ESP, которые будут использоваться для соединения.
  • aggressive — указывает, использовать ли aggressive или Main режим.
  • keyingtries — объявляет количество попыток согласования соединения.
  • ikelifetime — указывает, как долго должен быть доступным канал ключей соединения перед повторным согласованием.
  • lifetime — указывает, как долго должен длиться конкретный экземпляр соединения, от успешного согласования до истечения срока действия.
  • dpddelay — объявляет временной интервал, с которым R_U_THERE/INFORMATIONAL сообщения обмена отправляются на одноранговый узел.
  • dpdtimeout — используется для объявления интервала времени ожидания, после которого все соединения с одноранговым узлом удаляются в случае неактивности.
  • dpdaction — указывает, как использовать протокол Dead Peer Detection (DPD) для управления соединением.

 

 

Вы можете найти описание всех параметров конфигурации подсистемы strongSwan IPsec, прочитав справочную страницу ipsec.conf:

# man ipsec.conf

 

 

Шаг 4. Настройка PSK для одноранговой аутентификации

10. Затем вам нужно сгенерировать PSK, который будет использоваться узлами для аутентификации следующим образом:

# head -c 24 /dev/urandom | base64

 

Generate-PSK-Key

Как настроить VPN

 

11. Добавьте PSK в файл /etc/strongswan/ipsec.conf на обоих шлюзах безопасности:

# vi /etc/strongswan/ipsec.secrets

 

 

Введите следующие строки в файле:

#Site 1 Gateway
192.168.56.7 192.168.56.6 : PSK "0GE0dIEA0IOSYS2o22wYdicj/lN4WoCL"

#Site 1 Gateway
192.168.56.6 192.168.56.7 : PSK "0GE0dIEA0IOSYS2o22wYdicj/lN4WoCL"

 

 

12. Затем запустите службу strongsan и проверьте состояние подключений:

# systemctl restart strongswan
# strongswan status

 

 

check-restart-strongswan-and-check-connections-status - Как настроить VPN (site-to-site) на основе IPsec с помощью Strongswan на CentOS/RHEL 8

Как настроить VPN

 

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

# ping 10.20.1.1
# ping 10.10.1.1

 

ping-test

Как настроить VPN

 

14. И последнее, но не менее важное: чтобы узнать больше о командах strongswan для мануального установления/отключения соединений и многого другого, загляните на справочную страницу strongswan:

# strongswan --help

 

 

На этом пока все! Чтобы поделиться своими мыслями с нами или задать вопросы, свяжитесь с нами через форму обратной связи ниже. А чтобы узнать больше о новой утилите swanctl и новой, более гибкой структуре конфигурации обратитесь к документацию пользователя strongSwan.

 

 

Спасибо за уделенное время на прочтение статьи о том, как настроить VPN (site-to-site) на основе IPsec с помощью Strongswan на CentOS/RHEL 8!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
LinuxSecurity

Больше похожих постов

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Самое читаемое
Меню