Настройка ipsec на debian

Обновлено: 06.07.2024

strongSwan - это кроссплатформенная, полнофункциональная и широко используемая реализация VPN с открытым исходным кодом (виртуальная частная сеть) на базе IPsec, которая работает в Linux, FreeBSD, OS X, Windows, Android и iOS. В первую очередь это демон управления ключами, который поддерживает протоколы обмена ключами в Интернете (IKEv1 и IKEv2) для установления сопоставлений безопасности (SA) между двумя одноранговыми узлами.

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

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

Шлюз Сайта 1 (tecmint-devgateway)

Шлюз Сайта 2 (tecmint-prodgateway)

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

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

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

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


Шлюз Сайта 1 (tecmint-devgateway)

Шлюз Сайта 2 (tecmint-prodgateway)

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

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

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

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

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

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

Шлюз Сайта 1 (tecmint-devgateway)

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

Шлюз Сайта 2 (tecmint-prodgateway)

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

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

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

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

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


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

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


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

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


Мануал

Использование VPN (виртуальной частной сети) имеет множество преимуществ, некоторые из которых включают обеспечение безопасности в Интернете за счет шифрования трафика и доступа к заблокированному контенту/сайтам/веб-приложениям из любого места.

Не говоря уже о том, что VPN также помогает вам просматривать Интернет анонимно.

В этой статье вы узнаете, как быстро и автоматически настроить собственный VPN-сервер IPsec / L2TP в дистрибутивах CentOS / RHEL, Ubuntu и Debian Linux.

Требования

Свежий CentOS / RHEL или Ubuntu / Debian VPS (виртуальный частный сервер) от любого поставщика VPS.

Настройка IPsec / L2TP VPN-сервера в Linux

Чтобы настроить VPN-сервер, мы будем использовать замечательную коллекцию скриптов оболочки, созданную Lin Song, которая устанавливает Libreswan в качестве сервера IPsec и xl2tpd в качестве поставщика L2TP.

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

Сначала войдите в свой VPS через SSH, затем выполните соответствующие команды для вашего дистрибутива, чтобы настроить VPN-сервер.

По умолчанию сценарий будет генерировать для вас случайные учетные данные VPN (предварительный общий ключ (PSK) , имя пользователя VPN и пароль) и отображать их в конце установки.

Однако, если вы хотите использовать свои собственные учетные данные, сначала вам нужно сгенерировать надежный пароль и PSK, как показано далее

Затем установите эти сгенерированные значения, как описано в следующей команде, все значения ДОЛЖНЫ быть помещены в «одинарные кавычки», как показано далее:

Основные пакеты, которые будут установлены: bind-utils, net-tools, bison, flex, gcc, libcap-ng-devel, libcurl-devel, libselinux-devel, nspr-devel, nss-devel, pam-devel, xl2tpd, iptables-services, systemd-devel, fipscheck-devel, libevent-devel и fail2ban (для защиты SSH) и их соответствующие зависимости.

Затем скрипт загружает, компилирует и устанавливает Libreswan из исходного кода, включает и запускает необходимые службы.

После завершения установки будут отображены детали VPN.

Чтобы добавить VPN-подключение на мобильном устройстве, например телефоне Android, выберите «Настройки» -> «Сеть и Интернет» (или «Беспроводная связь и сети» -> «Дополнительно») -> «Дополнительно» -> VPN.

Выберите опцию, чтобы добавить новый VPN.

Тип VPN должен бытьIPSec Xauth PSK, затем используйте шлюз VPN и учетные данные, указанные выше.

Как добавить или удалить пользователя VPN на Linux

Чтобы создать нового пользователя VPN или обновить существующего пользователя VPN новым паролем, загрузите и используйте сценарий add_vpn_user.sh, используя следующую команду wget.

Чтобы удалить пользователя VPN, скачайте и используйте скрипт del_vpn_user.sh.

Как обновить Libreswan на Linux

Вы можете обновить установку Libreswan с помощью скрипта vpnupgrade.sh или vpnupgrade_centos.sh.

