Files
ovpn-bash-profiler/README.md

5.6 KiB
Raw Permalink Blame History

OpenVPN Profiler - Обновленная версия

Основные улучшения

1. Поддержка массивов для маршрутов и DNS

  • Теперь можно задавать любое количество маршрутов для SPLIT туннелирования
  • Поддержка любого количества DNS серверов
  • Обратная совместимость со старым форматом

2. Улучшенная безопасность

  • Безопасная обработка шаблонов (экранирование спецсимволов)
  • Строгий режим выполнения скрипта
  • Проверка зависимостей

3. Логирование

  • Все действия логируются в файл profiler.log
  • Подробные сообщения об ошибках

4. Гибкость конфигурации

  • Поддержка CIDR формата для маршрутов (192.168.0.0/24)
  • Возможность загрузки маршрутов из файла
  • Автоматическое определение IP адресов с fallback

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

  1. Установите дополнительные пакеты
  • openvpn
  • easyrsa
  • curl
  • bash (если испольлзуется отличнцй Shell)
  1. Выполните клонирование репозитория
git clone <URL репозитория в формате HTTPS>
  1. Подготовьте рабочий каталог
  • Скопируйте каталог easy-rsa в корневую директорию проекта
  • Отредактируйте файл confvars
  • Сделайте файл profiler.sh исполняемым
  1. Настройке сервер
  • Включите ip forwarding в ядре net.ipv4.ip_forward=1
  • Активируйте NAT masquerade при необходимости
  1. Быстрое создание окружение и конфигурации
./profiler.sh clear # для очистки PKI
./profiler.sh init # для инициализации PKI
./profiler.sh srvconf # для создания файла конфигурации сервера
./profiler.sh build # для создания файла конфигурации клиента

Установка обновлений

  1. Создайте резервную копию текущей конфигурации:

    cp -r templates/ templates.backup/
    cp profiler.sh profiler.sh.backup
    cp confvars confvars.backup
    
  2. Используйте скрипт миграции (если нужно сохранить старые настройки):

    bash
    chmod +x migrate_config.sh
    ./migrate_config.sh
    
  3. Или скопируйте новые файлы вручную:

    cp templates/server.txt templates/server.txt.new
    cp templates/user.txt templates/user.txt.new
    cp profiler.sh profiler.sh.new
    cp confvars confvars.new
    
    # Просмотрите изменения и примените их
    diff templates/server.txt templates/server.txt.new
    diff profiler.sh profiler.sh.new
    

Использование новых возможностей

  1. Конфигурация SPLIT туннелирования с массивами:

    # В файле confvars
    TTUNNETS=(
        "192.168.5.0/24"
        "10.0.0.0/8"
        "172.16.0.0/12"
    )
    
    # Или используйте файл со списком маршрутов
    TTUNNETS_FILE="split_routes.txt"
    
  2. Конфигурация DNS с массивами:

    TDNS=(
        "192.168.5.253"
        "8.8.8.8"
        "1.1.1.1"
    )
    

Новые функции скрипта

  1. Безопасная подстановка в шаблоны - защита от спецсимволов
  2. Расширенное логирование - все действия записываются в лог
  3. Проверка зависимостей - автоматическая проверка необходимых программ
  4. Обработка ошибок - информативные сообщения об ошибках
  5. Поддержка CIDR - автоматическое преобразование CIDR в маску

Обратная совместимость

Скрипт поддерживает старый формат конфигурации. Если вы используете старые переменные TTUNNET1-5 и TDNS1-3, они будут автоматически преобразованы в массивы.

Команды

./profiler.sh build <username>    # Создать новый профиль
./profiler.sh list                # Показать список профилей
./profiler.sh revoke              # Отозвать профиль
./profiler.sh init                # Инициализировать PKI
./profiler.sh clear               # Очистить PKI
./profiler.sh srvconf             # Создать конфигурацию сервера
./profiler.sh help                # Показать справку

Файлы

  • profiler.sh - основной скрипт
  • confvars - конфигурация
  • templates/server.txt - шаблон сервера
  • templates/user.txt - шаблон пользователя
  • split_routes.txt - пример файла с маршрутами
  • profiler.log - файл лога (создается автоматически)