147 lines
5.6 KiB
Markdown
147 lines
5.6 KiB
Markdown
# 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)
|
||
|
||
2. **Выполните клонирование репозитория**
|
||
|
||
```bash
|
||
git clone <URL репозитория в формате HTTPS>
|
||
```
|
||
|
||
3. **Подготовьте рабочий каталог**
|
||
- Скопируйте каталог easy-rsa в корневую директорию проекта
|
||
- Отредактируйте файл **confvars**
|
||
- Сделайте файл `profiler.sh` исполняемым
|
||
|
||
4. **Настройке сервер**
|
||
|
||
- Включите ip forwarding в ядре `net.ipv4.ip_forward=1`
|
||
- Активируйте NAT masquerade при необходимости
|
||
|
||
5. **Быстрое создание окружение и конфигурации**
|
||
|
||
```bash
|
||
./profiler.sh clear # для очистки PKI
|
||
./profiler.sh init # для инициализации PKI
|
||
./profiler.sh srvconf # для создания файла конфигурации сервера
|
||
./profiler.sh build # для создания файла конфигурации клиента
|
||
```
|
||
|
||
## Установка обновлений
|
||
|
||
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` - файл лога (создается автоматически)
|
||
|