Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Setup IPsec VPN — Автоматизированная настройка IPsec VPN-сервера с поддержкой IPsec/L2TP, Cisco IPsec и IKEv2. Включает вспомогательные скрипты для управления пользователями и сертификатами, а также создаёт профили для клиентов iOS, macOS, Android и Windows. | Kitploit
Инструменты/GitLabGitLab/hwdsl2/setup-ipsec-vpn
Сканеры уязвимостейИнструменты шифрования/дешифрованияАудит конфигурацииСетевая безопасность
GitLabhwdsl2/setup-ipsec-vpn

Setup IPsec VPN

Автоматизированная настройка IPsec VPN-сервера с поддержкой IPsec/L2TP, Cisco IPsec и IKEv2. Включает вспомогательные скрипты для управления пользователями и сертификатами, а также создаёт профили для клиентов iOS, macOS, Android и Windows.

Репозиторий
35 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

English | 简体中文 | 繁體中文 | 日本語 | Русский

Скрипты автоматической настройки сервера IPsec VPN

Статус сборки Звезды GitHub Звезды Docker Загрузки Docker

Разверните собственный сервер IPsec VPN всего за несколько минут с поддержкой IPsec/L2TP, Cisco IPsec и IKEv2.

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

Мы будем использовать Libreswan в качестве сервера IPsec и xl2tpd в качестве поставщика L2TP.

Возможности:

  • Полностью автоматическая настройка сервера IPsec VPN, ввод пользователя не требуется
  • Поддержка IKEv2 с мощными и быстрыми шифрами (например, AES-GCM)
  • Генерация профилей VPN для автоматической настройки устройств iOS, macOS и Android
  • Поддержка Windows, macOS, iOS, Android, Chrome OS и Linux в качестве VPN-клиентов
  • Включает вспомогательные скрипты для управления пользователями VPN и сертификатами

Также доступно:

  • Docker VPN: IPsec VPN, WireGuard, OpenVPN, Headscale
  • AI: Стек ИИ на своём сервере для локальных LLM, чата, RAG, голосовых функций и инструментов ИИ
  • Книги: Privacy Tools in the Age of AI, Build Your Own VPN Server

Быстрый старт

Сначала подготовьте ваш Linux-сервер* с установленной поддерживаемой ОС.

Используйте эту однострочную команду для настройки сервера IPsec VPN:

root@kitploit:~
wget https://get.vpnsetup.net -O vpn.sh && sudo sh vpn.sh

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

[!TIP] При желании вы можете установить WireGuard, OpenVPN и/или Headscale на тот же сервер.

Посмотреть работу скрипта (запись терминала).

Примечание: Эта запись предназначена только для демонстрационных целей. Учетные данные VPN в этой записи НЕ являются действительными.

Нажмите здесь, если не удаётся скачать.

Вы также можете использовать curl для загрузки:

root@kitploit:~
curl -fsSL https://get.vpnsetup.net -o vpn.sh && sudo sh vpn.sh

Альтернативные URL для установки:

root@kitploit:~
https://github.com/hwdsl2/setup-ipsec-vpn/raw/master/vpnsetup.sh
https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/raw/master/vpnsetup.sh

Если вы не можете скачать файл, откройте vpnsetup.sh, затем нажмите кнопку Raw справа. Нажмите Ctrl/Cmd+A, чтобы выделить всё, Ctrl/Cmd+C, чтобы скопировать, затем вставьте в ваш любимый редактор.

Также доступен готовый образ Docker для IPsec VPN. Для других вариантов и настройки клиентов прочитайте разделы ниже.

* Облачный сервер, виртуальный частный сервер (VPS) или выделенный сервер.

Сообщество

  • 📬 Подписаться на обновления проектов (1–2 письма в месяц) — получить бесплатные руководства по развёртыванию VPN и AI (PDF, на английском)
  • 💬 Присоединяйтесь к сообществу r/selfhostedstack для обсуждений и демонстрации проектов
  • ⭐ Поставьте звезду репозиторию, если он оказался вам полезен — это поможет другим пользователям его найти.

Требования

