Как настроить VPN (site-to-site) на основе IPsec с помощью Strongswan в Debian и Ubuntu

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

Рубрики:

Linux, Microsoft, Security

Метки:

, , ,

Strongswan — это кроссплатформенная, полнофункциональная и широко используемая реализация VPN  с открытым исходным кодом, работающая на Linux, FreeBSD, OS X, Windows, Android и iOS. Это прежде всего демон управления ключами, который поддерживает протоколы обмена ключами в Интернете (IKEv1 и IKEv2) для установления security associations (SA) между двумя узлами. Но как настроить VPN (site-to-site) на основе IPsec с помощью Strongswan в Debian и Ubuntu?

В этой статье мы опишем, как настроить межсетевые шлюзы IPSec VPN с использованием StrongSwan на серверах Ubuntu и Debian. Под сервером мы подразумеваем, что у каждого шлюза безопасности есть подсеть. Кроме того, одноранговые узлы будут аутентифицировать друг друга, используя предварительный общий ключ (PSK).

 

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

Не забудьте заменить следующие IP-адреса реальными IP-адресами для настройки среды:

Site 1 Gateway (sedicomm-devgateway)

 

Site 2 Gateway (sedicomm-prodgateway)

 

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

1. Во-первых, вам нужно настроить ядро ​​для включения пересылки пакетов, добавив соответствующие системные переменные в файл конфигурации /etc/sysctl.conf на обоих шлюзах безопасности:

 

Найдите следующие строки, раскомментируйте их и установите их значения, как показано ниже (для получения дополнительной информации прочитайте комментарии в файле):

 

vpn

 

2. Затем загрузите новые настройки, выполнив следующую команду:

 

vpn

 

3. Если у вас включена служба брандмауэра UFW, вам нужно добавить следующие правила в файл конфигурации /etc/ufw/before.rules непосредственно перед правилами фильтрации в любом из шлюзов безопасности:

Site 1 Gateway (sedicomm-devgateway)

 

Site 2 Gateway (sedicomm-prodgateway)

 

4. После добавления правил брандмауэра примените новые изменения, перезапустив UFW, как показано ниже:

 

Шаг 2: Установка strongSwan в Debian и Ubuntu

5. Обновите кэш пакетов на обоих шлюзах безопасности и установите пакет strongswan с помощью диспетчера пакетов APT:

 

6. После завершения установки сценарий установщика запустит службу strongswan и включит её автоматический запуск при загрузке системы. Вы можете проверить его статус и узнать, включен ли он, используя следующую команду:

 

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

7. Далее необходимо настроить шлюзы безопасности с помощью файла конфигурации /etc/ipsec.conf:

Site 1 Gateway (sedicomm-devgateway)

 

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

 

 

Site 2 Gateway (sedicomm-prodgateway)

 

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

 

Вот значение каждого параметра конфигурации:

  • config setup — указывает общую информацию о конфигурации для IPSec, которая применяется ко всем соединениям.
  • charondebug — определяет, сколько выходных данных отладки Charon должно быть зарегистрировано.
  • uniqueids — указывает, должен ли конкретный идентификатор оставаться уникальным.
  • conn prodgateway-to-devgateway — определяет имя соединения.
  • 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) для управления соединением.

 

Для получения дополнительной информации о вышеуказанных параметрах конфигурации прочитайте справочную страницу ipsec.conf, выполнив команду:

 

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

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

 

vpn

 

9. Затем добавьте PSK в файл /etc/ipsec.secrets на обоих шлюзах:

 

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

 

10. Перезапустите программу IPSec и проверьте её состояние для просмотра подключений:

 

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

 

12. Кроме того, вы можете остановить и запустить IPSec, как показано ниже:

 

13. Чтобы узнать больше о командах IPSec для мануального установления соединений и многого другого, посетите справочную страницу IPSec:

 

На этом всё! В этой статье мы описали, как настроить IPSec VPN типа «site-to-site» с использованием strongSwan на серверах Ubuntu и Debian, где оба шлюза безопасности были настроены для аутентификации друг друга с помощью PSK. Если у вас есть какие-либо вопросы или мысли, делитесь ими с нами ниже.

 

 

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

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

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

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

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, Microsoft, Security

Метки:

, , ,

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

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

  • У вас сбилась разметка в шаг 4, п. 8. А так статья хорошая, хоть и переводная.

    Ответить
  • ничего не понятно
    5 января 2023 16:55

    левый ip правый ip ага все понял от души

    Ответить
  • RTR-R / RTR-L
    apt install libreswan
    nano /etc/ipsec.conf
    RTR-L
    config setup

    conn vpn
    auto=start
    authby=secret
    type=tunnel
    ike=aes128-sha2;dh14
    ikev2=no
    phase2=esp
    pfs=no
    encapsulation=yes
    leftsubnet=0.0.0.0/0
    rightsubnet=0.0.0.0/0
    left=4.4.4.100
    right=5.5.5.100
    rightid=5.5.5.100
    mark=5/0oxffffffff (их 8 F)
    vti-inetrface=vti01
    vti-routing=no
    vti-shared=yes
    leftvti=192.168.20.1/30
    rightvti=192.168.20.2/30
    nano /etc/ipsec.d/test.secrets
    %any %any : PSK “P@ssw0rd123#”
    systemctl enable ipsec
    systemctl restart ipsec
    RTR-R
    config setup
    conn vpn
    auto=start
    authby=secret
    type=tunnel
    ike=aes128-sha2;dh14
    ikev2=no
    phase2=esp
    pfs=no
    encapsulation=yes
    leftsubnet=0.0.0.0/0
    rightsubnet=0.0.0.0/0
    left=4.4.4.100
    leftid=4.4.4.100
    right=5.5.5.100
    mark=5/0oxffffffff (их 8 F)
    vti-inetrface=vti01
    vti-routing=no
    vti-shared=yes
    leftvti=192.168.20.1/30
    rightvti=192.168.20.2/30
    nano /etc/ipsec.d/test.secrets
    %any %any : PSK “P@ssw0rd123#”
    systemctl enable ipsec
    systemctl restart ipsec

    Ответить
  • Рамиль
    13 мая 2023 13:33

    Кто знает, как полдключиться к strongswan с винды как Machine Certificate?
    Что только не перепробовал, винда не видит сертификат. Как его праввильно устанавливать?
    А вто же время User certificate работает без проблем как EAP-TLS

    Ответить
  • Здравствуйте, часто встречаю подобный пример и возникает вопрос зачем здесь NAT ведь вы построили s2s ipsec пусть маршрутизация работает, зачем все запросы пришедшие из сети sedicomm-devgateway в сеть sedicomm-prodgateway NAT’ить в адрес шлюза sedicomm-prodgateway?

    Ответить
  • >>/etc/strongswan/ipsec.conf

    conn gre
    auto=start
    type=tunnel
    authby=secret
    left=
    right=
    leftsubnet=0.0.0.0/0
    rightsubnet=0.0.0.0/0
    leftprotoport=gre
    rightprotoport=gre
    ike=aes256-sha2_256-modp1024!
    esp=aes256_sha2_256!

    >>/etc/strongswan/ipsec.secrets

    : PSK «password»

    systemctl enable —now ipsec.service

    Ответить

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

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

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


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню