114 lines
4.4 KiB
Markdown
114 lines
4.4 KiB
Markdown
|
|
# OpenVPN Profiler - Обновленная версия
|
|||
|
|
|
|||
|
|
## Основные улучшения
|
|||
|
|
|
|||
|
|
### 1. Поддержка массивов для маршрутов и DNS
|
|||
|
|
- Теперь можно задавать любое количество маршрутов для SPLIT туннелирования
|
|||
|
|
- Поддержка любого количества DNS серверов
|
|||
|
|
- Обратная совместимость со старым форматом
|
|||
|
|
|
|||
|
|
### 2. Улучшенная безопасность
|
|||
|
|
- Безопасная обработка шаблонов (экранирование спецсимволов)
|
|||
|
|
- Строгий режим выполнения скрипта
|
|||
|
|
- Проверка зависимостей
|
|||
|
|
|
|||
|
|
### 3. Логирование
|
|||
|
|
- Все действия логируются в файл `profiler.log`
|
|||
|
|
- Подробные сообщения об ошибках
|
|||
|
|
|
|||
|
|
### 4. Гибкость конфигурации
|
|||
|
|
- Поддержка CIDR формата для маршрутов (192.168.0.0/24)
|
|||
|
|
- Возможность загрузки маршрутов из файла
|
|||
|
|
- Автоматическое определение IP адресов с fallback
|
|||
|
|
|
|||
|
|
## Установка обновлений
|
|||
|
|
|
|||
|
|
1. **Создайте резервную копию текущей конфигурации:**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cp -r templates/ templates.backup/
|
|||
|
|
cp profiler.sh profiler.sh.backup
|
|||
|
|
cp confvars confvars.backup
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
2. **Используйте скрипт миграции (если нужно сохранить старые настройки):**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
bash
|
|||
|
|
chmod +x migrate_config.sh
|
|||
|
|
./migrate_config.sh
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
3. **Или скопируйте новые файлы вручную:**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
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 туннелирования с массивами:**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# В файле confvars
|
|||
|
|
TTUNNETS=(
|
|||
|
|
"192.168.5.0/24"
|
|||
|
|
"10.0.0.0/8"
|
|||
|
|
"172.16.0.0/12"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
# Или используйте файл со списком маршрутов
|
|||
|
|
TTUNNETS_FILE="split_routes.txt"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
2. **Конфигурация DNS с массивами:**
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
TDNS=(
|
|||
|
|
"192.168.5.253"
|
|||
|
|
"8.8.8.8"
|
|||
|
|
"1.1.1.1"
|
|||
|
|
)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Новые функции скрипта
|
|||
|
|
|
|||
|
|
1. Безопасная подстановка в шаблоны - защита от спецсимволов
|
|||
|
|
2. Расширенное логирование - все действия записываются в лог
|
|||
|
|
3. Проверка зависимостей - автоматическая проверка необходимых программ
|
|||
|
|
4. Обработка ошибок - информативные сообщения об ошибках
|
|||
|
|
5. Поддержка CIDR - автоматическое преобразование CIDR в маску
|
|||
|
|
|
|||
|
|
## Обратная совместимость
|
|||
|
|
|
|||
|
|
Скрипт поддерживает старый формат конфигурации. Если вы используете старые переменные `TTUNNET1-5` и `TDNS1-3`, они будут автоматически преобразованы в массивы.
|
|||
|
|
|
|||
|
|
# Команды
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
./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` - файл лога (создается автоматически)
|
|||
|
|
|