Облачный сервер, виртуальный частный сервер (VPS) или выделенный сервер с установленной системой:

  • Ubuntu 26.04, 24.04 или 22.04
  • Debian 13, 12 или 11
  • CentOS Stream 10 или 9
  • Rocky Linux или AlmaLinux
  • Oracle Linux
Другие поддерживаемые дистрибутивы Linux.
  • Raspberry Pi OS (Raspbian)
  • Kali Linux
  • Alpine Linux
  • Red Hat Enterprise Linux (RHEL)

Это также включает виртуальные машины Linux в публичных облаках, таких как DigitalOcean, Vultr, Linode, OVH и Microsoft Azure. Пользователи публичных облаков также могут выполнить развёртывание с помощью пользовательских данных.

Быстрое развёртывание в:

Deploy to Linode  Deploy to AWS  Deploy to Azure

» Я хочу запустить собственный VPN, но у меня нет сервера для этого

Для серверов с внешним файрволом (например, EC2/GCE) откройте UDP-порты 500 и 4500 для VPN.

Также доступен готовый образ Docker для IPsec VPN. Продвинутые пользователи могут установить его на Raspberry Pi. [1] [2]

[!WARNING] НЕ запускайте эти скрипты на вашем ПК или Mac! Их следует использовать только на сервере!

Установка

Сначала обновите ваш сервер с помощью sudo apt-get update && sudo apt-get dist-upgrade (Ubuntu/Debian) или sudo yum update, затем перезагрузите систему. Это необязательно, но рекомендуется.

Чтобы установить VPN, выберите один из следующих вариантов:

Вариант 1: Позвольте скрипту сгенерировать случайные учетные данные VPN (они будут показаны после завершения).

root@kitploit:~
wget https://get.vpnsetup.net -O vpn.sh && sudo sh vpn.sh

Вариант 2: Отредактируйте скрипт и укажите собственные учетные данные VPN.

root@kitploit:~
wget https://get.vpnsetup.net -O vpn.sh
nano -w vpn.sh
[Замените на собственные значения: YOUR_IPSEC_PSK, YOUR_USERNAME и YOUR_PASSWORD]
sudo sh vpn.sh

[!NOTE] Безопасный IPsec PSK должен состоять как минимум из 20 случайных символов.

Вариант 3: Определите учетные данные VPN как переменные окружения.

root@kitploit:~
# Все значения ДОЛЖНЫ быть заключены в 'одинарные кавычки'
# НЕ используйте внутри значений следующие специальные символы: \ " '
wget https://get.vpnsetup.net -O vpn.sh
sudo VPN_IPSEC_PSK='your_ipsec_pre_shared_key' \
VPN_USER='your_vpn_username' \
VPN_PASSWORD='your_vpn_password' \
sh vpn.sh

[!TIP] При желании вы можете установить WireGuard, OpenVPN и/или Headscale на том же сервере. Если ваш сервер работает на CentOS Stream, Rocky Linux или AlmaLinux, сначала установите OpenVPN/WireGuard, а затем установите IPsec VPN.

Нажмите здесь, если не удаётся скачать.

Вы также можете использовать curl для загрузки. Например:

root@kitploit:~
curl -fL https://get.vpnsetup.net -o vpn.sh
sudo sh vpn.sh

Альтернативные URL для установки:

root@kitploit:~
https://github.com/hwdsl2/setup-ipsec-vpn/raw/master/vpnsetup.sh
https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/raw/master/vpnsetup.sh

Если вы не можете скачать файл, откройте vpnsetup.sh, затем нажмите кнопку Raw справа. Нажмите Ctrl/Cmd+A, чтобы выделить всё, Ctrl/Cmd+C, чтобы скопировать, затем вставьте в ваш любимый редактор.

Я хочу установить более старую версию Libreswan 4.

Обычно рекомендуется использовать последнюю версию Libreswan 5, которая является версией по умолчанию в этом проекте. Однако если вы хотите установить более старую версию Libreswan 4:

root@kitploit:~
wget https://get.vpnsetup.net -O vpn.sh
sudo VPN_SWAN_VER=4.15 sh vpn.sh

Примечание: Если версия Libreswan 5 уже установлена, возможно, вам сначала потребуется удалить VPN, прежде чем устанавливать Libreswan версии 4. В качестве альтернативы можно скачать скрипт обновления, отредактировать его, указав SWAN_VER=4.15, затем запустить скрипт.

Настройка параметров VPN

Использование альтернативных DNS-серверов

По умолчанию клиенты настроены использовать Google Public DNS при активном VPN. При установке VPN вы можете при желании указать собственные DNS-серверы для всех режимов VPN. Пример:

root@kitploit:~
sudo VPN_DNS_SRV1=1.1.1.1 VPN_DNS_SRV2=1.0.0.1 sh vpn.sh

Используйте VPN_DNS_SRV1 для указания основного DNS-сервера и VPN_DNS_SRV2 для указания резервного DNS-сервера (необязательно).

Ниже приведён список некоторых популярных публичных DNS-провайдеров для справки.

Если вам нужно изменить DNS-серверы после настройки VPN, см. раздел Расширенное использование.

[!NOTE] Если IKEv2 уже настроен на сервере, переменные выше не влияют на режим IKEv2. В этом случае для настройки параметров IKEv2, таких как DNS-серверы, вы можете сначала удалить IKEv2, а затем снова настроить его с помощью sudo ikev2.sh.

Настройка параметров IKEv2

При установке VPN продвинутые пользователи могут при желании настроить параметры IKEv2.

Вариант 1: Пропустить IKEv2 во время настройки VPN, затем настроить IKEv2 с пользовательскими параметрами.

При установке VPN вы можете пропустить IKEv2 и установить только режимы IPsec/L2TP и IPsec/XAuth («Cisco IPsec»):

root@kitploit:~
sudo VPN_SKIP_IKEV2=yes sh vpn.sh

(Необязательно) Если вы хотите указать пользовательские DNS-серверы для клиентов VPN, определите VPN_DNS_SRV1 и при необходимости VPN_DNS_SRV2. Подробности смотрите в разделе Использование альтернативных DNS-серверов.

После этого запустите вспомогательный скрипт IKEv2, чтобы настроить IKEv2 в интерактивном режиме с пользовательскими параметрами:

root@kitploit:~
sudo ikev2.sh

Вы можете настроить следующие параметры: DNS-имя VPN-сервера, имя и срок действия первого клиента, DNS-сервер для VPN-клиентов и необходимость защиты файлов конфигурации клиента паролем.

Примечание: Переменная VPN_SKIP_IKEV2 не действует, если IKEv2 уже настроен на сервере. В этом случае для настройки параметров IKEv2 вы можете сначала удалить IKEv2, а затем снова настроить его с помощью sudo ikev2.sh.

Вариант 2: Настройка параметров IKEv2 с помощью переменных окружения.

При установке VPN вы можете при желании указать DNS-имя для адреса сервера IKEv2. DNS-имя должно быть полным доменным именем (FQDN). Пример:

root@kitploit:~
sudo VPN_DNS_NAME='vpn.example.com' sh vpn.sh

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

root@kitploit:~
sudo VPN_CLIENT_NAME='your_client_name' sh vpn.sh

По умолчанию клиенты используют Google Public DNS при активном VPN. Вы можете указать собственные DNS-серверы для всех режимов VPN. Пример:

root@kitploit:~
sudo VPN_DNS_SRV1=1.1.1.1 VPN_DNS_SRV2=1.0.0.1 sh vpn.sh

По умолчанию пароль не требуется при импорте конфигурации клиента IKEv2. Вы можете защитить файлы конфигурации клиента случайным паролем.

root@kitploit:~
sudo VPN_PROTECT_CONFIG=yes sh vpn.sh
Для справки: список параметров IKEv1 и IKEv2.

Следующие шаги

Прочитать на других языках: English, 简体中文, 繁體中文, 日本語, Русский.

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

Настройка клиентов IKEv2 VPN (рекомендуется)

Настройка клиентов IPsec/L2TP VPN

Настройка клиентов IPsec/XAuth («Cisco IPsec»)

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

Наслаждайтесь собственным VPN! ✨🎉🚀✨

Важные замечания

Пользователи Windows: для режима IPsec/L2TP требуется одноразовое изменение реестра, если VPN-сервер или клиент находится за NAT (например, домашним роутером).

Одна и та же учетная запись VPN может использоваться на нескольких ваших устройствах. Однако из-за ограничения IPsec/L2TP, если вы хотите подключить несколько устройств из-за одного NAT (например, домашнего роутера), необходимо использовать режим IKEv2 или IPsec/XAuth. Чтобы просмотреть или изменить учетные записи пользователей VPN, см. Управление пользователями VPN.

Для серверов с внешним файрволом (например, EC2/GCE) откройте UDP-порты 500 и 4500 для VPN. Пользователям Aliyun см. #433.

Клиенты настроены использовать Google Public DNS при активном VPN. Если вы предпочитаете другого DNS-провайдера, см. Расширенное использование.

Использование поддержки ядра может повысить производительность IPsec/L2TP. Она доступна на всех поддерживаемых ОС. Пользователям Ubuntu следует установить пакет linux-modules-extra-$(uname -r) и выполнить service xl2tpd restart.

Скрипты создадут резервные копии существующих файлов конфигурации перед внесением изменений, с суффиксом .old-date-time.

Обновление Libreswan

Используйте эту однострочную команду для обновления Libreswan (список изменений | объявления) на вашем VPN-сервере.

root@kitploit:~
wget https://get.vpnsetup.net/upg -O vpnup.sh && sudo sh vpnup.sh
Нажмите здесь, если не удаётся скачать.

Вы также можете использовать curl для загрузки:

root@kitploit:~
curl -fsSL https://get.vpnsetup.net/upg -o vpnup.sh && sudo sh vpnup.sh

Альтернативные URL для обновления:

root@kitploit:~
https://github.com/hwdsl2/setup-ipsec-vpn/raw/master/extras/vpnupgrade.sh
https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/raw/master/extras/vpnupgrade.sh

Если вы не можете скачать файл, откройте vpnupgrade.sh, затем нажмите кнопку Raw справа. Нажмите Ctrl/Cmd+A, чтобы выделить всё, Ctrl/Cmd+C, чтобы скопировать, затем вставьте в ваш любимый редактор.

Последняя поддерживаемая версия Libreswan — 5.3.1. Проверить установленную версию: ipsec --version.

Примечание: xl2tpd можно обновить с помощью менеджера пакетов вашей системы, например apt-get в Ubuntu/Debian.

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

См. Управление пользователями VPN (на английском языке).

  • Управление пользователями VPN с помощью вспомогательных скриптов
  • Просмотр пользователей VPN
  • Просмотр или обновление IPsec PSK
  • Ручное управление пользователями VPN

Расширенное использование

См. Расширенное использование (на английском языке).

  • Использование альтернативных DNS-серверов
  • Изменения DNS-имени и IP-адреса сервера
  • VPN только с IKEv2
  • Включить совершенную прямую секретность IKEv2
  • Внутренние IP-адреса VPN и трафик
  • Указание публичного IP-адреса VPN-сервера
  • Настройка подсетей VPN
  • Поддержка IPv6
  • Переадресация портов клиентам VPN
  • Раздельная маршрутизация (Split tunneling)
  • Доступ к подсети VPN-сервера
  • Доступ к клиентам VPN из подсети сервера
  • Изменение правил IPTables
  • Развёртывание алгоритма управления перегрузкой Google BBR

Удаление VPN

Чтобы удалить IPsec VPN, запустите вспомогательный скрипт:

[!CAUTION] Этот вспомогательный скрипт удалит IPsec VPN с вашего сервера. Вся конфигурация VPN будет безвозвратно удалена, а Libreswan и xl2tpd будут удалены. Это нельзя отменить!

root@kitploit:~
wget https://get.vpnsetup.net/unst -O unst.sh && sudo bash unst.sh
Нажмите здесь, если не удаётся скачать.

Вы также можете использовать curl для загрузки:

root@kitploit:~
curl -fsSL https://get.vpnsetup.net/unst -o unst.sh && sudo bash unst.sh

Альтернативные URL скрипта:

root@kitploit:~
https://github.com/hwdsl2/setup-ipsec-vpn/raw/master/extras/vpnuninstall.sh
https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/raw/master/extras/vpnuninstall.sh

