Skip to content

Ground-Zerro/AtlasTunnel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AtlasTunnel v4.0 - Unified VPN Solution

📡 AtlasTunnel — универсальное решение для быстрого развертывания VPN-серверов с поддержкой 7 протоколов, автоматической оптимизацией и интерактивным менеджером клиентов.


🎯 Ключевые особенности

  • Единый скрипт установки для всех протоколов
  • 7 VPN протоколов: PPTP, L2TP, L2TP/IPsec, IKEv2, IKEv2/IPsec, SSTP, OpenVPN
  • Мульти-протокольная поддержка (несколько VPN на одном сервере)
  • Автоматическая оптимизация системы (BBR, TCP Fast Open, увеличенные буферы)
  • Универсальный менеджер для управления всеми протоколами
  • Совместимость с Ubuntu 22.04+ (включая ручную установку устаревших пакетов)
  • Модульная архитектура для легкого расширения

📦 Поддерживаемые протоколы

Протокол Шифрование Производительность Совместимость Примечания
PPTP Опционально (MPPE) ⚡⚡⚡⚡⚡ ✅✅✅✅✅ Максимальная скорость
L2TP ❌ Нет ⚡⚡⚡⚡ ✅✅✅✅ Без шифрования
L2TP/IPsec ✅ AES-128 ⚡⚡⚡ ✅✅✅✅✅ Стандарт отрасли
IKEv2 ❌ Null cipher ⚡⚡⚡⚡ ✅✅✅✅ Современный, быстрый
IKEv2/IPsec ✅ AES-256 ⚡⚡⚡⚡ ✅✅✅✅ Наиболее безопасный
SSTP ✅ SSL/TLS ⚡⚡⚡ ✅✅✅ Обход блокировок
OpenVPN ✅ AES-256 ⚡⚡⚡ ✅✅✅✅ Универсальный

🚀 Установка

Требования

  • Ubuntu Server 22.04+ (или 20.04)
  • Root доступ
  • Минимум 1GB RAM
  • Доступ к интернету

Метод 1: Быстрая установка (рекомендуется)

Автоматическая загрузка всех файлов и установка:

bash <(curl -Ls https://raw.githubusercontent.com/Ground-Zerro/AtlasTunnel/main/install.sh)

Этот способ:

  • ✅ Автоматически загружает все необходимые файлы (atlastunnel.sh, atlas-manager.sh, lib/)
  • ✅ Проверяет систему перед установкой
  • ✅ Запускает установку
  • ✅ Очищает временные файлы после завершения

Метод 2: Клонирование репозитория

Для разработки или офлайн установки:

git clone https://github.com/Ground-Zerro/AtlasTunnel.git
cd AtlasTunnel
chmod +x atlastunnel.sh
./atlastunnel.sh

Интерактивный выбор протоколов

После запуска скрипта вам будет предложено выбрать протоколы:

============================================
  AtlasTunnel v4.0 - Unified VPN
============================================

Выберите протоколы для установки (можно несколько):

  1) PPTP           - Максимальная скорость
  2) L2TP           - Без шифрования
  3) L2TP/IPsec     - С шифрованием IPsec
  4) IKEv2          - Без шифрования (null cipher)
  5) IKEv2/IPsec    - С шифрованием IPsec
  6) SSTP           - SSL-based (порт 443)
  7) OpenVPN        - Универсальное решение
  8) ВСЕ ПРОТОКОЛЫ  - Установить все (кроме IKEv2 - будет IKEv2/IPsec)

Введите номера через пробел (например: 1 3 5):

⚠️ ВАЖНО: IKEv2 и IKEv2/IPsec несовместимы между собой.
          Можно установить только один из них.

Что происходит при установке

  1. Проверка системы и прав доступа
  2. Установка базовых пакетов
  3. Автоматическая оптимизация ядра:
    • BBR congestion control
    • TCP Fast Open
    • Увеличенные буферы (до 67MB)
    • MTU probing
  4. Установка выбранных VPN протоколов
  5. Настройка iptables и NAT
  6. Установка универсального менеджера atlas