Обязательно отредактируйте переменную SWAN_VER на версиию которую вы хотите установить в скрипте.

Как удалить VPN-сервер на Linux

Чтобы удалить установку VPN, выполните следующие действия.

На RHEL / CentOS

На Debian / Ubuntu

Кроме того, отредактируйте /etc/iptables/rules.v4, если он существует.

Не удаляйте exit 0, если запись существует.

При желании вы можете удалить определенные файлы и каталоги, которые были созданы во время настройки VPN.

Это руководство описывает весь процесс установки VPN-сервера типа L2TP на Ваш сервер. Устанавливаем xl2tpd, для шифрования трафика по VPN-каналам по типу IPSec будем использовать актуальный на текущий момент инструмент openswan, и зависимость ppp, так как основным инструментом является Point-to-Point Protocol (PPP) для инкапсуляции PPP-кадров, которые будут передаваться внутри созданных L2TP-туннелей.

Настройка IPSec при помощи Openswan

В файл "/etc/ipsec.conf" скопируйте следующее:

Проверьте ещё раз, что вы следуете инструкциям-комментариям в файле ipsec.conf, также удостоверьтесь, что названия секций "config setup" и "conn l2tp-psk" располагаются вплотную к левой стороне (с новой строки) без пробелов, в то время как весь остальной текст должен иметь ровно 8 пробелов (односимвольных отступов) вправо.

В файл "/etc/ipsec.secrets" скопируйте следующее:

Поменяйте A.B.C.D на IP-адрес вашего сервера, на котором запущены ipsec / openswan

Запустите службу IPSec при помощи следующей команды

Затем настоятельно рекомендуется проверить состояние службы IPSec командой

у вас не должны отображаться ошибки на данном этапе настройки!

Создаём файл с именем "ipsec.vpn" в каталоге "/etc/init.d/"

  • Внимание! Если вы используете пул (диапазон) локальных IPv4-адресов не "10.152.2", то замените этот IP-адрес на актуальный для вашей инфраструктуры.

Затем устанавливаем права на выполнение:

Отключаем init-скрипт по-умолчанию, который был установлен при установке пакета openswan

И включаем наш чуть ранее созданный скрипт как init-скрипт по-умолчанию

Настройка L2TP

В файл "/etc/xl2tpd/xl2tpd.conf" скопируйте следующее

  1. ip range = диапазон IP-адресов для выдачи клиентам при их подключении
  2. local ip = IP-адрес сервера VPN. Значение должно находиться за пределами указанного диапазона параметра "ip range".
  3. refuse pap = отвергать аутентификацию методом PAP
  4. ppp debug = "yes" для тестировки и "no" для production

Выбираем устойчивую к подбору паролей строку для аутентификации по схеме "Вызов-Ответ". Длина строки представляющей из себя пароль, в идеале, должна превышать 16 символов, что, вероятно, потребует достаточно много времени на подбор пароля (символов данной строки), и обеспечит достаточную безопасность. Обратите внимание, что требований к минимальной длине строки не существует. Файл "/etc/xl2tpd/l2tp-secrets" отредактируйте следующим образом:

В файл "/etc/ppp/options.xl2tpd" скопируйте следующее:

Здесь вы можете перечислить DNS-сервера, которые используются внутри существующей вашей локальной сети, этот список серверов DNS принудительно будет отправлен VPN-клиенту при подключении. Если вам требуется добавить несколько DNS-серверов, то просто добавьте несколько соответствующих строчек.

Значение данного параметра используется в файле аутентификации PPP (см. ниже).

Добавление пользователей

В файл "/etc/ppp/chap-secrets" скопируйте:

  1. client = username (имя пользователя, логин) для VPN-клиента
  2. server = имя сервера, которое мы указали в файле "ppp.options" для xl2tpd; это привязка, предназначено для указания различных параметров настройки PPP (PPP options) на каждый уникальный username (логин) VPN-клиента
  3. secret = password (пароль к логину) для VPN-клиента
  4. IP Address = оставьте значение * для любого IPv4-адреса у источника инициирующего подключение (VPN-клиента) к VPN-серверу или укажите IPv4-адреса с которых будет доступна (срабатывать) аутентификация когда пользователь попытается подключиться как VPN-клиент; в случае если VPN-клиент попытается выполнить аутентификацию с определённым IP-адресом вне заданного диапазона IPv4, то в аутентификации ему под данным username (логином) будет отказано.

