Initial commit

This commit is contained in:
2026-05-21 09:58:25 +03:00
commit b2e0db146d
4 changed files with 604 additions and 0 deletions
+70
View File
@@ -0,0 +1,70 @@
# Подготовка
На рабочей станции, которая используется для запуска Profiler должны быть установлены пакеты:
- sshpass (для подключения к RouterOS)
- qrencode (для создания QR с настройкой клиента)
- jq (для корректной работы с JSON)
- wg (для создания ключей и не только)
## Если profiler используется для создания пользователей на RouterOS
1. Создать интерфейс WireGuard средствами MikroTik RouterOS
2. Скопировать имя интерфейса в файл конфигурации (config)
3. Скопировать информацию о ключах в файл конфигурации (config)
4. Убедиться, что имя WG интерфейса в файле конфигурации соответствует имени WG интерфейса в RouterOS
# Запуск
> Предполагается, что файл конфигурации полностью заполнен.
```bash
- create <name> <option> # Создать нового клиента
ВАЖНО: используйте --apply_ros для настройки нового WG Peer в RouterOS
- delete <id> # Удалить клиента передав его ID
- disable <id> # Отключить клиента передав его ID
- enable <id> # Активировать клиента передав его ID
- list # Отобразить список клиентов
- test # Проверяем, что подключение RouterOS выполняется
```
Команда для создания нового пользователя, включая настройку WG Peer в RouterOS:
```bash
./profiler create demo --apply_ros
```
**ВАЖНО!** В процессе создания клиента появляются 3 файла:
- файл конфигурации для импорта на устройство клиента
- файл автоматической настройки через QR-код
- файл сценария RouterOS для создания пользователя
# Проверка
Успешное выполнение сценария приводт к тому, что:
- все файлы настроек созданы
- конфигурация нового пользователя применена к RouterOS
- создан файл реестра (JSON) в котором хранится информация о пользователе
- команда `list` содержит ID и IPv4 адрес созданного пользователя
# Глобальный файл настройки
> Ниже приводится полное описание всех мараметров конфигурационного файла
- `SERVER_INTERFACE` - позволяет передать имя интерфейса WireGuard, которое будет использоваться для управления конфигурацией (это может быть имя на уровне Linux Server или MikroTik RouterOS)
- `SERVER_PRIVATE_KEY` - приватный ключ сервера
- `SERVER_PUBLIC_KEY` - публичный ключ сервера
- `SERVER_PUBLIC_IP` - публичный IPv4 адрес сервера на котором WG слушает подключения
- `SERVER_PUBLIC_PORT` - порт на котором WG слушает подключения
- `SERVER_NETWORK` - CIDR подсети, из которой будут выделяться адреса клиентам WG, например 10.0.0.0/24
- `SERVER_ADDRESS` - IPv4 адрес интерфейса в нотации CIDR, например 10.0.0.1/24
- `DNS_SERVER` - IPv4 адрес DNS сервера, к которому будут обращаться клиенты
- `SERVER_MTU` - MTU интерфейса WG, который будет использован и на клиенте и на сервере
- `SERVER_CONFIG_PATH` - путь к рабочему файлу конфигурации демона WG в Linux, например: /etc/wireguard/wg1.conf
- `MT_HOST` - IPv4 адрес на котором RouterOS ожидает SSH подключение
- `MT_USER` - имя пользователя RouterOS
- `MT_PASSW` - пароль пользователя RouterOS