Маркетплейс: IPsec
IPsec представляет собой развернутый на виртуальной машине VPN сервис.
Он предоставляет безопасное VPN-соединение по протоколам IPsec/L2TP и IPsec/IKEv2.
Приложение включает следующее ПО:
Название | Версия |
xl2tpd | 1.3.18 |
ufw | 0.36.2 |
ppp | 2.4.9 |
Libreswan | 5.3 |
Fail2ban | 1.1.0 |
Что делает это приложение:
- Поднимает безопасное VPN-соединение по протоколам IPsec/L2TP и IPsec/IKEv2.
- Автоматически настраивает пользователя для подключения.
- Автоматически генерирует сертификаты для IPsec/IKEv2 подключения.
- Устанавливает скрипты управления пользователями.
- Записывает реквизиты в файл /root/.secrets
Дополнительная информация:
IPsec сервис будет доступен сразу после установки приложения.
Реквизиты для IPsec/L2TP подключения находятся в файле /root/.secrets
Сертификаты для IPsec/IKEv2 лежат в /root/
Подключение через IPsec/L2TP
Данные для подключения
- Тип VPN: L2TP/IPSec PSK (Pre-Shared Key)
- Сервер: IP вашего сервера
- PSK ключ: (Автоматически сгенерированный пользователь из файла /root/.secrets.
В дальнейшем из файла /etc/ppp/chap-secrets) - Логин/пароль: (Автоматически сгенерированный пользователь из файла /root/.secrets.
В дальнейшем из файла /etc/ppp/chap-secrets)
Windows
-
Пуск → Параметры → Сеть и Интернет → VPN
-
Добавить VPN-подключение
-
Настройки:
- Поставщик: "Встроенное в Windows"
- Имя подключения: Любое название
- Имя или адрес сервера: IP вашего сервера
- Тип VPN: "L2TP/IPsec с предварительным ключом"
- Ключ: Ваш PSK ключ
-
Сохранить → Подключиться
Важно!
При ошибке подключения необходимо внести разовое изменение в реестр Windows, поскольку VPN-сервер и/или клиент находятся за NAT (например, за домашним маршрутизатором).
Выполните следующую команду в командной строке, запущенной от имени администратора. После завершения необходимо перезагрузить компьютер.
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 0x2 /f
Хотя это и не распространено, на некоторых системах Windows шифрование IPsec отключено, что приводит к сбою соединения.
Чтобы включить его снова, выполните следующую команду и перезагрузите компьютер.
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\RasMan\Parameters /v ProhibitIpSec /t REG_DWORD /d 0x0 /f
macOS
-
Системные настройки → Сеть → [+] → VPN
-
Выберите: "L2TP через IPSec"
-
Настройки:
- Адрес сервера: IP вашего сервера
- Имя учётной записи: Ваш логин
-
Настройки аутентификации:
- Пароль: Ваш пароль
- Общий ключ: Ваш PSK ключ
-
Подключить
Android (обычно поддерживает только IKEv2)
-
Настройки → Сеть и интернет → VPN → [+]
-
Заполните:
- Имя: Любое название
- Тип: L2TP/IPSec PSK
- Адрес сервера: IP вашего сервера
- IPSec идентификатор: Оставьте пустым
- IPSec ключ: Ваш PSK ключ
- Логин: Ваш логин
- Пароль: Ваш пароль
iOS
-
Настройки → Основные → VPN → Добавить конфигурацию VPN
-
Тип: L2TP
-
Заполните:
- Описание: Любое название
- Сервер: IP вашего сервера
- Учётная запись: Ваш логин
- Пароль: Ваш пароль
- Общий ключ: Ваш PSK ключ
-
Включите: "Шифрование L2TP"
Подключение через IPsec/IKEv2
Данные для подключения
- Тип VPN: IKEv2
- Сервер: IP вашего сервера
-
Логин/пароль: (Автоматически сгенерированный пользователь из файла /root/.secrets.
В дальнейшем из файла /etc/ppp/chap-secrets) -
Сертификаты:
/root/user_name.mobileconfig
/root/user_name.p12
/root/user_name.sswan
Windows
-
Импорт сертификата:
- Скопируйте .p12 файл на компьютер
- ПКМ по файлу → Установить сертификат
- "Текущий пользователь" → "Поместить все сертификаты в следующее хранилище" → "Доверенные корневые центры сертификации"
Пользователи Windows 8, 10 и 11+ могут автоматически импортировать конфигурацию IKEv2 следующим образом:
- Скопируйте сгенерированный файл .p12 на ваш компьютер.
- Щелкните правой кнопкой мыши по файлу ikev2_config_import.cmd и сохраните этот вспомогательный скрипт в ту же папку, где лежит файл .p12.
- Щелкните правой кнопкой мыши по сохраненному скрипту, выберите «Свойства». Внизу нажмите «Разблокировать», затем «ОК».
- Щелкните правой кнопкой мыши по сохраненному скрипту, выберите «Запуск от имени администратора» и следуйте инструкциям.
-
Создание подключения вручную:
- Параметры → Сеть и Интернет → VPN → Добавить
- Поставщик: "Встроенное в Windows"
- Имя подключения: Любое название
- Имя или адрес сервера: IP вашего сервера
- Тип VPN: IKEv2
- Тип данных для входа: Имя пользователя и пароль
- Логин/пароль: Ваши данные
Важно!
Для избежания ошибок подключения и ошибок групповой политики советуем использовать вариант с автоматической установкой.
macOS
-
Импорт сертификата:
- Двойной клик на файл .mobileconfig
- Keychain Access → Добавить
- В системной keychain, пометка как "Доверенный"
-
Подключение:
- Системные настройки → Сеть → [+] → VPN
- Интерфейс: "IKEv2"
- Адрес сервера: IP вашего сервера
- Удалённый ID: IP вашего сервера
- Локальный ID: оставить пустым
- Аутентификация: Логин/пароль
iOS
Простой способ:
-
Отправьте файл .mobileconfig на телефон
-
На телефоне: Настройки → Профиль → Установить
-
Ввести пароль устройства → Установить
Ручная настройка:
-
Настройки → Основные → VPN → Добавить конфигурацию VPN
-
Тип: IKEv2
-
Заполните:
- Описание: Любое название
- Сервер: IP вашего сервера
- Удалённый ID: IP вашего сервера
- Локальный ID: оставить пустым
- Аутентификация: Логин/пароль
- Логин/пароль: Ваши данные
Android
-
Установите приложение: StrongSwan VPN Client
-
Импорт сертификата:
- Скопируйте файл .sswan на устройство
- В приложении: Сертификаты → Импорт → Выберите файл
-
Создание профиля:
- Добавить профиль VPN
- Сервер: IP вашего сервера
- Имя пользователя/пароль: ваши данные
- Сертификат CA: выберите импортированный
Шаги после развертывания приложения
IPsec сервис будет доступен сразу после установки приложения с автоматически созданным пользователем vpnuser.
Ниже описаны основные способы управления клиентами/пользователями:
Добавление клиентов
# Добавить клиента (автоматически создаст сертификаты) sudo ikev2.sh --addclient client_name
Просмотр клиентов
# Список всех клиентов sudo ikev2.sh --listclients
Удаление клиентов
# Отозвать сертификат клиента sudo ikev2.sh --revokeclient client_name # Полное удаление клиента sudo ikev2.sh --deleteclient client_name
Управление пользователями L2TP
# Добавление пользователей sudo addvpnuser.sh # Удаление пользователей sudo delvpnuser.sh
Информация для ручного управления
- L2TP пользователи: /etc/ppp/chap-secrets
- IPsec Pre-Shared Key: /etc/ipsec.secrets
- Сертификаты IKEv2: /etc/ipsec.d (база NSS)
# Перезапуск всех сервисов после внесения ручных изменений sudo service ipsec restart sudo service xl2tpd restart
Документация на английском языке доступна по ссылке: https://github.com/hwdsl2/setup-ipsec-vpn#configure-ipsec-vpn-clients
Желаем Вам приятной работы!