- Как настроить VPN (site-to-site) на основе IPsec с помощью Strongswan в Debian и Ubuntu?
- Тестовая среда
- Шаг 1. Включение пересылки пакетов в ядре
- Шаг 2: Установка strongSwan в Debian и Ubuntu
- Шаг 3: Настройка шлюзов безопасности
- Шаг 4. Настройка PSK для одноранговой аутентификации
- Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
Как настроить VPN (site-to-site) на основе IPsec с помощью Strongswan в Debian и Ubuntu?
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 на обоих шлюзах безопасности:
Найдите следующие строки, раскомментируйте их и установите их значения, как показано ниже (для получения дополнительной информации прочитайте комментарии в файле):
2. Затем загрузите новые настройки, выполнив следующую команду:
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, который будет использоваться узлами с помощью следующей команды:
9. Затем добавьте PSK в файл /etc/ipsec.secrets на обоих шлюзах:
Скопируйте и вставьте следующую строку:
11. Наконец, убедитесь, что вы можете получить доступ к частным подсетям с любого шлюза безопасности, выполнив команду ping:
12. Кроме того, вы можете остановить и запустить IPSec, как показано ниже:
13. Чтобы узнать больше о командах IPSec для мануального установления соединений и многого другого, посетите справочную страницу IPSec:
На этом всё! В этой статье мы описали, как настроить IPSec VPN типа «site-to-site» с использованием strongSwan на серверах Ubuntu и Debian, где оба шлюза безопасности были настроены для аутентификации друг друга с помощью PSK. Если у вас есть какие-либо вопросы или мысли, делитесь ими с нами ниже.
Спасибо за уделенное время на прочтение статьи о том, как настроить VPN (site-to-site) на основе IPsec с помощью Strongswan в Debian и Ubuntu!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Курсы 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, подайте заявку или получите бесплатную консультацию.