Примечание: Вы можете добавлять столько пользователей сколько захотите. Вместо пробелов рекомендуется использовать для наглядности символы табуляции - клавиша "Tab"

Передача IPv4-пакетов

в файл "/etc/sysctl.conf"

Инициализировать новые отредактированные значения параметров из файла "/etc/sysctl.conf"

Запуск VPN

Сервер VPN запускается при помощи совместной работы двух служб - шифрование и демон слушающий подключения от клиентов


Мануал

Вы пытались настроить свой собственный VPN-сервер IPsec всего за несколько минут, используя IPsec / L2TP и Cisco IPsec для CentOS, Ubuntu и Debian Linux?

Я покажу вам самый простой способ запустить и запустить ваш VPN-сервер за считанные минуты, все, что вам нужно сделать, это предоставить свои собственные учетные данные VPN и позволить скриптам справляться с остальными.

IPsec VPN гарантирует, что весь сетевой трафик зашифрован, чтобы предотвратить перехват между вами и VPN-сервером.

Это очень рекомендуемая настройка, особенно для парней, использующих незащищенные сети для доступа к Интернету, например, в аэропортах, например, в кафе, гостиничных номерах e.y.c.

Настройка среды

Эта настройка поддерживается в следующих операционных системах:

  • Ubuntu 18.04 (Bionic), 16.04 (Xenial) или 14.04 (Trusty)
  • Debian 9 (Stretch) или 8 (Jessie)
  • CentOS 7 (x86_64)
  • CentOS 6 (x86_64)

Рекомендуется использовать только что установленный сервер с обновлениями.

Обновление Ubuntu / Debian

Обновление CentOS 7 / CentOS 6

Это обеспечит обновление всех пакетов на вашем Сервере.

Настройка IPSec VPN-сервера с L2TP и Cisco IPsec на Ubuntu / CentOS / Debian

Мы будем использовать скрипт, облегчающий развертывание IPSec VPN-сервера с L2TP и Cisco IPsec в дистрибутивах Ubuntu / CentOS / Debian Linux.

Этот скрипт был написан Лин Сонгом.

Настройка IPsec VPN-сервера на Ubuntu 18.04 / Ubuntu 16.04 / Debian

Перед запуском скрипта необходимо обновить системные пакеты.

Это полностью автоматизированная настройка сервера IPsec VPN, без ввода пользователем чего-либо.

Настройка IPsec VPN-сервера на CentOS 7 / CentOS 6

Для сервера CentOS запустите следующую команду

Ваши данные входа в систему VPN будут генерироваться случайным образом и отображаться на экране по завершении.

Если вы хотите определить свои собственные учетные данные VPN, отредактируйте vpnsetup.sh перед выполнением.

Задайте значения внутри одинарных кавычек

Включить службу ipsec для запуска при загрузке системы

Это включает оптимизацию sysctl.conf для повышения производительности.

Управление пользователями VPN

По умолчанию создается учетная запись пользователя для входа в систему VPN.

Если вы хотите добавить, отредактировать или удалить пользователей, прочитайте руководство пользователя IPSec VPN.

IPsec PSK (pre-shared key) сохраняется в ./etc/ipsec.secrets

Все пользователи VPN используют один и тот же IPsec PSK.

Вы можете установить новый, изменив строку:

Для IPsec / L2TP пользователи VPN указаны в /etc/ppp/chap-secrets. Формат этого файла:

Для IPsec / XAuth («Cisco IPsec») пользователи VPN указаны в /etc/ipsec.d/passwd. Формат этого файла:

Пароли в этом файле соленые и хешированные.

Этот этап может быть осуществлен с использованием, например, утилита openssl:

Наконец, перезапустите службы, если вы перешли на новый PSK.

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

Подключение компьютера к VPN

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

Читайте также: