OpenVPN Profiler - Обновленная версия
Основные улучшения
1. Поддержка массивов для маршрутов и DNS
- Теперь можно задавать любое количество маршрутов для SPLIT туннелирования
- Поддержка любого количества DNS серверов
- Обратная совместимость со старым форматом
2. Улучшенная безопасность
- Безопасная обработка шаблонов (экранирование спецсимволов)
- Строгий режим выполнения скрипта
- Проверка зависимостей
3. Логирование
- Все действия логируются в файл
profiler.log - Подробные сообщения об ошибках
4. Гибкость конфигурации
- Поддержка CIDR формата для маршрутов (192.168.0.0/24)
- Возможность загрузки маршрутов из файла
- Автоматическое определение IP адресов с fallback
Быстрый старт
- Установите дополнительные пакеты
- openvpn
- easyrsa
- curl
- bash (если испольлзуется отличнцй Shell)
- Выполните клонирование репозитория
git clone <URL репозитория в формате HTTPS>
- Подготовьте рабочий каталог
- Скопируйте каталог easy-rsa в корневую директорию проекта
- Отредактируйте файл confvars
- Сделайте файл
profiler.shисполняемым
- Настройке сервер
- Включите ip forwarding в ядре
net.ipv4.ip_forward=1 - Активируйте NAT masquerade при необходимости
- Быстрое создание окружение и конфигурации
./profiler.sh clear # для очистки PKI
./profiler.sh init # для инициализации PKI
./profiler.sh srvconf # для создания файла конфигурации сервера
./profiler.sh build # для создания файла конфигурации клиента
Установка обновлений
-
Создайте резервную копию текущей конфигурации:
cp -r templates/ templates.backup/ cp profiler.sh profiler.sh.backup cp confvars confvars.backup -
Используйте скрипт миграции (если нужно сохранить старые настройки):
bash chmod +x migrate_config.sh ./migrate_config.sh -
Или скопируйте новые файлы вручную:
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
Использование новых возможностей
-
Конфигурация SPLIT туннелирования с массивами:
# В файле confvars TTUNNETS=( "192.168.5.0/24" "10.0.0.0/8" "172.16.0.0/12" ) # Или используйте файл со списком маршрутов TTUNNETS_FILE="split_routes.txt" -
Конфигурация DNS с массивами:
TDNS=( "192.168.5.253" "8.8.8.8" "1.1.1.1" )
Новые функции скрипта
- Безопасная подстановка в шаблоны - защита от спецсимволов
- Расширенное логирование - все действия записываются в лог
- Проверка зависимостей - автоматическая проверка необходимых программ
- Обработка ошибок - информативные сообщения об ошибках
- Поддержка 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- файл лога (создается автоматически)
Description
Languages
Shell
100%