Вывод после установки

=============================================
  Установка завершена!
=============================================

IP сервера: 203.0.113.10
Логин по умолчанию: vpnuser
Пароль: Ab12Cd34
PSK (для L2TP/IPsec): Xy56Zw78
CA-сертификат (для IKEv2/IKEv2-IPsec): /var/www/html/ca-cert.pem

ВАЖНО: Установите CA-сертификат на клиент перед подключением!
Скопируйте файл /var/www/html/ca-cert.pem на устройство клиента

Установленные протоколы:
  - PPTP
  - L2TP/IPsec
  - IKEv2/IPsec

Для управления используйте команду: atlas
=============================================

🛠 Управление через Atlas Manager

Запуск менеджера

atlas

Для одного протокола (PPTP)

[*] Статус PPTP сервера:
    PPTP: ✅ ЗАПУЩЕН
    IP сервера: 203.0.113.10

[*] Список клиентов:
  №    ЛОГИН                ПАРОЛЬ
  ---------------------------------------------------------
  1    vpnuser              Ab12Cd34
  2    client1              Ef56Gh78

===== Atlas PPTP Manager =====
1) Запустить сервер
2) Остановить сервер
3) Перезапустить сервер
4) Добавить клиента
5) Удалить клиента
6) Сменить пароль клиента
0) Выход
===============================

Для L2TP/IPsec (с отображением PSK)

[*] Статус L2TP/IPsec сервера:
    L2TP/IPsec: ✅ ЗАПУЩЕН
    IPsec:  ✅ ЗАПУЩЕН
    IP сервера: 203.0.113.10
    PSK (ключ): Xy56Zw78

[*] Список клиентов:
  №    ЛОГИН                ПАРОЛЬ               PSK
  --------------------------------------------------------------------------------------
  1    vpnuser              Ab12Cd34             Xy56Zw78
  2    client1              Ef56Gh78             Xy56Zw78

===== Atlas L2TP/IPsec Manager =====
1) Запустить сервер
2) Остановить сервер
3) Перезапустить сервер
4) Добавить клиента
5) Удалить клиента
6) Сменить пароль клиента
0) Выход
====================================

Для IKEv2/IPsec (с CA-сертификатом)

[*] Статус IKEv2/IPsec сервера:
    IKEv2/IPsec: ✅ ЗАПУЩЕН
    IP сервера: 203.0.113.10
    CA-сертификат: /var/www/html/ca-cert.pem
    Установите CA-сертификат на клиент для подключения

[*] Список клиентов:
  №    ЛОГИН                ПАРОЛЬ               CA-СЕРТИФИКАТ
  ----------------------------------------------------------------------------------------------
  1    vpnuser              Ab12Cd34             /var/www/html/ca-cert.pem
  2    client1              Ef56Gh78             /var/www/html/ca-cert.pem

===== Atlas IKEv2/IPsec Manager =====
1) Запустить сервер
2) Остановить сервер
3) Перезапустить сервер
4) Добавить клиента
5) Удалить клиента
6) Сменить пароль клиента
7) Показать инструкции по установке CA-сертификата
0) Выход
=========================================

Для нескольких протоколов

===== Atlas Multi-Protocol Manager =====

Установленные протоколы:
  1) PPTP [ЗАПУЩЕН]
  2) L2TP/IPsec [ЗАПУЩЕН]
  3) IKEv2/IPsec [ОСТАНОВЛЕН]

  A) Показать статус всех
  S) Запустить все
  T) Остановить все
  R) Перезапустить все
  0) Выход
==========================================

📂 Структура проекта