Для получения дополнительной информации см. Удаление VPN.

Обратная связь и вопросы

  • Есть предложение по улучшению этого проекта? Создайте Предложить улучшение. Pull request также приветствуются.
  • Если вы нашли воспроизводимую ошибку, создайте отчёт об ошибке для IPsec VPN или для скриптов VPN.
  • Есть вопрос? Пожалуйста, сначала выполните поиск по существующим issues и комментариям в этом Gist и в моём блоге.
  • Задавайте вопросы, связанные с VPN, в списках рассылки Libreswan или strongSwan, либо прочитайте эти вики: [1] [2] [3] [4] [5].

Лицензия

Copyright (C) 2014-2026 Lin Song View my profile on LinkedIn
Основано на работе Thomas Sarlandie (Copyright 2012)

Creative Commons License
Эта работа распространяется по лицензии Creative Commons Attribution-ShareAlike 3.0 Unported License
Требуется указание авторства: пожалуйста, указывайте моё имя в любых производных работах и сообщайте мне, как вы её улучшили!

Скачать инструмент
ПровайдерОсновной DNSРезервный DNSПримечания
Google Public DNS8.8.8.88.8.4.4Используется по умолчанию в этом проекте
Cloudflare1.1.1.11.0.0.1См. также: Cloudflare for families
Quad99.9.9.9149.112.112.112Блокирует вредоносные домены
OpenDNS208.67.222.222208.67.220.220Блокирует фишинговые домены, настраиваемый
CleanBrowsing185.228.168.9185.228.169.9Доступны фильтры доменов
NextDNSРазличаетсяРазличаетсяБлокировка рекламы, доступен бесплатный тариф. Подробнее.
Control DРазличаетсяРазличаетсяБлокировка рекламы, настраиваемый. Подробнее.
Параметр IKEv1*Значение по умолчаниюНастройка (переменная окружения)**
Адрес сервера (DNS-имя)-Нет, но можно подключаться по DNS-имени
Адрес сервера (публичный IP)АвтоопределениеVPN_PUBLIC_IP
Предварительно общий ключ IPsecАвтоматическая генерацияVPN_IPSEC_PSK
Имя пользователя VPNvpnuserVPN_USER
Пароль VPNАвтоматическая генерацияVPN_PASSWORD
DNS-серверы для клиентовGoogle Public DNSVPN_DNS_SRV1, VPN_DNS_SRV2
Пропустить настройку IKEv2noVPN_SKIP_IKEV2=yes

* Эти параметры IKEv1 используются для режимов IPsec/L2TP и IPsec/XAuth («Cisco IPsec»).
** Определяются как переменные окружения при запуске vpn(setup).sh.

Параметр IKEv2*Значение по умолчаниюНастройка (переменная окружения)**Настройка (интерактивно)***
Адрес сервера (DNS-имя)-VPN_DNS_NAME✅
Адрес сервера (публичный IP)АвтоопределениеVPN_PUBLIC_IP✅
Имя первого клиентаvpnclientVPN_CLIENT_NAME✅
DNS-серверы для клиентовGoogle Public DNSVPN_DNS_SRV1, VPN_DNS_SRV2✅
Защита файлов конфигурации клиентаnoVPN_PROTECT_CONFIG=yes✅
Включить/отключить MOBIKEВключено, если поддерживается❌✅
Срок действия сертификата клиента10 лет (120 месяцев)VPN_CLIENT_VALIDITY****✅
Срок действия сертификатов CA и сервера10 лет (120 месяцев)❌❌
Имя сертификата CAIKEv2 VPN CA❌❌
Размер ключа сертификата3072 бита❌❌

* Эти параметры IKEv2 используются для режима IKEv2.
** Определяются как переменные окружения при запуске vpn(setup).sh или при автоматической настройке IKEv2 (sudo ikev2.sh --auto).
*** Можно настроить во время интерактивной настройки IKEv2 (sudo ikev2.sh). См. вариант 1 выше.
**** Используйте VPN_CLIENT_VALIDITY, чтобы указать срок действия сертификата клиента в месяцах. Значение должно быть целым числом от 1 до 120.

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