AtlasTunnel/
├── install.sh                  # Установщик (загружает файлы с GitHub)
├── atlastunnel.sh              # Главный установочный скрипт
├── atlas-manager.sh            # Универсальный менеджер
├── lib/                        # Библиотеки
│   ├── lib-utils.sh            # Утилиты (log, ok, warn, err, die)
│   ├── lib-system.sh           # Системные настройки
│   ├── lib-protocols.sh        # Установка VPN протоколов
│   └── lib-manager.sh          # Функции менеджера
├── legacy/                     # Старые отдельные скрипты (v3.x)
│   ├── atlastunnel_pptp.sh
│   ├── atlastunnel_l2tp.sh
│   ├── atlastunnel_l2tp-ipsec.sh
│   ├── atlastunnel_ikev2.sh
│   ├── atlastunnel_ikev2-ipsec.sh
│   └── atlastunnel_sstp.sh
└── README.md

🔐 Безопасность

Аутентификация

  • PPTP/L2TP/SSTP: MSCHAPv2 через /etc/ppp/chap-secrets
  • IKEv2: EAP-MSCHAPv2 через /etc/ipsec.secrets
  • OpenVPN: Сертификаты + tls-auth

Шифрование

  • L2TP/IPsec: IKEv1 + AES-128 + SHA1
  • IKEv2: IKEv2 + Null cipher (только аутентификация)
  • IKEv2/IPsec: IKEv2 + AES-256 + SHA-256
  • SSTP: SSL/TLS с самоподписанным сертификатом
  • OpenVPN: AES-256-CBC + SHA-256 + TLS-auth

Сети и подсети

Каждый протокол использует уникальную подсеть для избежания конфликтов:

  • PPTP: 10.20.30.0/24
  • L2TP: 10.30.40.0/24
  • IKEv2: 10.40.50.0/24
  • SSTP: 10.50.60.0/24
  • OpenVPN: 10.60.70.0/24

⚙️ Оптимизация производительности

AtlasTunnel автоматически применяет следующие оптимизации:

  • BBR congestion control
  • TCP Fast Open (TFO)
  • Увеличенные буферы (67MB для rmem/wmem)
  • MTU probing для оптимального размера пакетов
  • Отключение IPv6 (по умолчанию)
  • MSS clamping для PPPoE сетей

🌍 Совместимость с клиентами

PPTP

  • Windows (все версии)
  • macOS (встроенный клиент)
  • Android (встроенный клиент)
  • iOS (встроенный клиент)
  • Linux (pppd + pptp-linux)

L2TP/IPsec

  • Windows (встроенный клиент)
  • macOS (встроенный клиент)
  • Android (встроенный клиент)
  • iOS (встроенный клиент)
  • Linux (xl2tpd + strongswan)

IKEv2 / IKEv2-IPsec

  • Windows 7+ (встроенный клиент)
  • macOS (встроенный клиент)
  • Android 4+ (встроенный клиент)
  • iOS 8+ (встроенный клиент)
  • Linux (strongswan)

⚠️ ВАЖНО: Требуется установка CA-сертификата на клиент! См. раздел "Настройка клиентов для IKEv2".

OpenVPN

  • Требуется OpenVPN клиент на всех платформах
  • Windows: OpenVPN GUI
  • macOS: Tunnelblick
  • Android: OpenVPN Connect
  • iOS: OpenVPN Connect
  • Linux: openvpn

🔧 Расширенные настройки

Конфигурационные файлы

После установки конфигурация хранится в /etc/atlastunnel/:

/etc/atlastunnel/
├── network.conf            # WAN_IFACE
├── credentials.conf        # VPN_USER, VPN_PASS, VPN_PSK
├── pptp.conf               # Параметры PPTP (если установлен)
├── l2tp.conf               # Параметры L2TP
├── l2tp-ipsec.conf         # Параметры L2TP/IPsec
├── ikev2.conf              # Параметры IKEv2
├── ikev2-ipsec.conf        # Параметры IKEv2/IPsec
└── lib/                    # Копии библиотек для менеджера

Сертификаты IKEv2/IPsec

/etc/ipsec.d/
├── cacerts/
│   └── ca-cert.pem         # CA-сертификат (корневой)
├── certs/
│   └── server-cert.pem     # Сертификат сервера
└── private/
    ├── ca-key.pem          # Приватный ключ CA
    └── server-key.pem      # Приватный ключ сервера

/var/www/html/ca-cert.pem   # Копия CA для скачивания (если есть /var/www)
/usr/share/atlastunnel/ca-cert.pem  # Альтернативный путь

Настройка клиентов для IKEv2

Для подключения к IKEv2/IKEv2-IPsec клиенту необходимо установить CA-сертификат:

Windows

  1. Скопируйте ca-cert.pem с сервера на компьютер
  2. Откройте файл → Установить сертификат
  3. Выберите "Локальный компьютер"
  4. Поместите в хранилище: "Доверенные корневые центры сертификации"

macOS / iOS

  1. Скопируйте ca-cert.pem на устройство
  2. Откройте файл → Добавить в Связку ключей
  3. В настройках VPN выберите сертификат для доверия

Android

  1. Настройки → Безопасность → Установить из хранилища
  2. Выберите ca-cert.pem
  3. Назначьте имя и используйте для VPN

Linux

sudo cp ca-cert.pem /usr/local/share/ca-certificates/vpn-ca.crt
sudo update-ca-certificates

Получение CA-сертификата в менеджере

В менеджере atlas для IKEv2/IKEv2-IPsec доступна опция:

7) Показать инструкции по установке CA-сертификата

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

Добавление протоколов позже

Запустите atlastunnel.sh повторно и выберите дополнительные протоколы.


⚠️ Известные ограничения

PPTP на Ubuntu 22.10+

PPTP был удален из официальных репозиториев Ubuntu 22.10+. AtlasTunnel автоматически загружает пакеты из Ubuntu 22.04 и блокирует их обновление.

SSTP порт 443

SSTP использует порт 443, который может конфликтовать с веб-сервером (nginx, apache). Убедитесь, что порт свободен.

IKEv2 и IKEv2/IPsec несовместимы

ВАЖНО: IKEv2 (без IPsec) и IKEv2/IPsec нельзя установить одновременно.

Причины:

  • Оба используют один файл конфигурации /etc/ipsec.conf
  • Одинаковые порты (UDP 500, 4500)
  • Один демон strongSwan не может работать в двух режимах

Защита:

  • При выборе обоих протоколов скрипт выдаст ошибку и запросит повторный выбор
  • При установке одного поверх другого потребуется подтверждение YES
  • Вариант "8 - ВСЕ ПРОТОКОЛЫ" автоматически устанавливает только IKEv2/IPsec (без IKEv2)

Совместимость с L2TP/IPsec: L2TP/IPsec совместим с IKEv2/IKEv2-IPsec. Оба могут работать одновременно, так как используют разные конфигурации strongSwan.


📖 Миграция со старых скриптов

Старые отдельные скрипты (atlastunnel_pptp.sh, atlastunnel_l2tp.sh и т.д.) перемещены в директорию legacy/ и больше не поддерживаются.

Используйте новый unified скрипт atlastunnel.sh для всех установок.


🐛 Устранение неполадок

Проблема: PPTP не устанавливается на Ubuntu 24.04

Решение: AtlasTunnel автоматически загружает пакеты из старых репозиториев. Убедитесь, что у вас есть доступ к интернету.

Проблема: Не работает NAT

Решение: Проверьте IP forwarding:

sysctl net.ipv4.ip_forward

Должно быть net.ipv4.ip_forward = 1.

Проблема: Клиенты не могут подключиться

Решение: Проверьте статус сервиса:

atlas

И убедитесь, что фаервол разрешает соответствующие порты.


📝 Лицензия

MIT License


🤝 Вклад в проект

Если вы хотите добавить новый протокол или улучшить существующий функционал, создайте Pull Request.


📞 Поддержка

Если у вас возникли проблемы, создайте Issue в GitHub репозитории.


AtlasTunnel v4.0 - Универсальное VPN решение для развертывания устаревших протоколов.

About

Lightweight PPTP, L2TP, L2TP/IPsec, IKEv2, IKEv2/IPsec, SSTP, OpenVPN server

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages