Полное руководство оператора — от первой установки до повседневной работы.
25 тем8 разделовУстановка одной командой
Быстрая установка
В сети за считанные минуты, из одной команды.
Выполните одну строку на новом сервере Ubuntu или Debian — или в PowerShell в Windows — и
установщик загрузит последнюю версию и настроит весь стек SAMM за вас.
SAMM — SecuryTik Active Mikrotik
Manager — это полноценная платформа управления для интернет-провайдеров на сетях MikroTik PPPoE
и Hotspot. Один установщик превращает чистый сервер Linux в полную систему AAA,
биллинга и управления абонентами.
Для кого предназначен SAMM
SAMM создан для интернет-провайдеров беспроводной связи, операторов оптоволокна и провайдеров точек доступа, работающих MikroTik RouterOS . Если вы аутентифицируете подписчиков через PPPoE, Hotspot или IPoE/DHCP и вам необходимо
обеспечивает соблюдение уровней скорости, ограничений данных, дат истечения срока действия и выставления счетов — SAMM делает все это с
один экран.
Абоненты IPoE/DHCP идентифицируются по идентификатору канала DHCP Option 82 (физический номер
порт доступа — профессиональный способ интернет-провайдера) или MAC устройства, а радиус-пароль DHCP-сервера —
просто собственный общий секрет RADIUS маршрутизатора, поэтому не нужно ничего дополнительно предоставлять.
Дуальная стека IPv6 — опциональная функция: каждый абонент может получить IPv6 вместе с IPv4. Включите её в волшебнике маршрутизатора и выберите длину делегированного префикса (DHCPv6-PD) — по умолчанию /56, но от /48 до /64, а также блоки IPv6 для распределения. В каждом ответе Access-Accept SAMM возвращается пул WAN IPv6 плюс рутированный префикс, делегированный на LAN абонента, так что собственный роутер клиента (в режиме маршрута) разбивает его на /64 и выполняет SLAAC для своих устройств — стандартная модель делегирования префиксов ISP. Она работает с PPPoE, Hotspot и IPoE, а для бизнес-клиентов можно закрепить статический префикс IPv6 за абонентом.
Как это работает
SAMM держит горячий путь рядом с базой данных. FreeRADIUS обрабатывает каждый
пакет аутентификации и учёта; при каждом Interim-Update учёта он вызывает
функции PostgreSQL напрямую, чтобы накапливать потребление и вычислять лимиты — пока абоненты онлайн, нет
обращений к Python.
Четыре исполнительных уровня взаимодействуют через единую базу данных:
FreeRADIUS (unlang + rlm_sql) — authenticates
every packet; on each Interim-Update it accumulates bytes/uptime and evaluates limits inside Postgres.
samm-radius — runs time-driven sweeps (expiry, daily reset, speed
windows) and is the only process that sends Change-of-Authorization packets.
samm-worker — pings routers and syncs MikroTik device metadata over the API.
samm-api — the admin & customer portals; admin actions are queued
to the database and applied by samm-radius, never sent as CoAs directly.
Пять служб
Служба
Роль
samm-api
Портал администратора + клиентский портал самообслуживания + REST API
samm-radius
Опустошает очередь CoA; выполняет обходы для истечения срока / ежедневного сброса / окон скорости
samm-worker
Пингует роутеры; синхронизирует метаданные устройств MikroTik через API
samm-notification
Доставляет уведомления по email и Telegram через одну очередь с ограничением скорости
samm-telegram
Запускает интерактивный бот самообслуживания в Telegram
Что делает SAMM
Ядро AAA
Аутентификация PPPoE и Hotspot, применение скорости для каждого пользователя, гибридный CoA.
Тарифы & ограничения
Тарифы скорости плюс четыре независимых лимита и запланированные окна скорости.
Абоненты
Пользователи PPPoE, Hotspot и IPoE/DHCP, а также предоплаченные ваучер-карты Hotspot с печатными PDF.
Оплата
Тарификация по планам, автоматические счета, книга учёта поступлений/платежей/расходов с двойной записью.
Самообслуживание
Клиентский веб-портал и Telegram-бот для потребления, счетов и заявок.
Операции
Актуальная инвентаризация MikroTik, администраторы с ролями, резервное копирование и восстановление, массовые инструменты.
Система
Встроенный VPN WireGuard , туннель Cloudflare , восемь языков, пользовательский интерфейс с возможностью оформления тем.
Уведомления
Оповещения о продлении, истечении срока, квоте и поступлениях по email и Telegram.
Остальная часть этого руководства — инструкции по каждой из этих областей. Используйте меню
слева или начните с раздела Установка.
Начать использовать
Установка
SAMM устанавливает всё необходимое — FreeRADIUS, PostgreSQL, nginx, WireGuard,
cloudflared и пять служб SAMM — за один шаг. Установщик
идемпотентен: повторный запуск обновляет существующую установку на месте и
никогда не перезаписывает вашу конфигурацию и не пересоздаёт пароль базы данных.
SAMM работает где угодно — выберите способ установки, подходящий вашей сети:
Этот загрузочный скрипт скачивает последний релизный пакет SAMM с GitHub, распаковывает
его и автоматически запускает полный установщик. Готово за несколько минут.
Если github.com блокируется в вашей стране, используйте зеркало, хостимое Cloudflare — тот же установщик, без загрузки с GitHub. (Стандартная команда выше также обнаруживает заблокированный GitHub и автоматически переключается на это зеркало.)
Смените пароль администратора сразу после первого входа.
Установка
Вариант B — установка на Windows (Hyper-V)
SAMM работает в Windows внутри собственной небольшой виртуальной машины Ubuntu 24.04 на
Hyper-V, которую создаёт и обслуживает один установщик. VM подключается к вашей сети с собственным
IP-адресом, поэтому ваши маршрутизаторы MikroTik обращаются к SAMM напрямую — RADIUS видит реальный адрес
каждого маршрутизатора, а отключения по CoA работают — точно так же, как с Linux-сервером.
Откройте PowerShell от имени администратора — не командную строку (cmd): щёлкните
правой кнопкой мыши по кнопке «Пуск», выберите Terminal (Admin) или Windows
PowerShell (Admin), ответьте «Да». Затем выполните:
Если samm.securytik.com недоступен с этого ПК, используйте вместо него зеркало на Cloudflare — это тот же установщик. (Установщик и сам переключается на зеркало, если загрузка не удалась.)
Вход в ОС (SSH)samm / samm·root (консоль)root / samm
Те же значения по умолчанию, что и в SAMM Server ISO. Смените их все после первого входа. Ярлык SAMM Info на рабочем столе показывает их снова — вместе с IP-адресом SAMM и способом зайти на ВМ по SSH.
Что будет спрошено
К какой сети должен подключиться SAMM, если у ПК подключено более одного
адаптера. Нажмите Enter для рекомендуемого варианта (проводное соединение важнее Wi-Fi).
IP-адрес SAMM в этой сети. Предлагается свободный адрес; нажмите Enter, чтобы
принять его, введите другой, либо введите dhcp.
Если Hyper-V выключен, установщик включает его и один раз просит перезагрузить Windows; после
повторного входа он продолжает работу самостоятельно. Остальное — Multipass, сетевой мост, VM и сам SAMM —
занимает 10–20 минут, с индикатором выполнения.
Требования
Windows 10 / 11 Pro, Enterprise или Education, либо Windows Server 2019 и новее
(64-разрядная). В Windows Home нет Hyper-V.
Аппаратная виртуализация включена в BIOS/UEFI (Intel VT-x или AMD-V). Установщик
проверяет это и останавливается с понятным сообщением, если она выключена — см.
Включить виртуализацию.
Не менее 8 ГБ памяти, из них 4 ГБ свободны для VM SAMM (3 ГБ — минимум; другие виртуальные машины —
VMware, VirtualBox — уменьшают доступный объём), и 40 ГБ свободного места на диске.
Настоятельно рекомендуется сетевой кабель. Многие драйверы Wi-Fi не могут связать
виртуальную машину с сетью через мост, и тогда SAMM будет доступен только самому ПК.
После установки
Откройте панель администратора по адресу http://<SAMM IP>/admin/login (ярлык
SAMM Admin находится на рабочем столе), войдите с учётными данными
admin / admin и сразу же смените пароль.
Направьте RADIUS вашего MikroTik на IP-адрес SAMM (UDP 1812/1813) — Мастер маршрутизатора в панели
сделает это за вас.
SAMM запускается вместе с Windows, ещё до входа пользователя в систему, а ПК настроен так, чтобы
никогда не переходить в спящий режим. На ноутбуке держите зарядное устройство подключённым и установите
для закрытия крышки действие «Ничего не делать».
Чтобы удалить: выполните ту же строку с -Uninstall, либо
& ([scriptblock]::Create((irm https://samm.securytik.com/install-windows.ps1))) -Uninstall.
Установка
Включение виртуализации в BIOS/UEFI
SAMM в Windows работает в виртуальной машине Hyper-V, для которой нужна функция виртуализации
процессора: Intel Virtualization Technology (VT-x) у Intel, или AMD-V —
обычно называемая SVM Mode — у AMD. У большинства ПК она включена по умолчанию; у
некоторых выключена. Каждый производитель прячет её в своём меню, поэтому ниже приведены общие шаги и её
обычное расположение.
Сначала проверьте, не включена ли она уже
Откройте Диспетчер задач (Ctrl+Shift+Esc) → Производительность →
ЦП. Если под графиком указано Виртуализация: включена, всё готово. (Если
Hyper-V уже включён, Windows может вместо этого показать строку об обнаруженном гипервизоре — это также
означает, что виртуализация включена.)
Общие шаги
Сохраните свою работу и перезагрузите ПК.
Откройте настройки BIOS/UEFI: как только экран загорится, несколько раз нажмите клавишу входа в
настройки (см. таблицу). В Windows 10/11 можно также перейти в Параметры → Система →
Восстановление → Особые варианты загрузки → Перезагрузить сейчас, затем Диагностика →
Дополнительные параметры → Параметры встроенного ПО UEFI → Перезагрузить.
Найдите в меню Advanced, Advanced CPU,
Processor, Chipset, Security или
Virtualization пункт Intel Virtualization Technology,
Intel VT-x, SVM Mode или AMD-V и установите значение
Enabled. (Intel VT-d / AMD IOMMU не требуется.)
Сохранить и выйти (обычно F10), дайте Windows загрузиться, затем запустите
установщик SAMM снова.
Где это обычно находится
Производитель
Клавиша входа в настройки
Обычное расположение
Dell
F2
Поддержка виртуализации → Виртуализация / Включить технологию виртуализации Intel
HP
F10 (или Esc, затем F10)
Advanced (или Security / System Configuration) → Virtualization Technology (VTx)
Advanced Mode (F7) → Advanced → CPU Configuration → Intel Virtualization Technology или SVM Mode
Acer
F2
Advanced (или Main) → Intel Virtualization Technology
MSI
Del
OC → CPU Features → Intel Virtualization Tech или SVM Mode
Gigabyte
Del
Tweaker (или Advanced) → Advanced CPU Settings → Intel Virtualization Technology или SVM Mode
Серверы (Dell iDRAC, HPE, Supermicro)
F2 / F9 / Del
Processor Settings → Virtualization Technology — часто уже включено
Виртуальной машине внутри другой виртуальной машины (когда сама Windows работает в
VMware, Proxmox или Hyper-V) вместо этого нужна включённая вложенная виртуализация во внешнем
гипервизоре — например, «Virtualize Intel VT-x/EPT» в настройках ЦП VMware, при выключенной VM.
Установка
Вариант C — установка вручную из релизного пакета
Скачайте последний samm-<version>.tar.gz со
страницы GitHub Releases,
затем на сервере:
tar -xzf samm-<version>.tar.gz
cd samm-<version>
sudo bash install.sh
Вы также можете развернуть из zip-архива, созданного на другой машине — установщик
сам rsync-ит исходники в /opt/samm:
Смените пароль администратора сразу после первого входа.
Установка
Вариант D — установка с помощью Docker Compose
Если вы предпочитаете запускать SAMM в контейнерах — тот же продукт, упакованный иначе —
используйте дистрибутив Docker Compose по адресу github.com/mhdhaidarah/samm-docker.
На любом хосте с доступным Docker:
Это установит Docker при его отсутствии, поместит docker-compose.yml в /opt/samm-docker/ с уже заполненным сильным случайным паролем базы данных и запустит стек. Образ mhdhaidarah/samm собирается из того же скомпилированного бандла, что и bare-OS-установка — закрытый исходный код by design.
Мультиарх — один и тот же тег публикуется для linux/amd64 и linux/arm64, и нужный вариант выбирается автоматически из тега: docker pull на любом Docker-хосте (Intel/AMD, ARM-сервер, Mac с Apple Silicon) и MikroTik RouterOS 7.23+ на самом роутере. Один файл, все платформы.
На хостах, где передача curl в bash запрещена (заблокированные машины,
строгие политики исходящего трафика), вы можете скачать готовый к запуску compose-файл напрямую:
git clone https://github.com/mhdhaidarah/samm-docker.git
cd samm-docker
# optional: edit docker-compose.yml and replace change-me-strong-random-string
docker compose up -d
Несколько функций пока отсутствуют в варианте Docker (поэтапная блокировка по лицензии, динамическая перезагрузка FreeRADIUS).
Встроенные страницы администрирования WireGuard и Cloudflare Tunnel намеренно скрыты в варианте Docker — они управляют службами systemd на уровне хоста, недоступными изнутри контейнера. Выберите вариант A или C выше, если вам нужны эти функции встроенными, или запустите cloudflared / wg-quick на хосте Docker непосредственно рядом с SAMM. Полный список ограничений v1 и способ установки вручную см. в
README варианта Docker.
На Windows (Docker Desktop) — только для ознакомления
Не рекомендуется для продакшена. Спящий режим / гибернация / закрытие крышки в Windows
останавливают контейнеры; перезапуск при загрузке срабатывает только при старте WSL (не при загрузке Windows);
ежедневный cron автообновления работает только пока жив WSL. Используйте для ознакомления / демо, затем
разворачивайте продакшен на виртуальной машине Linux (Hyper-V, Proxmox, ESXi) или на небольшом физическом устройстве (например,
NUC под Ubuntu Server).
Установите
Docker Desktop для Windows (позвольте ему настроить бэкенд WSL2 при первом запуске).
Затем из PowerShell — терминал WSL не нужен — скачайте compose-пакет и запустите стек:
mkdir C:\samm-docker
cd C:\samm-docker
curl.exe -fLO https://github.com/mhdhaidarah/samm-docker/releases/latest/download/docker-compose.yml
# optional: notepad docker-compose.yml — replace change-me-strong-random-string with your own password
docker compose pull
docker compose up -d
Наблюдайте за загрузкой стека в Docker Desktop → Контейнеры — группа samm расширяется до 8 сервисов. После того как все они станут зелёными, откройте портал администратора и войдите с помощью этих учетных данных:
Демонтаж: docker compose down -v из каталога установки
(-v стирает том postgres и ключ Fernet — сначала сделайте их резервную копию, если вы добавили данные).
Установка
Вариант E — установка на роутер MikroTik (RouterOS 7.23+)
Тот же SAMM, без Linux-машины. Если ваше устройство MikroTik поддерживает пакет container и к нему подключён USB-накопитель или microSD, весь стек можно запустить прямо на роутере — тем же docker-compose.yml, что и везде. RouterOS 7.23+ автоматически подтягивает нужную архитектуру ЦП из мультиарх-тегов, так что ничего специфичного для роутера скачивать не нужно.
Поддерживается: каждый маршрутизатор MikroTik с возможностью контейнеров — RB5009, hAP ax², CCR2004-1G-12S+2XS, CCR2116, CCR2216, L009 и подобные (arm64), а также x86 RouterOS и CHR (amd64). Не поддерживается: устройства armv7 / mipsbe / smips / tile / ppc (hEX, RB750, более старые модели RB) — отсутствие поддержки контейнеров или слишком мало оперативной памяти/процессорных ядер для стека SAMM. Требуется RouterOS 7.23 или более новое (старые версии не могут выбрать архитектуру из тега многоархитектуры).
1. Подготовьте роутер
Установите пакет container (из extra_packages.zip на mikrotik.com/download — загрузите подходящий container-*.npk через Files и перезагрузите). Затем включите режим контейнеров (однократно — он активируется только после отключения питания, а не после обычной перезагрузки):
/system device-mode update container=yes
# HARD reboot the router (unplug the power) — a soft /system reboot
# will NOT activate the container feature
2. Отформатируйте и смонтируйте диск (ext4)
Вставьте USB-накопитель или microSD (рекомендуется ≥ 8 ГБ — Postgres + слои образа занимают место). На роутере:
/disk print
# note the disk slot, e.g. "usb1-part1" or "disk1"
/disk format-drive usb1-part1 file-system=ext4 label=samm
После форматирования убедитесь, что диск монтируется и доступен для записи:
/disk print detail
# look for "type=ext4" and a mount point like "/usb1-part1"
3. Скопируйте compose-файл
Один файл для всех платформ. Замените change-me-strong-random-string (пароль Postgres — одно и то же надёжное значение везде) и change-me-random-token. Затем в WebFig/WinBox: Container → Apps → + New → YAML, вставьте, укажите диск ext4 из шага 2 как хранилище и отправьте. RouterOS 7.23+ автоматически подтягивает нужную архитектуру ЦП из тегов образов.
Застряло на "waiting for reverse proxy"? В RouterOS 7.23+ снимите флажок Use HTTPS в диалоге Apps и разверните заново — эта опция управляет прокси веб-интерфейса приложения, а не загрузкой образов.
Немедленно смените пароль администратора. Аутентификация и учёт RADIUS доступны на UDP 1812 + 1813 на самом роутере, поэтому RADIUS-клиент MikroTik может указывать на 127.0.0.1 с общим секретом, заданным в System → RADIUS.
Экспериментальный путь развертывания. Функция контейнеров RouterOS легче Docker Compose — поведение именованных служб DNS, порядок зависимостей (depends_on) и перезагрузки в реальном времени отличаются. Если стека ведет себя некорректно на вашем оборудовании, вернитесь к запуску Docker на небольшой машине Linux (NUC, Pi 4, виртуальная машина Linux) рядом с MikroTik. Один и тот же файл compose работает там с полной семантикой Compose.
5. Обновление — резервное копирование и восстановление вручную.
Обновление приложения контейнера MikroTik удаляет вашу базу данных.
RouterOS не может изменить версию установленного приложения на месте — единственный способ — удалить приложение и добавить его снова, и при удалении удаляются все данные, сохранённые приложением, включая базу данных SAMM. Создайте резервную копию и скачайте её на компьютер ПЕРЕД тем, как удалите приложение. Резервная копия, оставленная на роутере, будет удалена вместе со всем остальным.
Чтобы переместить установку контейнера MikroTik в новую версию:
В SAMM перейдите в Инструменты → Резервное копирование, создайте резервную копию и
скачайте файл на ваш компьютер.
На роутере удалите приложение и добавьте его снова с новым
версия.
Откройте свежую установку SAMM, перейдите в меню Инструменты → Резервное копирование и восстановите скачанный файл.
Это относится только к контейнеру MikroTik . В Docker ( Linux , Windows или виртуальная машина Linux ) обновление — docker compose pull , тогда docker compose up -d , и ваши данные не будут затронуты — тома находятся за пределами
контейнеры и выжить.
Установка
Вариант F — SAMM Server ISO (установка-appliance)
SAMM Server ISO превращает любую пустую машину или ВМ в готовый сервер SAMM: загрузитесь, выберите DHCP или статический IP на единственном экране, подтвердите — и всё. Образ устанавливает Ubuntu Server 24.04 LTS (минимальный), задаёт имя хоста samm-server, а при первой загрузке автоматически скачивает и устанавливает последний выпуск SAMM — ISO никогда не устаревает. Консоль показывает заставку SAMM и баннер входа с IP сервера, адресом панели администратора и учётными данными по умолчанию, а команда samm-tools даёт прямой доступ к инструментам обслуживания (проверка состояния, резервное копирование и восстановление базы, сброс пароля администратора).
ISO стирает первый диск машины. Загружайте его только на оборудовании или ВМ, выделенных под SAMM. Если во время установки нет интернета, настройка сама завершится, как только он появится.
Запишите образ на USB-накопитель (Rufus, balenaEtcher или dd) или подключите к ВМ, загрузитесь и ответьте на вопрос о сети. Учётные данные по умолчанию после установки — панель: admin / admin, ОС: samm / samm или root / samm — смените их все.
Установщик работает как живой цветной индикатор прогресса — процентная шкала и
контрольный список по фазам. Необработанный вывод каждой фазы записывается в
/var/log/samm-install.log; при сбое печатаются последние 30 строк.
Компонент
Подробности
FreeRADIUS 3
Настроен с бэкендом PostgreSQL и динамическими NAS-клиентами; проверен командой freeradius -CX
PostgreSQL
База данных, схема и все SQL-миграции применены — каждый файл миграции идемпотентен
Python venv
Все зависимости ставятся из requirements.txt; каталоги переводов компилируются. Если Python дистрибутива не совпадает со скомпилированным пакетом, установщик автоматически скачивает подходящий автономный интерпретатор в /opt/samm/runtime
nginx
Обратный прокси добавляется дополнительно — существующие сайты никогда не удаляются. Использует порт 80, если он свободен; иначе запрашивает альтернативный порт
5 services
samm-api, samm-radius, samm-worker, samm-notification, samm-telegram — все включены как юниты systemd
WireGuard
Пакеты установлены; настраиваются позже в System → VPN
cloudflared
Бинарный файл всегда устанавливается; токен туннеля указывается при установке по желанию или добавляется позже в System → Cloudflare Tunnel
Все учётные данные — пароль базы данных и ключи подписи сессий — генерируются автоматически при первой установке.
Интерактивные запросы
Все запросы происходят заранее, до начала установки:
Токен Cloudflare — вставьте токен коннектора Zero Trust, чтобы опубликовать
SAMM в сети без открытых портов, или нажмите Enter, чтобы пропустить и настроить позже.
Порт HTTP — если порт 80 уже занят, установщик оставляет
эти сайты нетронутыми и запрашивает альтернативный порт (по умолчанию 8080).
Сводка установки
После завершения установщик печатает сводку с URL администратора, логином по умолчанию,
выбранным портом HTTP, учётными данными базы данных и путями к файлам конфигурации:
============================================================
SAMM is installed and running.
Admin portal : http://localhost/admin/login
Default login : admin / admin <- CHANGE AFTER FIRST LOGIN
Config files : /etc/samm/samm.yaml /etc/samm/api.env
============================================================
Обновление
Чтобы обновить, скачайте новые исходники и запустите установщик заново:
git -C /opt/samm pull # or unpack a newer release bundle
sudo bash /opt/samm/install.sh
Повторный запуск повторно синхронизирует исходники, обновляет venv, повторно применяет все миграции,
перезагружает конфигурации FreeRADIUS и nginx и перезапускает каждую службу. Ваши файлы конфигурации
и порт HTTP, выбранный при первой установке, сохраняются.
Совет
SAMM также может обновляться сам — см. Лицензирование и обновления.
Включите автоматические обновления или применяйте их по требованию в System → License.
Изолированная сеть и удалённая БД
SAMM поставляет только SAMM — FreeRADIUS, PostgreSQL, nginx и остальное скачиваются во
время установки из вышестоящих apt-репозиториев, поэтому при установке в изолированной сети эти
пакеты нужно подготовить заранее. Для удалённого PostgreSQL задайте DSN в /etc/samm/samm.yaml
после установки.
Начать использовать
Первые шаги
Пять коротких задач доводят свежую установку до состояния, когда абоненты могут подключаться и им можно выставлять счета.
1 · Первый вход
Откройте http://<your-server>/admin/ (используйте порт HTTP из
сводки установки, если это не 80) или URL вашего туннеля Cloudflare.
Войдите с admin / admin.
Немедленно смените пароль в System → Admins
или в меню профиля на верхней панели.
2 · Добавьте свой первый роутер
Перейдите в MikroTik → NAS и нажмите Add Router.
Введите IP роутера, короткое имя и общий секрет RADIUS. Для устройств MikroTik
при желании добавьте учётные данные API для оперативной синхронизации устройства.
На MikroTik добавьте сервер RADIUS, указывающий на хост SAMM (порты 1812/1813)
с тем же общим секретом, и включите RADIUS для PPP / Hotspot.
Перезапуск FreeRADIUS не нужен — SAMM определяет NAS-клиентов динамически из
базы данных. Полную процедуру см. в разделе Роутеры (NAS),
или позвольте мастеру настройки настроить
MikroTik за вас.
3 · Создайте план
План определяет скорость, лимиты и цену, которую вы продаёте. Перейдите в
Users → Plans → New plan. Полный справочник по полям:
Планы и лимиты.
4 · Добавьте абонента
Перейдите в Users → New customer, заполните учётные
данные для входа и выберите план. Абонент может подключиться сразу. Для предоплаченного
доступа hotspot вместо этого сгенерируйте ваучерные карты.
5 · Активируйте лицензию
Свежая установка работает незарегистрированной на минимальном тарифе. Откройте
System → License и активируйте, чтобы снять ограничения — см.
Лицензирование и тарифы.
Повседневный ритм
Добавляйте роутеры → создавайте планы → добавляйте абонентов или карты → следите за
Панелью → фиксируйте платежи в разделе
Бухгалтерия.
Начать использовать
Миграция с другой системы
Уже используете другую систему биллинга RADIUS? SAMM читает её данные и заново создаёт ваши планы и абонентов, так что ничего не придётся вводить вручную. Абоненты сохраняют свой сервисный пароль и дату окончания, а значит продолжают входить точно так же, как раньше.
Откройте Инструменты → Экспорт / Импорт и выберите свою прежнюю систему в разделе Миграция с другой системы. Как и остальные Инструменты, функция доступна только суперадминистраторам.
Что загружать
Прежняя система
Файл
Откуда он берётся
SAS4 / Radius Manager
.sql или .sql.gz
Резервная копия MySQL старой базы данных
Super Speed Radius
.sql или .sql.gz
Резервная копия MySQL старой базы данных
Pro Radius
.xlsx или .csv
Её экспортированный список абонентов — эта система не умеет выгружать резервную копию
Резервные копии баз данных часто занимают несколько гигабайт; это нормально, загружайте файл как есть. Сжатые копии не нужно предварительно распаковывать.
Как это работает
Загрузите файл. Пока ничего не записывается.
Просмотрите предпросмотр. В нём перечислены планы и абоненты, которые будут созданы, отмечено всё, что пришлось пропустить или исправить, и проверено общее количество относительно вашей лицензии — до того, как вы подтвердите.
Выберите, что делать с уже существующими именами пользователей в SAMM — пропустить их и сохранить запись SAMM либо обновить её имя и контакты из прежней системы.
Импортируйте. Каждая строка записывается независимо, поэтому одна плохая строка никогда не откатывает остальные.
Что переносится
Планы — название, скорости, цена, срок и квота трафика, если прежняя система их хранит.
Абоненты — логин, сервисный пароль, имя, контактные данные, дата окончания, план, статический IP и MAC.
Абоненты, отключённые в прежней системе, остаются отключёнными.
Биллинг, счета, предоплаченные карты, заявки, бухгалтерия и журналы администратора намеренно не импортируются — они относятся к модели данных прежней системы и редко переносятся без искажений.
Значения, не соответствующие своему столбцу
Реальные базы данных неаккуратны: адрес, введённый в поле e-mail, заметка в поле мобильного телефона, номер, набранный на арабской клавиатуре. SAMM проверяет каждое значение на соответствие тому, что должно храниться в его столбце. Всё, что не подходит, остаётся вне этого поля и вместо этого сохраняется в служебных заметках абонента с пометкой источника — так ничего не теряется и ни одно поле не засоряется. Предпросмотр сообщит, сколько значений это затронуло.
Pro Radius подробности
Pro Radius экспортирует абонентов, но не планы, поэтому SAMM выводит планы из уровня услуги каждого абонента, беря скорость из его названия (услуга «4MBPS» становится планом на 4 Мбит/с). Трёх вещей в этом файле попросту нет, и они задаются разумными значениями по умолчанию, которые следует потом проверить:
Срок — установлен в 1 месяц. Настоящая дата окончания каждого абонента импортируется без изменений, так что это влияет только на будущие продления.
Скорость отдачи — приравнена к скорости приёма.
Цена — установлена в 0.
Проверьте планы перед выставлением счетов
После импорта из Pro Radius откройте Планы и задайте для каждого реальную цену и период. Пока вы этого не сделаете, такие планы будут выставляться по нулю.
Полезно знать
Запускать можно многократно и безопасно. Повторный импорт того же файла пропускает всех уже имеющихся, а не дублирует их.
Ваша лицензия по-прежнему действует. Если в файле больше абонентов, чем допускает ваш тариф, предпросмотр скажет об этом заранее и укажет, сколько поместится — можно повысить тариф или импортировать часть.
Сначала сделайте резервную копию, если импортируете в установку, где уже есть реальные данные.
Абоненты & тарифы
Тарифы & ограничения
План — это описание услуги, назначаемое абонентам — оно задаёт
скорость, лимиты и цену. Создавайте планы до добавления пользователей.
Свежая установка уже содержит 9 готовых тарифов — восемь месячных ступеней скорости плюс тариф-ограничитель «Expired» — продавайте сразу или создавайте свои. Посев выполняется только при первой установке и никогда не трогает добавленные вами тарифы.
Создать план
Перейдите в Users → Plans.
Нажмите New plan.
Заполните форму и нажмите Save plan.
Каждый лимит — это переключатель — включайте только нужные вам. То же окно редактирует существующий план (откройте меню ⋮ строки → Edit).
Поля плана
Поле
Значение
Название
Уникальное имя плана, например Home-50M
Цена
Взимается за расчётный период при использовании выставления счетов
Скорость загрузки / отдачи
например 50M, 512K, 1G — применяется как ограничение скорости MikroTik
Одновременные сессии
Сколько устройств может быть одновременно онлайн на этом тарифе. По умолчанию 1 — второй вход отклоняется, пока активен первый. Укажите 0 для неограниченного числа. Сессия, переставшая передавать данные, игнорируется, поэтому обрыв связи никогда не блокирует абонента
Лимит: Истечение срока
Подписка заканчивается через фиксированный период после активации (дни/месяцы/часы/минуты)
Лимит: Квота
Общий лимит трафика (совокупный, только загрузка или только отдача) на всю подписку
Лимит: Время в сети
Ограничение на суммарное время подключения — сумма длительностей всех сессий
Лимит: Дневное потребление
Лимит трафика, который сбрасывается каждый день в заданное время ежедневного сброса
Безлимитное окно
Быстрое добавление одного окна скорости — полный редактор находится на странице Speed Windows плана
Пул IP
Необязательное имя RADIUS Framed-Pool для назначения адресов
Автопродление
Начать новый период по истечении срока вместо смены плана или отключения
Четыре лимита
Каждый лимит независим и необязателен. Когда заданы несколько, SAMM проверяет их в
фиксированном порядке — истечение срока → квота → время в сети → дневной — и первый
исчерпанный определяет действие.
Лимит
Отслеживает
При исчерпании
Истечение срока
Календарное время с момента активации
Переключить на другой план или отключить
Квота
Всего использовано байтов
Переключить на другой план или отключить
Время в сети
Суммарные секунды сессий
Переключить на другой план или отключить
Дневной
Байты с момента последнего ежедневного сброса
Дросселирование — до заданных скоростей или через более медленный тариф — до следующего дневного сброса
Для каждого лимита вы выбираете, что происходит при исчерпании: укажите следующий тариф, на который переключить абонента, или оставьте — отключение —. Дневной лимит дросселирует вместо отключения: по умолчанию вы задаёте скорости напрямую (поля загрузки/отдачи) либо выбираете более медленный «следующий» тариф — в обоих случаях абонент автоматически возвращается к исходному тарифу при следующем дневном сбросе.
Окна скорости
Окно скорости переопределяет базовую скорость плана на заданные часы — например,
окно с безлимитной скоростью после полуночи. Нажмите на строку плана, чтобы открыть его
редактор Speed Windows, который добавляет управление по дням недели и поддерживает
окна, пересекающие полночь. Когда совпадают несколько окон, побеждает
самое скоростное.
Примечание
Абоненты с ограниченной скоростью или исчерпанным лимитом исключаются из окон
скорости — SAMM никогда не повышает скорость, пока действует лимит.
Два понятия потребления
SAMM хранит потребление в двух местах и никогда их не смешивает:
Сбрасываемые счётчики — состояние по каждому лимиту. Обнуляются сбросом
администратора и ежедневным сбросом.
Биллинговые счётчики — несбрасываемые итоги за всё время. Никогда не обнуляются,
поэтому отчёты и счета остаются точными.
Управление планами
Список планов показывает скорость каждого плана, число абонентов, активные лимиты и окна
скорости. Из меню ⋮ строки вы можете редактировать, открыть его окна скорости, включить/отключить его,
перейти к его абонентам или удалить его (только когда у него нет абонентов). Редактирование
автопродления предлагает распространить изменение на всех текущих абонентов.
Дублирование точно копирует тариф, включая скорости, лимиты, окна скорости и цену,
под новым названием, что гораздо быстрее, чем вручную изменять один номер в тарифном плане.
Если вы выберете уже используемое имя, будет использовано следующее доступное число.
Абоненты & тарифы
Абоненты
Абонент (клиент / пользователь) — это учётная запись PPPoE или Hotspot, которая
аутентифицируется в SAMM. Каждому абоненту назначается ровно один план.
Создать абонента
Перейдите в Users и нажмите New customer.
Заполните форму и сохраните — абонент может подключиться сразу.
Поле
Значение
Имя пользователя *
Имя для входа PPPoE / Hotspot — должно быть уникальным
Пароль *
Пароль для входа (хранится для аутентификации RADIUS PAP/CHAP)
Имя / Фамилия
Имя абонента
Мобильный / Email / Адрес
Контактные данные — используются для уведомлений и счетов
Тариф *
Назначаемый тарифный план
Переопределение срока действия
Необязательная ручная дата истечения вместо вычисленной планом
Автопродление
Автоматически продлевать период плана по истечении срока
Создайте много подписчиков одновременно
Новые пользователи в партии создают нумерованный набор учетных записей за один проход —
обычный способ передачи блока логинов для развертывания в деревне, отеля или реселлера.
Выберите, сколько, с какого номера начинать и сколько нулей добавлять (3 дает
001, 002, …); все остальное — тариф, срок действия, автоматическое обновление —
заполняется один раз и применяется ко всем. Они делят один пароль.
Выбор счетов применяется к каждому пользователю в группеотдельно, поэтому при запуске пятидесяти либо создаются пятнадцать счетов, либо ни одного, и общая сумма отображается перед подтверждением.
Список абонентов
Страница Users перечисляет каждого абонента с наглядной точкой статуса, назначенным
планом и тем, сколько осталось от каждого лимита — дневное потребление с индикатором прогресса, остаток квоты,
остаток времени в сети и оставшиеся дни. Фильтруйте по статусу (All / Active / Suspended
/ Expired / Online) или ищите по имени пользователя, имени или мобильному.
Значок смены плана
Один значок — это план абонента. Два значка, соединённые стрелкой,
означают, что абонент достиг своего дневного лимита и временно переведён на план с ограничением
скорости — он вернётся к исходному при следующем ежедневном сбросе.
Управление абонентом
Щёлкните правой кнопкой по строке — или используйте меню ⋮ — для любого действия над абонентом:
Действие
Что он делает
Просмотр / Редактирование
Открыть страницу с подробностями или отредактировать контактные данные, пароль и срок действия
Включить / Отключить
Приостановить учётную запись — онлайн-абоненты отключаются
Продлить срок действия
Добавить длительность плана поверх оставшегося времени; создаёт счёт, если у плана есть цена
Сбросить время в сети / квоту / дневной
Обнулить выбранный счётчик лимита
Использование
Открыть графики потребления и историю сессий
Удалить
Удалить абонента и всю его историю — активные сессии сначала отключаются
Как действия вступают в силу
Сбросы, смены планов и продления ставятся в очередь в журнал аудита и применяются
тиком samm-radius — обычно в течение нескольких секунд. Если абонент
онлайн, SAMM также отправляет оперативное обновление. См.
CoA и оперативные изменения.
Страница деталей также показывает пароль абонента за кнопкой-глазом (с копированием в один клик) — удобно, когда клиент спрашивает свои данные.
Представление Usage
Действие Usage открывает подробную страницу трафика для одного абонента
с переключателем периода 7d / 14d / 30d / 90d. Оно сообщает три ключевых показателя —
трафик за сегодня (с разбивкой на отдачу/загрузку и минутами онлайн),
трафик за этот месяц и суммарное время онлайн
за месяц. Под ними — график дневного трафика отдачи против
загрузки и полная таблица истории сессий: время начала и окончания,
длительность, байты на загрузку и отдачу, NAS и причина завершения каждой сессии.
Массовые операции
Чтобы изменить владельца, срок действия, статус или автопродление для многих абонентов сразу — или
удалить многих — используйте инструменты Bulk Changes и Bulk
Delete. Чтобы создать абонентов массово из таблицы, используйте Export / Import.
Подписчик (или вся группа карт) может быть привязан к конкретным NAS-маршрутизаторам из формы редактирования. Без выбора маршрутизаторов аккаунт работает на любом NAS; с выбранными одним или несколькими, аутентификация принимается только с этих маршрутизаторов — принудительный отказ внутри RADIUS. Изменение набора немедленно отключает любую активную сессию на запрещенном маршрутизаторе. В сочетании с настройкой администрирования по NAS, это то, как многопрофильные и франчайзинговые структуры поддерживают подписчиков каждого филиала на маршрутизаторах этого филиала.
Абоненты & тарифы
Карты Hotspot
Для предоплаченного доступа Hotspot генерируйте пакет ваучерных карт
вместо отдельных абонентов. Каждая карта — это пара имя пользователя/пароль со своей
скоростью и лимитами, генерируемая тысячами и печатаемая для раздачи.
Создать группу карт
Перейдите в Users → Hotspot Cards и нажмите New group.
Заполните форму ниже и нажмите Create group — SAMM генерирует
учётные данные каждой карты автоматически.
Раздел
Поля
Идентификация
Уникальное имя группы, описание, необязательный префикс имени пользователя, сколько карт сгенерировать (до 10 000)
Учётные данные
Формат имени пользователя и пароля (цифры / буквы / буквенно-цифровой) и длина
Ограничение скорости
Скорость загрузки и отдачи — 256k, 6M, 1G; 0 = безлимит
Лимит времени в сети, истечение срока после первого входа и групповая дата «действительно до»
Истечение срока отсчитывается от первого входа каждой карты, тогда как
действительно до — это жёсткая дата — карты нельзя использовать после неё,
независимо от того, были ли они когда-либо активированы.
Управление группой
Через меню ⋮ группы можно включить или отключить все карты разом, продлить дату «действительно до», добавить карты в партию или изменить её данные. Отдельную карту можно сбросить (квота, время или срок) или отключить со страницы карты.
Дублирование группы точно копирует все настройки и генерирует такое же количество карт с новыми кодами. Код карты может принадлежать только одной карте, поэтому копия — это новый тираж, а не клон старого. Это быстрый способ повторного заказа партии купонов, которые распроданы.
Статусы карт
Статус
Значение
Неиспользованная
Сгенерирована, но вход ни разу не выполнялся
Активен
Используется, в пределах своих лимитов
Исчерпана
Достигнут лимит (квота, время в сети или истечение срока)
Отключена
Отключена вручную
Печать и отслеживание
Откройте группу, чтобы увидеть её карты, распечатать их в PDF для раздачи
(макет печати использует логотип вашего провайдера из Settings) и просмотреть потребление по каждой карте. Трафик
карт также отображается в Отчётах на вкладке
Cards, и у каждой группы есть собственное представление бухгалтерии.
Противоположность купона: никто ничего не печатает, и никто не стоит за столом. Посетитель подключается к вашему горячему точке, нажимает Зарегистрироваться на странице входа, вводит свое имя и номер мобильного телефона, и SAMM отправляет им пароль по SMS, WhatsApp или электронной почте. Они вводят его на той же странице, и они онлайн — и вы сохраняете именованную, экспортируемую запись всех, кто использовал гостевую сеть.
Типичные места проведения: рестораны и кафе, отели и гостевые дома,
выставки и ярмарки, конференции, торговые центры, клиники и залы ожидания,
спортивные залы, коворкинги, салоны, залы ожидания в аэропортах, стадионы, кампусы, библиотеки,
автосалоны, места проведения свадеб, курорты и кемпинги.
Включение его
Сначала настройте канал доставки.Центр уведомлений → включите SMS или WhatsApp и
отправьте себе тестовое сообщение. Ничто другое не работает, пока не будет настроен хотя бы один канал.
Самообслуживание → Настройки: отметка
Разрешить гостям самостоятельную регистрацию, выберите, какие каналы предложить, и установите срок действия пароля и время ожидания гостя перед повторной просьбой.
Оставьте пароли берутся из группы «Самообслуживание»
за исключением случаев, когда есть веская причина для изменения — эта группа определяет скорость
и сколько устройств могут использовать один пароль.
Включите вкладку «Регистр» для каждого типа входа, который вы используете
— см. ниже. Это шаг, который люди часто упускают из виду.
Страница входа — шаг, который люди пропускают
Таб "Регистрация" имеет дизайн по логину и отключена по умолчанию. Откройте Менеджер устройств MikroTik → Маршрутизатор → Страница входа, отредактируйте используемый дизайн и установите флажок Разрешить самосервис. Вы можете изменить каждое предложение, которое видит гость на той же странице — метку вкладки "Регистрация", вводную строку, метки двух полей, кнопку и пять ответов ("Ваш пароль в пути", "У вас уже есть один", "Пожалуйста, попробуйте позже", "Мы не смогли его отправить", "Регистрация недоступна").
Затем нажмите «Нажать» — и нажимайте ее еще раз после каждого обновления SAMM .
Страницы входа в горячие точки хранятся в собственном флеш-памяти маршрутизатора, а не в SAMM. При обновлении SAMM они не перезапускаются, поэтому маршрутизатор продолжает обслуживать старую страницу без вкладки Регистрация до тех пор, пока вы не перезапустите. В вкладке «Страница входа» SAMM предупреждает вас, если маршрутизатор отображает страницы, более старые, чем установленная вами версия, и на странице Самообслуживания перечисляются все маршрутизаторы, которые не могут отображать вкладку, и предлагается исправить их все одновременно.
Правила, которые останавливают злоупотребления
Один активный пароль на номер. Повторное запросы при действительном коде направляет гостя на проверку сообщений, а не на отправку нового.
Затем период ожидания, который вы устанавливаете, перед тем как это число может запросить новое.
Срок действия начинается с момента отправки пароля, а не с первого входа в систему, поэтому код, который не использовался в течение недели, больше не работает.
Ежедневный лимит, установленный вашей лицензией (см. ниже). После его использования гости просят попробовать позже, а выданные пароли продолжают действовать.
Каждая попытка регистрируется против MAC-адреса устройства таким, как это сообщил маршрутизатор — что гость не может подделать из своего браузера.
Лицензия
Self Service лицензируется отдельно от вашего тарифа — по числу кодов доступа, которые установка может выдать в день, и продлевается в свою дату: можно быть на Free с платным дополнением или на Unlimited без него. Каждая установка получает 10 в день бесплатно; Light повышает до 50, Heavy — до 200, а Max снимает ограничение. См. цены.
Страница самообслуживания отображает использованное / разрешённое на сегодня и
ясно указывает, когда лимит исчерпан. Купить или обновить можно на панели мониторинга securytik.com,
или запросить в разделе Система → Лицензия, и администратор SecuryTik
подтвердит его. Код доступа, который не был отправлен, не учитывается в вашем лимите.
Сеть & роутеры
Роутеры (NAS)
NAS (Network Access Server) — это роутер, который аутентифицирует
абонентов в SAMM через RADIUS. Каждому роутеру, который несёт абонентский трафик,
нужна запись NAS.
Добавить роутер
Перейдите в MikroTik → NAS и нажмите Add Router.
Заполните поля ниже и сохраните.
Поле
Значение
IP / имя хоста NAS
Адрес роутера, каким его видит хост SAMM
Короткое имя
Понятная метка, отображаемая по всему интерфейсу
Тип
mikrotik открывает оперативную синхронизацию устройства и отправку конфигурации; другие типы — только RADIUS
Секрет
Общий секрет RADIUS — должен точно совпадать с роутером, иначе аутентификация не удастся
Порт CoA
UDP-порт, на который SAMM отправляет пакеты Change-of-Authorization (по умолчанию MikroTik 3799)
Порт / пользователь / пароль API
Учётные данные API MikroTik, которые SAMM использует для чтения информации об устройстве и отправки конфигурации
Перезапуск не нужен
SAMM определяет NAS-клиентов динамически из базы данных — добавление или удаление
роутера никогда не требует перезапуска FreeRADIUS.
Список NAS
Каждый роутер отображается в одной таблице — ID, IP / имя хоста NAS, короткое имя, тип, скрытый
секрет (щёлкните по ячейке, чтобы раскрыть его), порты CoA и API, а также
оперативный результат ping с временем отклика. Поле поиска фильтрует по IP,
короткому имени или описанию.
Меню ⋮ каждой строки содержит действия для роутера — View Device и
Refresh Info (только MikroTik), Edit, Push
RADIUS config (только MikroTik) и Delete. Открытие
строки типа mikrotik сразу переходит на её
страницу устройства.
Обнаружить соседей
Нажмите Discover neighbors, чтобы просканировать сеть на устройства MikroTik (по протоколу обнаружения соседей MikroTik) и добавить их как записи NAS, не вводя адреса вручную. Найденный маршрутизатор можно добавить по IP или автодобавить — бутстрап в один клик: создаёт на маршрутизаторе пользователя управления SAMM, задаёт IP управления и убирает заводской мост.
Автодобавление — для чистых маршрутизаторов
Бутстрап в один клик предназначен для заводски чистых (или сброшенных) устройств — на уже настроенном маршрутизаторе он может перезаписать или сломать конфигурацию.
Отправить конфигурацию RADIUS на роутер
Для записей NAS MikroTik меню ⋮ строки предлагает Push RADIUS config
— SAMM настраивает роутер за вас через API вместо ручного ввода. Вы
подтверждаете IP сервера SAMM (он должен быть доступен с роутера) и порты аутентификации,
учёта и CoA; затем SAMM создаёт или заменяет запись RADIUS на роутере:
Настройка
Значение
Комментарий
SAMM — тег, который SAMM использует, чтобы найти и обновить эту запись позже
Служба
hotspot, ppp
Адрес / секрет
Хост SAMM с общим секретом из этой записи NAS
Тайм-аут
3000 ms
Входящий CoA
Принимается на подтверждённом вами порту CoA
После завершения отправки диалог показывает журнал результатов.
Настройте сторону MikroTik
Если вместо этого вы настраиваете роутер вручную:
Добавьте сервер RADIUS, указывающий на хост SAMM, с тем же общим
секретом, включённый для PPP / Hotspot.
Используйте порт аутентификации 1812, порт учёта 1813.
Принимайте входящий CoA на порту 3799.
Установите интервал Interim-Update учёта примерно в 5 минут (значение мастера SAMM) — с этой частотой SAMM накапливает трафик и оценивает лимиты; более короткие интервалы ускоряют срабатывание лимитов ценой большего учётного трафика.
Устройства только для мониторинга
Роутер, добавленный как monitor, появляется в инвентаризации MikroTik,
пингуется и синхронизируется, но не имеет роли RADIUS — он не может аутентифицировать абонентов. Используйте
его для наблюдения за роутерами, которые не являются абонентскими NAS.
Сеть & роутеры
Менеджер MikroTik
Когда у роутера есть учётные данные API, SAMM управляет им напрямую через
API MikroTik — без WinBox, без SSH. Раздел MikroTik
— это актуальная инвентаризация каждого роутера, и каждое устройство открывает страницу с подробностями с
пятнадцатью вкладками, которые настраивают почти каждую часть RouterOS из вашего браузера.
MikroTik Monitor
MikroTik → Monitor показывает по одной карточке на роутер, расположенных
сеткой. Каждая карточка сообщает — обновляется samm-worker и опрашивается оперативно
каждые 30 секунд — точку доступности, версию RouterOS, загрузку CPU и число ядер,
использование памяти, число активных сессий, время в сети и время последнего замера.
Карточка помечается либо NAS (роутер, который также аутентифицирует
абонентов через RADIUS), либо monitor (устройство, добавленное только для
мониторинга). Add MikroTik регистрирует новое устройство; Refresh now
принудительно выполняет немедленный опрос. Карточки только для мониторинга имеют меню по правому щелчку — Open, Edit,
Refresh Info, Delete.
Страница устройства — пятнадцать вкладок
Откройте любое устройство для его полной страницы управления. Вкладки делятся на четыре группы.
Мониторинг
Вкладка
Что показывает
Обзор
Информация об устройстве, системная информация и графики истории производительности (CPU, память, сессии во времени)
Интерфейсы
Каждый интерфейс с его текущим состоянием, плюс история трафика по каждому интерфейсу
Сайты и приложения
Три подвида: Monitor (сайты и приложения, замеченные на маршрутизаторе, с историей трафика), QoS (приоритеты по приложениям, ниже) и App Filter (DNS-блокировка контента из каталога)
Менеджер устройств
Вкладка Manager → General — это служебная страница устройства:
Identity (имя роутера), Time (часы, часовой пояс и
NTP) и Tools (перезагрузка, ping и другие действия роутера в один клик).
Настройка сети
Вкладка
Что вы настраиваете
Мост
Создавайте мосты LAN и выбирайте, какие физические интерфейсы (порты) относятся к каждому
VLAN
Добавляйте интерфейсы VLAN и управляйте ими
IP
Три подвкладки — Static (статические и динамические адреса), DHCP client (получить адрес от вышестоящего), DHCP server (раздавать адреса, с актуальной таблицей аренды)
DNS
Сайты и приложения
WiFi / CAPsMAN
Интерфейсы Wi-Fi с их конфигурациями и профилями безопасности; и контроллер CAPsMAN — конфигурации, правила провижининга и удалённые CAP
Службы и обслуживание
Вкладка
Что вы настраиваете
PPPoE
Серверы PPPoE, профили PPP, пулы IP и интервал interim-update учёта RADIUS
Hotspot
Серверы Hotspot, профили hotspot и профили пользователей, пулы DHCP/IP и страница входа captive-портала
Интернет
Восходящие каналы WAN — управляемые SAMM WAN и маршруты по умолчанию, при этом любые существующие WAN не от SAMM показываются только для чтения
Firewall
Правила фильтра, анализ защищённости маршрутизатора, связность и цели, модули безопасности и резервные копии брандмауэра — Auto-Security делает снимок перед применением и может взвести автооткат по таймеру: набор правил, который вас запер, восстановится автоматически
Обновление
Обновления RouterOS — выберите канал обновлений, проверьте и примените, а также просмотрите установленные пакеты
Мастер
Пошаговая первичная настройка, ниже
Интервал interim-update PPPoE
На вкладке PPPoE параметр Interim update задаёт, как часто
роутер отправляет пакеты Interim-Update учёта RADIUS в SAMM. SAMM использует эти пакеты, чтобы
накапливать счётчики байтов и времени в сети и вычислять лимиты квоты, дневной и времени в сети —
без них применение лимитов и счётчики активных сессий останавливаются.
Рекомендуемое значение — 5m.
Страница входа Hotspot
На вкладке Hotspot вы управляете страницей входа captive-портала:
сохраняете стандартные страницы MikroTik, применяете один из встроенных шаблонов
или один из ваших сохранённых дизайнов. SAMM включает визуальный
редактор дизайна и галерею шаблонов — настройте страницу входа и отправьте её прямо в
hotspot маршрутизатора.
QoS с учётом приложений
Представление QoS (подвкладка веб-сайтов и приложений) превращает приложения и сайты в SAMM уже видит на маршрутизаторе план с приоритетом загрузки. Перетащите каждое приложение из пула в
один из восьми приоритетных слотов — слот 1 обслуживается первым в случае конкуренции, слот 8
последний; приложения, оставшиеся в пуле, не формируются. При желании можно ограничить скорость загрузки любого приложения (например, 10M ) и установите общий потолок загрузки для приоритета, за который можно бороться. Авторассылка
по категории упорядочивает всё в один клик — сначала сообщения, потом ИИ-сервисы, потом
магазины, а все остальное ниже.
При отправке SAMM компилирует слоты в дерево очередей MikroTik
(с меткой SAMM:qos, parent=global) с соответствующими правилами firewall для пакетных меток,
начиная с наивысшего приоритета. Оно построено на том же каталоге фильтра сайтов и приложений,
который питает мониторинг, поэтому появляются только приложения, реально замеченные на маршрутизаторе, — а удаление
SAMM QoS убирает с маршрутизатора все объекты SAMM:qos, оставляя ваши счётчики
нетронутыми.
Мастер настройки
Вкладка Мастер собирает всё за десять коротких шагов и в конце отправляет конфигурацию на маршрутизатор одним пакетом. Ничего не отправляется, пока вы не подтвердите на финальном шаге проверки.
Приветствие и определение — SAMM опрашивает маршрутизатор и показывает, что уже
настроено, чтобы вы могли пропустить эти пункты при отправке.
Интерфейс bridge — задайте имя LAN bridge.
Порты bridge — выберите, какие физические интерфейсы войдут в bridge.
DNS — задайте вышестоящие резолверы (пресеты в один клик для Google,
Cloudflare, Quad9 и других), размер кэша и, при желании, DNS-фильтр контента.
NTP — источник времени маршрутизатора (клиент NTP, опционально раздача времени в LAN).
Интернет — добавьте одно или несколько WAN-подключений (Static / DHCP / PPPoE).
RADIUS в SAMM — направьте маршрутизатор на ваш хост SAMM для
аутентификации, учёта и CoA.
Службы — выберите, создает ли волшебник сервер PPPoE, сервер горячей точки или службу IPoE/DHCP, и по желанию включите
двойной стек IPv6 (опционально, отключено по умолчанию): выберите длину префикса делегированного (DHCPv6-PD)
и блоки IPv6, и волшебник создаст пулы и прикрепит их к профилю PPP.
Детали PPPoE / Hotspot и брандмауэр — пулы, профили, время аренды, правила брандмауэра и NAT, плюс опциональный пул Expired и блокировка интернета, перенаправляющий истёкших абонентов на страницу SAMM «подписка истекла» вместо мёртвого соединения.
Проверка и отправка — просмотрите точный список команд, которые будут
отправлены, затем отправьте их все на маршрутизатор.
Скорость для каждого пользователя приходит из RADIUS
Мастер создаёт один профиль PPPoE / hotspot — он не отправляет профили для каждого
тарифа. Скорость каждого абонента доставляется SAMM в ответе RADIUS при входе,
поэтому смена плана никогда не требует правки маршрутизатора.
Сеть & роутеры
Карта сети, состояние и Data Log
Карта сети
Devices → Network Map строится по тому, что каждый роутер сообщает о своих соседях, — рисовать схему вручную не нужно. Переключайте слои портов, IP-адресов, подсетей и CPU или показывайте путь каждого устройства в интернет. Расставьте узлы и сохраните раскладку; Discover now заново опрашивает соседей.
Состояние сети
Devices → Network Health показывает все роутеры, начиная с худших: исправен, с предупреждениями, отвечает, но неисправен, или недоступен. Каждая находка простыми словами объясняет проблему — CoA отключён, не совпадает секрет RADIUS, часы не синхронизированы, открыт Telnet или FTP. Проверки только читают роутер. В режиме Diagnose роутера для частых находок есть исправление в один клик с предварительным просмотром и возможностью отката. Открытые находки создают оповещения в Alert Center.
Обе страницы включаются одним переключателем в настройках. Когда он выключен, SAMM не обращается к роутерам для них.
Data Log
Откройте пользователя и выберите Data Log, чтобы увидеть, куда идёт его трафик: основные направления по хосту и приложению — YouTube, Facebook, WhatsApp — с отдачей, загрузкой и соединениями, или временную шкалу. SAMM читает экспорт потоков роутера (IPFIX), а при его отсутствии — таблицу соединений, и определяет приложения по тому же каталогу, что и App Filter. SAMM никогда не стоит на пути трафика.
Выключено, пока вы не включите
Data Log включает суперадминистратор в настройках и задаёт срок хранения. Цифры ориентировочные; биллинг всегда использует учёт RADIUS.
Сеть & роутеры
CoA & изменения на лету
CoA (Change-of-Authorization) — это то, как SAMM меняет сессию абонента,
пока он в сети — чтобы повысить или понизить его скорость либо отключить его —
не дожидаясь его переподключения.
Как изменение доходит до активного абонента
SAMM никогда не отправляет изменение на маршрутизатор прямо по нажатию кнопки. Каждое действие администратора идёт по одному безопасному пути:
Действие администратора→Журнал аудита→тик samm-radius→Исходящая очередь CoA→Маршрутизатор
Действие записывается в журнал аудита как команда в очереди.
Служба samm-radius опустошает очередь на своём следующем тике, применяет
изменение и — если абонент в сети — ставит в очередь CoA.
Исходящая очередь CoA опустошается, и пакет отправляется на маршрутизатор.
События по времени — истечение срока, границы окон скорости, ежедневные сбросы — питают ту же очередь.
Верхняя граница задержки — один тик samm-radius (30 с по умолчанию; уменьшите
его в Настройках для более строгого применения).
Гибридный CoA
SAMM сначала отправляет CoA-Update, чтобы изменить сессию на месте. Если
маршрутизатор отклоняет его после настроенного числа попыток, SAMM автоматически переходит к
Disconnect-Request — абонент переподключается и получает новые
настройки. Эта гибридная стратегия работает во всех версиях прошивки MikroTik.
Страница исходящей очереди CoA
Пользователи → Исходящая очередь CoA — это живое отображение этой очереди.
samm-radius — единственный отправитель: панель администратора никогда не отправляет CoA
напрямую — и она опустошает очередь на каждом тике. Страница автоматически обновляется каждые
30 секунд.
Шесть счётчиков возглавляют страницу — В ожидании, Отправлено, NACK (повтор), Готово,
Ошибка и Всего. Фильтруйте таблицу по статусу, по действию
(update или disconnect) или ищите по имени пользователя, IP NAS или
причине.
Статус
Значение
в ожидании
В очереди, ожидает следующего тика samm-radius
отправлено
Отправлено (переходное — отправка и её результат записываются в одном тике, строки редко остаются в этом состоянии)
nack
Маршрутизатор отклонил CoA-Update — SAMM повторяет попытки, затем переходит к отключению
готово
Успешно применено
ошибка
Отказ после исчерпания лимита попыток — наведите на значок, чтобы увидеть последнюю ошибку
Каждая строка показывает пользователя, маршрутизатор, действие, число попыток, причину, а также время создания и
отправки. Действия по строке позволяют Повторить ошибочный или nack-пакет,
Отменить ещё выполняющийся или открыть Атрибуты, чтобы
изучить точные атрибуты RADIUS, которые несёт пакет. Значок в боковой панели считает
строки в ожидании; Панель управления отслеживает ошибки за 24 часа. Исправная система держит эту очередь
почти пустой.
Жнец устаревшей сессии
Если маршрутизатор выйдет из строя или потеряет соединение, его пакеты Accounting-Stop могут быть потеряны.
и во многих системах эти абоненты остаются «онлайн» навсегда. SAMM опросов по сеансам
которые прекратили отправку промежуточных обновлений и автоматически закрывают их (завершить
причина Reaped-Stale ), поэтому учитываются список живых сеансов, одновременное использование и
данные об использовании остаются правдивыми. Тайм-аут – stale_session_timeout_seconds .
настройка (по умолчанию 900 с = 15 минут; установите 0, чтобы отключить), и она вступит в силу в реальном времени — нет
необходим перезапуск.
Повседневные операции
Панель управления и активные сессии
Два экрана в разделе Обзор — это то, с чего вы начинаете
каждую смену: Панель управления для состояния всей системы, Активные сессии — для того,
кто именно подключён прямо сейчас.
Панель мониторинга
Обзор → Панель управления — это главный экран оператора.
Селектор периода вверху — Сегодня, 7д, 14д, 30д, 90д — задаёт
окно для графика трендов и показателей, ограниченных датами.
Шесть плиток KPI
Каждая плитка — это живой счётчик и ярлык: щёлкните по ней, чтобы сразу перейти к отфильтрованному списку за этим числом.
Плитка
Показывает
Открывает
Сейчас в сети
Абоненты с активной сессией RADIUS прямо сейчас
Пользователи, отфильтрованные по В сети
Активные абоненты
Активные учётные записи, под которыми — общее число абонентов
Пользователи, отфильтрованные по Активные
Истёк
Абоненты, чья подписка истекла без установленного следующего плана
Пользователи, отфильтрованные по Истёкшие
Открытые тикеты
Нерешённые тикеты поддержки (без выполненных и закрытых)
Пользователи → Тикеты поддержки
Маршрутизаторы
Всего записей NAS, а также число сейчас недоступных
Монитор MikroTik
Неоплаченные счета
Счета, по которым ещё нужно проследить оплату
Счета, отфильтрованные по Неоплаченные
График пользователей и активных сессий
Линейный график на основе ежедневных снимков отображает три ряда за выбранный период —
активные пользователи, сессии в сети и
истёкшие пользователи — так что рост и отток видны с первого взгляда.
Состояние конвейера
Эта панель — пульс движка применения. В исправной системе
очереди держатся на нуле или около него — число, остающееся высоким, указывает на зависшую службу или
маршрутизатор, отклоняющий изменения.
Метрика
Что она означает
samm-radius очередь
Ожидающие CoA в ожидании следующего тика — должны очиститься за секунды
Сбои CoA (24ч)
Ноль в исправной системе; ненулевое число означает, что маршрутизатор отклоняет CoA
Журнал аудита в ожидании
Действия администратора в очереди, ещё не применённые samm-radius
Сессии с ограничением скорости
Абоненты, сейчас удерживаемые на пониженной скорости лимитом — ожидаемо, не ошибка
Снимок сессий
Число активных сессий — должно совпадать с Сейчас в сети
Активные планы
Размер вашего каталога планов
Путь применения
Действия администратора ставятся в очередь в samm.audit_log; тик samm-radius
опустошает их и выпускает CoA в samm.coa_outbox. Полный путь
описан в CoA и изменения в реальном времени.
Таблицы недавней активности
Четыре таблицы под графиком дают непрерывный обзор того, что только что произошло, каждая со
ссылкой Показать все на её полную страницу:
Недавняя исходящая очередь CoA — действие, пользователь, статус (готово / в ожидании / nack / ошибка), число попыток, причина и время.
Недавние действия администратора — действие, цель, инициатор, применено ли уже, и время.
Недавние абоненты — новейшие учётные записи с их статусом и временем последней аутентификации.
Маршрутизаторы — каждый NAS с индикатором состояния доступен / недоступен / нет данных.
Активные сессии
Обзор → Активные сессии перечисляет каждого абонента, которого
маршрутизаторы сейчас сообщают как находящегося в сети по учёту RADIUS. Страница
автоматически обновляется каждые 30 секунд; кнопка ручного Обновления
находится в заголовке.
Фильтрация списка
Поиск — совпадает с именем пользователя, framed IP или IP NAS, отправляя по мере ввода.
Маршрутизатор — сужает список до сессий на одном NAS.
Только ограниченные — показать только абонентов, которых лимит удерживает на пониженной скорости.
На странице — 20, 50, 100 или 200 строк.
Что показывает каждая строка
Столбец
Значение
Пользователь
Имя пользователя — ссылка на страницу с деталями абонента
Framed IP
Адрес, назначенный маршрутизатором этой сессии
Маршрутизатор
Короткое имя NAS и его IP-адрес
Тариф
Текущий план абонента
Действующая скорость
Скорость, применённая на маршрутизаторе прямо сейчас — скорость плана, скорректированная любым активным окном скорости. Значок с ограничением означает, что лимит удерживает абонента на пониженной скорости.
Приём / Передача
Живые счётчики байтов для сессии
В сети
Как долго длится сессия
Начата
Когда началась сессия
Отключение сессии
Кнопка Отключить в строке ставит в очередь CoA-Disconnect
именно для этой сессии (причина admin_manual) после запроса подтверждения.
Абонент отключается немедленно; если его учётная запись всё ещё активна, он может свободно
переподключиться. Отслеживайте пакет в Исходящей очереди CoA.
Повседневные операции
Отчёты и аналитика
Обзор → Отчёты — это аналитическое представление: тренды
абонентов, трафик во времени и самые нагруженные пользователи и карты в вашей сети.
Выбор диапазона
Каждый показатель на странице привязан к диапазону дат. Выберите пресет —
7д, 14д, 30д, 90д — или введите явные даты начала и
конца и нажмите Применить. Наложение загрузки закрывает
страницу, пока выполняется длинный запрос, например 90д.
Тренды абонентов и сессий
Линейный график с тремя рядами за выбранный диапазон: Активные
абоненты, сессии В сети и Истёкшие
абоненты. Используйте его, чтобы замечать рост, отток и часы пиковой нагрузки вашей сети.
Ежедневный трафик
Столбчатая диаграмма с накоплением байтов передачи и приёма
за день. При наведении на день показываются показатели передачи и приёма, а также объединённый
итог в нижней части подсказки.
Списки Топ-10
Четыре таблицы выводят учётные записи с наибольшим трафиком, каждая ранжирована по объёму в ГБ:
Список
Ранжирует
Топ-10 приёма за сегодня
Наибольший приём с момента последнего ежедневного сброса
Топ-10 передачи за сегодня
Наибольшая передача с момента последнего ежедневного сброса
Топ-10 приёма за месяц
Наибольший приём за этот календарный месяц
Топ-10 передачи за месяц
Наибольшая передача за этот календарный месяц
Трафик по объектам
Таблица трафика по учётным записям с постраничной разбивкой и поиском. Две вкладки переключают то, что она перечисляет:
Пользователи — каждый абонент с его именем, планом, сегодняшними
передачей/приёмом в МБ и передачей/приёмом за этот месяц в ГБ.
Карты — каждая карта hotspot с её группой, статусом и той же
разбивкой трафика за сегодня / месяц.
Поле поиска фильтрует таблицу по мере ввода; селектор
на странице принимает от 20 до 200 строк. Каждая строка ведёт на
страницу с деталями этого абонента или карты.
Экспорт
Отчёты — это экранное аналитическое представление. Для получения сырых строк для обработки в электронной таблице
используйте Инструменты → Экспорт / Импорт, чтобы скачать
пользователей, планы или NAS в формате CSV / XLSX.
Повседневные операции
Учёт & выставление счетов
В SAMM встроена полная система двойной бухгалтерии —
счета, расходы, поступления, платежи, реселлеры, основные средства и полные финансовые
отчёты. Не нужно интегрировать отдельный биллинговый продукт и не нужен бухгалтер,
чтобы вести книги в порядке.
Вы никогда не касаетесь дебетов и кредитов
Каждое действие — запись платежа, добавление расхода, продажа группы карт —
автоматически проводит сбалансированную запись в журнал в главную книгу. Вы
работаете простыми понятиями (счета, расходы, поступления); SAMM ведёт двойную
бухгалтерию за кулисами и доказывает её сбалансированность в Оборотно-сальдовой ведомости.
Страница Бухгалтерия разбита на одиннадцать вкладок.
Обзор
Финансовый снимок. Четыре ключевых показателя расположены вверху:
Показатель
Значение
Наличные в кассе
Общий баланс по всем кассовым и банковским счетам
Деньги, которые вам должны
Дебиторская задолженность — неоплаченные счета клиентов и реселлеров
Деньги, которые должны вы
Кредиторская задолженность — неоплаченные расходы
Прибыль за этот месяц
Доходы за вычетом расходов за текущий месяц
Ниже: таблица каждого кассового и банковского счёта с его балансом и
график доходов и расходов за последние 1, 2, 3, 6 или 12 месяцев.
Счета
Счёт — это документ на оплату, который вы выставляете. Нажмите Новый счёт и заполните:
Поле
Значение
Клиент
Поиск с автодополнением для учётной записи, которой выставляется счёт
Категория дохода
На какой счёт доходов проводится продажа
Дата выставления / срока оплаты
Пустая дата выставления = сегодня; пустой срок оплаты = дата выставления
Налоговая ставка % / налоговая группа
По умолчанию — ставка из Настройки → Billing; назначьте группу налогов, чтобы применять несколько ставок (НДС/НДС и др.) одновременно, каждая из которых будет учитываться по отдельному налоговому счету
Позиции
Одна или несколько строк описание / количество / цена за единицу — промежуточный итог, налог и итог вычисляются на лету
Сколько взимать плату — полную, сегментированную или ничего
В любом случае, когда SAMM готов выставить счет абоненту — при активации, обновлении, изменении тарифа, продлении срока действия или выполнении любой из этих действий в массовом порядке — появляется один и тот же селектор счета с указанием суммы, который отображает стоимость до того, как вы подтвердите действие.
Выбор
Сколько это стоит
Полный счет
Только целые плановые периоды — частичный период округляется до целого.
Сегментированный счет
Точное время, пропорционально последнему периоду. Общая сумма округляется до ближайшего целого значения, а разница учитывается как корректировка округления, чтобы книги оставались сбалансированными.
Нет счета-фактуры
Поменяйте услугу и ничего не взимайте — продление гудвилла, миграция, исправление.
Установите длину с помощью множителя периодов для всех периодов тарифа или введите точную дату, и SAMM сам рассчитает стоимость. В любом случае панель отображает позиции строки, налог и общую сумму при их изменении, а Оплаченно фиксирует денежный платеж за полную сумму сразу.
«Нет счета»; это право, а не флажок
Ничего не взимать — это финансовое решение, поэтому оно ограничено разрешением для каждой роли в Настройки → Администраторы . Это важнее всего с агенты : агент, чьи подписчики выставляют счета на свой собственный предоплаченный баланс.
в противном случае можно было бы продлить, изменить планы и продлить срок действия на весь день, даже не заплатив за
их. Для новых ролей право отключается .
Даннинг & предоплаченный кошелек
SAMM автоматизирует весь процесс взыскания, выходя за рамки одноразовых счетов.
Расписание дуннинга устанавливает день выставления счета, срок оплаты и автоматический блокировочный день — с возможностью начисления штрафных санкций за просрочку — чтобы напоминать подписчикам о просроченных платежах и отключать их без вашего участия в ведении таблицы.
Режим предоплаты позволяет подписчикам иметь баланс, который автоматически погашает счета при продлении; они пополняют его сами через портал клиента картой или криптовалютой, а все пополнения и списания отражаются в бухгалтерской книге.
Счета также генерируются автоматически, когда план абонента
продлевается (по действию Продлить срок пользователя или автопродлением), при условии,
что у плана есть цена. Список фильтруется по статусу — неоплачен, частично, к оплате,
оплачен — и ищется по номеру счёта или клиенту. Откройте любой счёт для его
страницы с деталями и печатного PDF; абоненты могут скачать свои копии из
клиентского портала и Telegram-бота.
Расходы
Расход — это деньги, потраченные на работу ISP. Новый расход записывает
категорию (счёт расходов), оплаченного поставщика, сумму, дату возникновения и
необязательный срок оплаты. Каждый расход имеет тот же жизненный цикл неоплачен / частично / к оплате / оплачен,
что и счёт, страницу с деталями и печатный PDF ваучера.
Поступления и платежи
Эти две вкладки записывают фактическое движение денег — в отличие от счёта или расхода,
который его вызвал.
Поступления — деньги на входе: наличные, полученные от клиента,
реселлера или иного дохода, поступающие на один из ваших кассовых счетов. Счёт — это
документ на оплату; поступление — это деньги, поступившие по нему.
Платежи — деньги на выходе: наличные, уплаченные по расходу или
реселлеру.
Запись поступления или платежа продвигает связанный счёт или расход к статусу
оплачен и проводит соответствующую запись в главную книгу.
Клиенты и продажи карт
Вкладка Клиенты перечисляет текущий баланс каждого клиента — то, что он
вам должен. Продажи карт охватывают предоплаченную выручку hotspot: она отслеживает проданные
группы карт и реселлеров. Реселлер покупает у вас целые группы
карт по счёту, затем перепродаёт отдельные карты конечным пользователям; их
задолженность — это то, что они ещё должны вам заплатить.
Агенты — оптовый биллинг
Агент перепродаёт вашу услугу конечным клиентам по модели предоплаченного опта — представьте франшизу или субдилера, который ведёт собственную базу абонентов, но работает в вашей сети. Это полностью необязательно: если вы не создаёте агентов, биллинг работает ровно так же, как и раньше.
Два долга, чётко разделённые
Агент должен вам оптовую цену (в ваших книгах это ваша выручка); клиент должен агенту розничную цену (вне ваших книг — это собственная дебиторка агента). Ваша комиссия — это разница между ними, проводимая как торговая скидка, а не как расход.
Создайте агента в Настройки → Администраторы, назначив новому администратору встроенную роль Агент. Агент — это администратор с ограниченной областью видимости, у которого есть:
Настройка
Значение
Комиссия %
Доля агента от розничной цены (например, 40% — вы оставляете себе 60% как оптовую выручку). Настраивается для каждого агента в любой момент.
Кредитный лимит
Насколько предоплаченный баланс агента может уйти в минус, прежде чем продления будут отклонены. Установите 0 для строгой предоплаты.
Предоплаченный баланс
Пополняйте его, когда агент платит вам; каждое продление списывает с него оптовую цену.
Когда один из абонентов агента продлевается, SAMM списывает с баланса агента оптовую цену, проводит вашу выручку и выставляет реальный розничный счёт конечному клиенту, оплачиваемый агенту и остающийся вне вашей книги. Взыскание на стороне агента — со своим переключателем в Настройки → Биллинг, включённым по умолчанию, с настраиваемым льготным периодом — автоматически приостанавливает неплатящего клиента (отправляя разрыв CoA); когда агент фиксирует оплату клиента, абонент реактивируется мгновенно.
Агент входит в ограниченное представление: собственную панель, страницу кошелька Мой баланс, список Мои клиенты со счетами и платежами каждого клиента и Моя выписка — всё ограничено его собственной книгой. Общие книги компании, другие агенты и клиенты других администраторов остаются скрытыми.
Активы и кассовые счета
Активы — регистрируйте основные средства (маршрутизаторы,
транспорт, оборудование). SAMM отслеживает их стоимость и амортизацию во времени.
Касса — управляйте вашими кассовыми и банковскими счетами
и вашими счетами капитала: собственный капитал, где взнос — это
деньги, которые владелец вкладывает в бизнес, а изъятие — это деньги, взятые из него. Капитал
не является выручкой и никогда не появляется в Отчёте о прибылях и убытках.
Отчёты — финансовая отчётность
Вкладка Отчёты — это представление бухгалтера. Пять отчётов, каждый
с диапазоном дат и экспортом в PDF:
Отчёт
Отвечает на вопрос
Прибыли и убытки
Доходы против расходов и чистая прибыль за диапазон дат. По методу начисления — доход учитывается при выставлении счёта, расходы при возникновении, а не при движении денег.
Бухгалтерский баланс
На дату: то, чем вы владеете (активы), против того, что вы должны (обязательства) плюс капитал. Значок сбалансировано подтверждает, что обе стороны совпадают.
Движение денежных средств
По каждому кассовому счёту — начальный баланс, деньги на входе, деньги на выходе, конечный баланс за диапазон.
Анализ по срокам
Непогашенная дебиторская и кредиторская задолженность, распределённая по возрастным группам, чтобы вы могли требовать оплату просроченных счетов и опережать платежи.
Расширенное
Сырые книги: Главная книга (каждая строка по одному счёту с текущим сальдо), Оборотно-сальдовая ведомость (проверка сбалансированности книг), Журнал и журнал активности.
Проверка сбалансированности
В Оборотно-сальдовой ведомости столбцы дебета и кредита каждого счёта должны
в сумме быть равны — это доказательство того, что книги в порядке. Если она когда-либо не сбалансирована,
это указывает на ошибку проводки, которую стоит расследовать.
Экспорт в бухгалтерскую программу
В разделе Бухгалтерия → Отчёты → Экспорт скачайте книги в CSV для QuickBooks, Xero или любой таблицы: Общий журнал, План счетов, Счета, Оборотная ведомость, Прибыли и убытки и Баланс. Общий журнал, Счета и P&L используют диапазон дат; остальное — на сегодняшний день. Те же данные доступны через API по адресу GET /api/v1/accounting/export/{kind} (format=json|csv, право accounting:read) для BI-конвейеров и Zapier. Экспорт исключает аннулированные записи, поэтому выгрузка всегда сходится с отчётами на экране.
Повседневные операции
Отменить & одобрения
Большинство ошибок в панели ISP — это ошибки с деньгами: неправильное продление подписки,
двойное учетное запись оплаты, изменение тарифа на неверном аккаунте. SAMM предоставляет вам
пятиминутное окно отмены для этих действий, а — при возврате денег —
проверку суперадминистратора перед вступлением в силу.
Окно отмены
Каждое действие администратора, связанное с перемещением средств или изменения состояния, фиксируется в реальном времени. В течение следующих пяти минут верхняя панель отображает кнопку Отменить и список истории действий — нажмите стрелку, чтобы отменить последнее действие, или откройте историю и вернитесь к любому моменту в окне. Повторить вернет его обратно.
Почему всего пять минут
Отмена — это не машина времени, а страховка для только что сделанного клика.
Прошло несколько минут, и мир изменился: абонент был онлайн, счет-фактура
было оплачено, кто-то другой отредактировал запись. SAMM скорее откажется, чем промолчит
перезаписать историю, чтобы этот шаг просто покидал вашу историю при закрытии окна.
Отмена отменяется (с указанием причины на экране), когда реверсирование уничтожает то, что оно не создавало:
Отказ
Что она означает
Этой записи больше не существует
После вашего действия абонент, счет или платеж были удалены — вернуть уже нечего.
Эта запись снова существует
Что-то было воссоздано на своем месте; отмена приведет к перезаписи новой записи.
Эта запись изменилась после вашего действия
Тем временем кто-то другой отредактировал его — отмена автоматически отменит его редактирование.
Этого шага больше нет в вашей истории
Пятиминутное окно закрылось.
Отменить — это отмена действия, а не удаление: исходное действие и его отмена сохраняются в журнале аудита, поэтому информация о том, что произошло, никогда не теряется. Действия, создающие что-то, предупреждают вас прямо — отмена этого действия приведёт к удалению созданного — перед их выполнением.
Ворота утверждения агента
Агент оплачивает подписку из своего собственного предоплаченного баланса в момент активации. Это делает возврат действием, способом получения денег обратно — и способом мошенничества: активируйте подписку, дайте им использовать весь месяц, а затем удалите их в последний день и верните зарядку.
Таким образом, SAMM разделяет действия агента по направлениям движения денег:
Направление
Примеры
Поведение
Стоит агенту денег
Активировать, продлить, изменить план, получить оплату от клиента
Немедленный. Повседневная работа агента никогда никого не ждет.
Припарковался по просьбе. Ничего не изменится, пока суперадмин не одобрит это.
Защищённые действия не выполняются наполовину. Запрос сохраняется со всеми необходимыми данными для его последующего выполнения, и при одобрении он воспроизводит тот же код, который должен был запустить агент — никогда не повторное выполнение, которое могло бы отклониться от первого. Отклонение оставляет мир таким же, как и был, а агент сохраняет ответственность.
Работа с очередью
Запросы поступают в Бухгалтерия → Утверждение агентов вместе с агентом, действием, к чему он относится и сколько денег возвращает — числом, принимающим решение. Фильтруйте по агенту или статусу, ищите, отмечайте несколько и утверждайте или отклоняйте их вместе; отклонение может содержать краткое обоснование, которое видит агент.
Делегируйте это
Проверка агентов в течение всего дня редко является обязанностью суперадминистратора. Право утверждения агентов может быть предоставлено любому ролю в Настройках → Администраторы, поэтому человек, который фактически выполняет проверку, получает именно такие полномочия — и ничего больше. Создание и управление агентами остается привилегией суперадминистратора. Никто не может самостоятельно принимать решения по своим запросам.
Что видит агент
Агент получает страницу Мой аккаунт → Ожидающие одобрения, где перечислены все их запросы: что всё ещё ожидает одобрения, а что было одобрено или отклонено — с указанием причины рецензента. Без этого отказ будет неотличим от запроса, который просто исчез, и они будут просто спрашивать снова.
Они могут отозвать свои собственные ожидающие запросы — по одному или несколькими одновременно — так как запрос, который нельзя отозвать, сам по себе является ловушкой. Отозванный запрос никогда не выполнялся, поэтому ничего не меняется; решённый запрос — история и остаётся. Фактор, ожидающий проверки, также об этом указывает на своей странице, поэтому агент, который нажал Удалить и ничего не произошло, понимает, почему.
Для ваших абонентов
Онлайн платежи
SAMM может позволить вашим подписчикам оплачивать счета онлайн с помощью банковской карты (Stripe или PayPal) или криптовалюты/USDT (Binance). Когда подписчик оплачивает счет, SAMM помечает его как оплаченный, регистрирует в вашей бухгалтерии и автоматически восстанавливает доступ тем, кто был отключен за неплатежи. Вам никогда не начисляются комиссии: каждый шлюз использует ваш собственный аккаунт, поэтому деньги напрямую поступают к вам.
Включите его (любой шлюз)
Откройте Финансы → Онлайн-платежи (доступно только суперадминистратору).
Нажмите на шлюз, чтобы расширить его — Stripe, PayPal или Binance / USDT.
Заполните его поля, поставьте флажок у "Включить этот шлюз" и нажмите "Сохранить". SAMM не позволит вам сохранить, пока не будут заполнены необходимые поля.
Нажмите Запустить тест, чтобы подтвердить, что ваши учетные данные работают.
Вы завершили настройку — теперь в портале на неоплаченных фактурах (и на странице "Истекшая подписка") ваши подписчики видят кнопку Оплатить.
Вы можете включить более одного шлюза — абонент выбирает, какой использовать.
Stripe – банковские карты по всему миру.
Создайте бесплатный аккаунт на stripe.com. Оставьте Тестовый режим включённым, пока вы его тестируете.
Перейдите в Разработчики → Ключи API и скопируйте Секретный ключ (он начинается с sk_).
В SAMM расширите Stripe, вставьте Секретный ключ, выберите валюту и счет, на который будут поступать средства, затем Сохранить и Проверить тест.
Рекомендуется: добавьте вебхук для надежного подтверждения платежей. В Stripe перейдите на Разработчики → Вебхуки → Добавить конечную точку, установите URL-адрес на https://YOUR-SAMM/pay/webhook/stripe, выберите событие checkout.session.completed, затем скопируйте секрет подписи вебхука (whsec_…) в поле Секрет подписи вебхука в SAMM.
Выход в эфир
Тестовый режим работает где угодно. Для получения реальных денег через Stripe требуется Stripe -поддерживаемый
страна и связанный банковский счет.
PayPal – карты и усилители; PayPal баланс
Создайте учетную запись PayPal Business, затем на developer.paypal.com создайте REST приложение и скопируйте его ID клиента и секрет.
В SAMM расширите PayPal, вставьте ID клиента и секрет клиента, выберите Sandbox (тестирование) или Живой, затем Сохранить и Запустить тест.
Рекомендуется: добавьте вебхук на developer.paypal.com → вашу приложение → Вебхуки, URL https://YOUR-SAMM/pay/webhook/paypal, подпишитесь на CHECKOUT.ORDER.APPROVED и PAYMENT.CAPTURE.COMPLETED, затем вставьте ID вебхука в SAMM, чтобы входящие уведомления были криптографически проверены.
Binance / USDT — криптовалюта, работает везде, банк не нужен
Это лучший вариант, когда карты и PayPal недоступны. Ваши подписчики отправляют
USDT; SAMM отслеживает ваш аккаунт Binance и автоматически помечает счет-фактуру как оплаченный.
Вам нужны три вещи: API-ключ, API-секрет и место для получения —
адрес кошелька и/или ID Binance Pay.
Шаг 1. Создайте ключ API только для чтения.
Безопасность прежде всего
Создайте ключ с только правами чтения. Никогда не включайте функции Вывод или Трейд —
SAMM нуждается только в чтении входящих платежей, никогда не перемещайте средства.
Войдите в Binance → откройте Аккаунт → Управление API (или найдите "Управление API").
Нажмите Создать API → выберите Генерация системой → назовите его, например, "SAMM" → завершите проверку безопасности.
Binance показывает ключ API и секретный ключ — скопируйте оба сейчас (секрет отображается только один раз).
Нажмите Редактировать ограничения и оставьте отмеченным только Включить чтение. Отключите Торговлю по спот-рынку и Выводы. (Опционально: ограничьте ключем IP-адрес вашего сервера.)
Вставьте API-ключ и API-секрет в карту Binance SAMM (ключ сначала, затем секрет — в том же порядке, как их показывает Binance).
Шаг 2 — получите адрес получающего кошелька
На Binance перейдите в Кошелек → Спот → Вклад (Вклад криптовалюты).
Выберите криптовалюту USDT.
Выберите сеть — TRC20 — самый дешёвый и распространённый вариант; также работают BEP20 и ERC20. Используйте тот же, что выбрали в SAMM.
Скопируйте адрес вклада и вставьте его в поле адреса для приёма на цепочке в кошельке SAMM. Убедитесь, что выпадающий список сети в SAMM соответствует выбранной вами сети.
Для подписчиков, предпочитающих Binance Pay (мгновенный, без сетевых комиссий): в приложении Binance откройте раздел Pay и запишите свой Pay ID (также можно использовать электронную почту или номер телефона). Вставьте его в поле ID Binance Pay в SAMM. Подписчики могут оплачивать как через Pay ID, так и через транзакции на блокчейне.
Наконец, поставьте флажок Включить, нажмите Сохранить, затем запустите Тест
(он проверяет, что ключ может читать ваш аккаунт). Вы активны.
Точная сумма, правильная сеть
Абонент должен отправить точную сумму, которую показывает SAMM (последние маленькие цифры
идентифицировать свой счет) в правильной сети . Другая сумма или неправильная
сеть задержит или потеряет платеж.
Что видит абонент
Они входят в клиентский портал → Мои счета.
На неоплаченной квитанции они нажимают Оплатить (или "Оплатить · Stripe" / "Оплатить · Binance", если несколько опций активировано).
Карта: они перенаправляются на защищённую страницу шлюза. USDT: они видят точную сумму, ваш адрес с QR-кодом и/или ваш идентификатор платежа.
После оплаты счет становится Оплаченным , он публикуется в ваших книгах, а если срок их действия истек, они автоматически повторно подключаются — подписчики с истекшим сроком действия даже получают кнопку «Оплатить и переподключиться» на странице с истекшим сроком действия.
Ваши книги остаются точными
При каждом онлайн-платеже проводится одна сбалансированная двойная запись (Dr Cash / Cr Дебиторская задолженность) и
записывает метод ( Stripe / Binance ) в счете, в истории платежей и в PDF-файле, чтобы вы
всегда знать, как поступил каждый платеж.
Повседневные операции
Заявки в поддержку
В SAMM встроена служба поддержки. Абоненты создают заявки из клиентского портала или
Telegram-бота, администратор может открыть заявку от имени абонента, а ваша команда работает
со всеми ими из Пользователи → Заявки в поддержку.
Очередь заявок
Очередь перечисляет каждую заявку — номер, клиент, тема, приоритет, статус,
даты открытия и последнего обновления и число сообщений. Фильтруйте её с помощью:
Чипы статуса — по одному на статус заявки, каждый несёт живой
счётчик, так что нагрузка видна с первого взгляда.
Приоритет — Обычный, Умеренный или Критический.
Активные / Отозванные — клиент может отозвать заявку, которая ему больше
не нужна; отозванные заявки затемнены и скрыты по умолчанию.
Поиск — по номеру заявки, теме или клиенту.
Значок в боковой панели считает открытые заявки, чтобы ничего не было упущено.
Открытие заявки
Новая заявка позволяет администратору создать заявку для выбранного клиента —
выберите клиента, затем задайте тему, приоритет и описание. Абоненты также открывают
свои собственные из клиентского портала или Telegram-бота.
Работа с заявкой
Откройте заявку, чтобы прочитать всю цепочку переписки. Оттуда вы можете:
Ответить клиенту — публичное сообщение, которое абонент видит на
своём портале и через Telegram-бота.
Добавить внутреннюю заметку — сообщение только для персонала, скрытое от
клиента, для передаточных заметок внутри вашей команды.
Изменить статус и приоритет заявки.
Щёлкните правой кнопкой по любой строке — или используйте её кнопку ⋮ — для тех же действий со статусом, приоритетом, ответом
и внутренней заметкой, не покидая очередь.
Повседневные операции
Центр уведомлений
SAMM автоматически информирует подписчиков по электронной почте , Telegram , SMS и WhatsApp — и позволяет транслировать сообщения.
Служба samm-notification доставляет все через одну регулируемую очередь.
Страница Система → Центр уведомлений содержит шесть вкладок.
Обзор
Начальная вкладка — живые счётчики (в очереди, отправляется, отправлено сегодня, ошибка, пропущено,
отписались), состояние каждого канала доставки и лента самых недавних
уведомлений.
Каналы
Настройте способ отправки сообщений SAMM . Электронная почта использует собственное уведомление.\n учетную запись, хранящуюся отдельно от SMTP для восстановления пароля в Настройки . Telegram использует токен бота, SMS проходит через общий HTTP-шлюз или Twilio, и WhatsApp использует официальный Meta WhatsApp Cloud API (созданный в Meta для\n Разработчики) с дополнительным неофициальным QR-мостом на свой страх и риск — мост\n устанавливается в один клик на сервер с чистой ОС и поставляется в виде готового к использованию контейнера на Docker .\n Все секреты канала сохраняются\n Зашифровано Fernet. Каждый подписчик на клиентском портале выбирает, какие каналы он хочет\n хотите и можете полностью отказаться.
Сообщения
Шаблоны сообщений, по одному набору на событие. Отредактируйте текст любого
уведомления — напоминания о продлении, поступления и остальное — чтобы каждое сообщение уходило
вашим собственным голосом и на вашем языке.
Правила и таймеры
Эта вкладка управляет тем, когда и как срабатывают автоматические уведомления. Для каждого события вы управляете:
Включено ли правило (вкл).
Игнорировать отписку — когда установлено, сообщение доходит до каждого абонента,
даже если он отписался. Оставьте это для важных транзакционных сообщений.
Тайминг — например, за сколько дней до истечения срока отправляется напоминание
о продлении.
Доставка и ограничение скорости — воркер опустошает очередь по одному
пакету за тик; размер пакета и интервал тика вместе задают темп отправки сообщений,
так что большая рассылка никогда не перегружает ваш почтовый сервер.
События, которые SAMM может выпускать самостоятельно, включают напоминание о продлении
(перед истечением подписки), уведомление об истечении (когда она истекает),
предупреждение о квоте (когда лимит трафика подходит к концу), квитанцию
об оплате (когда записан платёж) и план продлён.
Рассылка
Отправьте разовое сообщение — окно технического обслуживания, изменение цены — выбранному набору
абонентов. Рассылка проходит через ту же очередь с ограничением скорости, что и автоматические
уведомления.
Исходящие
Каждое сообщение, которое SAMM поставил в очередь или отправил, со статусом доставки по каждому сообщению, чтобы вы
могли подтвердить, что уведомление дошло до абонента, или увидеть, почему оно не дошло.
Система
WireGuard VPN
SAMM может запускать сервер WireGuard VPN на хосте SAMM — обычно
для удалённого административного доступа к машине SAMM и управляющего доступа к MikroTik
за ней. Он управляется полностью из Система → VPN; shell
не нужен.
Вкладка сервера
Нажмите Сгенерировать ключи, чтобы создать пару ключей сервера.
Открытый ключ сервера появляется после генерации — он нужен клиентам.
Задайте Порт прослушивания (UDP, по умолчанию 51820),
Адрес туннеля сервера (CIDR на интерфейсе wg0,
по умолчанию 10.254.254.1/24) и Диапазон IP клиентов —
начальный и конечный адреса, которые SAMM автоматически выдаёт новым пирам.
Включите Включить WireGuard VPN и нажмите Сохранить —
SAMM поднимает интерфейс wg0. Переключатель заблокирован, пока не появятся ключи
сервера.
Вкладка клиентов
Нажмите Добавить клиента, дайте пиру имя, и SAMM назначит ему
следующий адрес из диапазона клиентов. Для каждого пира вы можете скачать его файл конфигурации,
отсканировать QR-код с помощью мобильного приложения WireGuard или скопировать готовые
команды MikroTik RouterOS, чтобы вывести маршрутизатор на VPN. Пиры можно
включать/выключать или удалять; цвета статуса показывают, подключён ли каждый, устарел или
никогда не был виден.
Перегенерация ключей разрушительна
Перегенерация ключей меняет пару ключей сервера. Каждая уже развёрнутая конфигурация
клиента содержит старый открытый ключ сервера и перестанет подключаться, пока вы
не раздадите заново обновлённую конфигурацию. Интерфейс защищает это диалогом с вводом для подтверждения.
Система
Туннель Cloudflare
Туннель Cloudflare Zero Trust публикует SAMM в публичный интернет
без открытия каких-либо портов firewall — полезно, когда хост SAMM находится
за NAT. Он управляется из Система → Cloudflare Tunnel.
Статус службы
Страница открывается на карточке статуса, которая сообщает состояние коннектора:
Состояние
Значение
Работает
Туннель активен и передаёт трафик
Остановлен
Настроен, но сейчас не работает
Не настроен
Бинарный файл присутствует — вставьте токен для настройки
Не установлен
Перезапустите install.sh, чтобы установить бинарный файл cloudflared
Она также показывает версиюcloudflared и настроен ли
коннектор на автозапуск при загрузке.
Настройте туннель
В панели Cloudflare Zero Trust
(one.dash.cloudflare.com) откройте Networks → Tunnels
и Create a tunnel.
Выберите коннектор Cloudflared, назовите туннель и сохраните. На
шаге установки скопируйте только токен — длинную строку после
--token.
Вставьте его в SAMM и нажмите Настроить туннель. SAMM передаёт
токен cloudflared и запускает коннектор.
Вернувшись в Cloudflare, добавьте Public hostname: выбранный вами адрес,
тип HTTP, URL localhost:80 (проксируется nginx —
рекомендуется) или localhost:8000 (напрямую к API).
В течение нескольких секунд значок статуса становится зелёным, и SAMM доступен по
публичному имени хоста. После настройки действия в один клик позволяют Запустить,
Остановить или Перезапустить коннектор, Заменить
токен, чтобы ротировать его, или Удалить туннель (действие с вводом REMOVE
для подтверждения).
Никаких открытых портов, токен никогда не хранится в базе данных
Туннель устанавливает исходящее соединение с edge-узлом Cloudflare — на
сервере никогда не открывается ни один порт firewall. Токен передаётся
cloudflared и хранится в /etc/cloudflared/; SAMM никогда
не сохраняет его в базе данных. TLS завершается на edge-узле Cloudflare, поэтому сам SAMM работает
по обычному HTTP на loopback.
Система
Настройки
Система → Настройки содержит живые, перезагружаемые на лету
параметры. Демоны перечитывают их на своём следующем тике — перезапуск службы не
нужен. Настройки организованы в вкладки.
Общие параметры
Настройка
По умолчанию
Управляет
samm-radius interval
30 s
Как часто оцениваются события по времени и отправляются CoA
samm-worker interval
5 s
Периодичность ping маршрутизатора + синхронизации MikroTik API
Промежуточный интервал учёта
60 s
Интервал учёта, отправляемый на маршрутизаторы
Время ежедневного сброса
00:00
Когда обнуляются счётчики ежедневного использования
Часовой пояс сервера
UTC
Часовой пояс для окон скорости и ежедневного сброса
Порт CoA по умолчанию
3799
UDP-порт по умолчанию для пакетов CoA
Максимум повторов CoA
3
Число повторов перед переходом к Disconnect-Request
Уменьшите интервал samm-radius для более строгого применения; увеличьте его, чтобы снизить нагрузку.
Данные провайдера, логотип, валюта и биллинг (вкладка ISP)
Всё, о чём операторы спрашивают «где это поменять?», находится в System → Settings → ISP. Измените поле и нажмите Сохранить — изменение действует сразу (без перезапуска) и попадает в счета, квитанции, PDF и клиентский портал.
Что вы меняете
Где отображается
Название провайдера
Счета, квитанции, карты hotspot, шапка портала
Телефон и e-mail поддержки
Счета и печатные карты hotspot
Налоговый / регистрационный номер
Печатается на счетах
Логотип провайдера (загрузить PNG/JPEG)
Автоматически масштабируется; появляется в PDF счетов/квитанций и на печатных картах hotspot. Чтобы удалить, нажмите ✕ на превью.
Код валюты (напр. USD)
Валюта ISO на счетах и в книге учёта
Символ валюты (напр. $)
Каждая сумма в админ-интерфейсе, клиентском портале и PDF
Изменить символ валюты
Чтобы сменить валюту, отображаемую везде (напр. с $ на £ или местный символ), задайте Символ валюты на вкладке ISP и сохраните — обновятся админ-панель, клиентский портал и все PDF сразу. Рядом задайте Код валюты (USD, EUR, …) для кода ISO на счетах.
Когда SAMM проверяет наличие обновлений, он может отправить SecuryTik случайный идентификатор установки, версию SAMM, уровень вашего тарифа и приблизительную страну (определяемую по вашему IP-адресу через Cloudflare) — без передачи данных подписчика или клиента. Это помогает нам подсчитывать активные установки и приоритизировать поддержку и языки. Вы можете отключить эту функцию в любое время в разделе Система → Настройки → Конфиденциальность; см. политику конфиденциальности.
Вкладка Email
Настройте SMTP-сервер, используемый для кодов восстановления пароля, отправляемых
администраторам и клиентам (хост, порт, SSL/STARTTLS, имя пользователя, адрес отправителя, пароль).
Нажмите Проверить соединение, чтобы проверить учётные данные без отправки почты.
Две учётные записи email
Вкладка Email здесь предназначена только для OTP / восстановления пароля. Учётная запись, используемая для
уведомлений клиентам, настраивается отдельно в
Центре уведомлений.
Система
Администраторы, филиалы и роли
В System → Admins вы решаете, кто может входить в админ-портал, что может делать каждый и каких пользователей он видит. С версии 5.1.0 администраторы образуют дерево филиалов и сотрудников. На странице две вкладки: Admins и Roles.
Филиалы и сотрудники
Узел
Что это
Филиал
Место — офис, город. Ему принадлежат созданные в нём пользователи. Под филиалом никто не входит: у него нет ни пароля, ни роли.
Администратор (сотрудник)
Человек, который входит в систему. Размещённый под филиалом, он его сотрудник: каждый созданный им пользователь и карта принадлежат этому филиалу.
Суперадмин
Всегда на вершине дерева, никогда не под филиалом. Видит всё и может всё.
Стройте дерево кнопками + Branch и + Admin, а чтобы переместить узел, перетащите его на другой. Администраторы могут быть только под филиалом. Агент — это администратор, который продаёт и владеет тем, что продаёт; сотрудники под агентом используют его кошелёк и правила одобрения.
Кто что видит
Видимость следует дереву. Филиал — и все, кто в нём работает, — видит своих пользователей и пользователей филиалов ниже, но никогда соседний филиал или филиал выше. Центральный офис видит всё. Права администратора никогда не превышают того, что разрешают вышестоящие, и он может выдать только то, что есть у него самого.
Лимиты по филиалам
Лимит
Что считается
Макс. пользователей
Сколько пользователей может быть у филиала и филиалов под ним. Удаление пользователя освобождает место.
Макс. карт
Сколько карт хотспота можно напечатать в филиале.
Новый пользователь или карта отклоняется, если достигнут любой лимит на уровне создающего администратора или выше; сообщение называет лимит и остаток. Оставьте пустым — без лимита. Оба можно изменить позже в окне редактирования.
Роли и разрешения
Роль даёт доступ по разделам. SAMM поставляется с четырьмя готовыми ролями, которые можно изменить или удалить, — Manager (повседневная работа), Reseller, Accountant (финансы) и Monitor (только чтение), — и двумя заблокированными встроенными ролями: superadmin (полный доступ) и Agent, превращающей администратора в оптового реселлера с предоплаченным балансом и разделом комиссии (см. Бухгалтерия и биллинг → Агенты).
Для каждого раздела SAMM (пользователи, тарифы, роутеры, бухгалтерия, настройки и т. д.) роль получает один из трёх уровней:
Уровень
Значение
Не разрешено
Область полностью скрыта из боковой панели
Просмотр
Доступ только для чтения
Редактирование
Полный доступ — создание, изменение, удаление
Admins & roles, Tools, API и Payments остаются за центральным офисом, что бы ни говорила роль.
Два права находятся рядом с уровнями территорий, потому что каждое из них является денежным решением, а не экраном:
Верно
Что это позволяет
Разрешить «Нет счета»;
Изменить услугу пользователя — продлить, сменить тариф, увеличить срок — ничего не списывая. По умолчанию выключено для каждой новой роли.
Разрешить одобрение агентов
Проверьте и решите запросы агентов на отмену платежа. Создание и управление агентами доступно только суперадминистраторам. См. Отменить & одобрения.
Роли также можно разрешить видеть всех пользователей и все карты системы независимо от дерева. Если это выключено, роль видит свой филиал и филиалы под ним.
Приборную панель никогда не убирают
В какой бы роли ни было отказано, каждый администратор сохраняет свою собственную панель управления и профиль.
вход в систему, который приводит к ошибке разрешения, является сломанным, а не безопасным.
Лицензия всегда доступна
Страница System → License — обычный блок прав, но пока устройство в состоянии блокировки (грейс, мягкая или жёсткая) SAMM принудительно делает её доступной каждому вошедшему администратору независимо от роли — путь восстановления никогда не перекрыт.
Система
Инструменты
Раздел Tools объединяет массовые и сервисные инструменты. Он действует на весь массив данных, поэтому доступен только суперадминам.
Резервное копирование и восстановление
Создайте полный снимок базы данных перед любым крупным изменением. Резервная копия — это сжатый gzip
архив pg_dump, хранящийся на сервере, каждый с заголовком SAMM.
Создать резервную копию — при желании добавьте примечание; отметьте Пропустить использование и
историю для меньшего, более быстрого дампа, который опускает объёмные таблицы журналов.
Скачайте резервную копию на ваш ПК или загрузите
предыдущую резервную копию SAMM обратно на сервер.
Восстановление перезаписывает текущую базу данных — защищено
диалогом с вводом RESTORE для подтверждения.
Высокая доступность
Для развертывания без единой точки отказа запустите SAMM на двух узлах:
Потоковая репликация PostgreSQL (основной узел с задержкой на несколько секунд и горячий резервный узел) плюс резервный узел AAA, и при отказе продвигайте и перенаправляйте. Полный операционный манускрипт — настройка репликации, запланированное и непланируемое переключение при отказе, восстановление после отказа, необязательный режим синхронной репликации и контрольный список проверки после отказа — поставляется как docs/HA.md с исходным кодом. Обратите внимание, что репликация не является резервным копированием (удаление из репликации происходит мгновенно), поэтому также поддерживайте запланированные резервные копии.
Очистка истории
Навсегда удаляйте старые строки журналов и истории, чтобы освободить место в базе данных. Выберите
пресет хранения и подтвердите. Очистка урезает закрытые сессии RADIUS, записи post-auth,
сводки ежедневного использования, историю маршрутизаторов/интерфейсов, журналы ограничений, применённые записи аудита
и завершённые строки CoA. Она никогда не касается активных сессий, команд в очереди,
ожидающих CoA или несбрасываемых итогов использования за всё время.
Сначала сделайте резервную копию
Очистка истории удаляет навсегда. Сделайте резервную копию перед очисткой, если данные могут понадобиться
вам позже.
Экспорт / Импорт
Массовый экспорт и импорт для Пользователей, Планов и NAS в формате
.csv или .xlsx. Скачайте шаблон (правильные столбцы плюс
образец строки) или снимок текущих данных, заполните его и загрузите обратно. Каждая строка
проверяется и показывается на экране предпросмотра — дубликаты и недопустимые строки
выявляются, и вы выбираете, пропускать ли дубликаты или обновлять их на месте — прежде чем
что-либо записывается.
Массовые изменения
Примените одно изменение — владельца, дату истечения срока действия, статус, автоматическое продление или весь план.
периоды — каждому подписчику, соответствующему фильтру, за один проход. Выберите изменение, создайте
фильтр (статус/план/владелец/поиск), просмотрите список совпадений и подтвердите.
Добавление целых периодов плана — это опция массового обновления: каждый абонент получает столько же периодов своего собственного плана, так что для 7-дневного плана добавляется 7 дней на период, а для ежемесячного плана — полный календарь месяца — всё в одном запуске, без разделения списка по планам. Абоненты с планами без периода действия пропускаются, а не предполагаются. Добавление дней остаётся доступным, где требуется фиксированное количество дней без сброса счетчика.
Увеличение скорости
Повышайте или снижайте скорость для всех тарифов одновременно в процентах —
будь то выходные на двойной скорости или экстренное ограничение при ухудшении связи.
Изменения вступают в силу немедленно, как для новых входов, так и для уже активных сессий.
Контроль
Что он делает
Процент
Положительное умножение, отрицательное деление: +100% → двойная скорость, −100% → половина скорости, −500% → шестая часть. Скорость никогда не достигает нуля.
Планы по повышению
Отметьте любое количество планов; В каждой строке показаны плановая скорость, прирост силы и эффективная скорость на данный момент.
Автоматический возврат после
Несколько часов до того, как усиление закончится само по себе. 0 сохраняет его до тех пор, пока вы не сбросите его вручную.
Повышение превосходит окно скорости
Повышение измеряется на основе тарифного плана и заменяет любые окно скорости , пока оно активно — план на 20-месячное ночное окно не действует
станет 40M, он станет тем, что увеличит его плановую ставку. Windows возобновляет момент
повышение прекращается.
Подписчик, который достиг максимального лимита, никогда не вернётся к полной скорости после буста. По той же причине тариф, используемый в качестве целевого ограничителя, будет пропущен через Выбрать все и помечен как такой — буст его ускорит именно тех, кого вы и ограничиваете. Вы всё ещё можете вручную поставить флажок, если это ваши намерения. Сбросить всё в нормальное состояние удаляет все бусты и возвращает активные сессии к скорости тарифа.
Массовое удаление
Навсегда удалите множество абонентов или карт hotspot сразу, выбранных по фильтру.
Удаление абонента также удаляет его историю использования, сессии, учёт RADIUS и
счета, и отключает любую активную сессию. Защищено диалогом с вводом DELETE для подтверждения.
Система
Языки и темы
Языки
Администраторский и пользовательский порталы полностью переводимы. Встроены восемь языков:
английский, арабский (справа налево), русский, персидский (справа налево),
турецкий, французский, испанский и немецкий. Каждый пользователь выбирает свой язык из верхней панели или своего профиля; выбор сохраняется для каждого аккаунта.
Редактор переводов
Суперадминистратор может редактировать переводы вживую из
Система → Переводы — без перезапуска, без правки файлов.
Редактор также создаёт совершенно новые языки и импортирует/экспортирует книги
переводов в формате .xlsx, так что вы можете локализовать SAMM на любой язык, который вы обслуживаете.
Темы
SAMM поставляется с 16 визуальными темами, светлыми и тёмными. Каждый пользователь выбирает
тему из верхней панели; предпросмотр обновляется мгновенно и сохраняется для каждой учётной записи. IT-
терминология никогда не переводится, поэтому технические экраны остаются точными на любом языке.
Система
Журнал аудита и активность
System → Audit Log отвечает на один вопрос: что произошло и кто это сделал. Один список содержит каждое изменение администратора, то, что система сделала сама (например, истечение срока), и изменения, которые пользователи внесли в свой аккаунт в портале или в Telegram, — смену тарифа, продления, платежи, правку профиля и пароля.
Столбец
Что показывает
Когда
Время в вашем часовом поясе
Кто
Администратор, «ali, в портале», «ali, в Telegram», API-токен или System
Что произошло
Одно предложение только с изменившимися полями, старое → новое — например «Изменил пользователя: Срок действия: 01 Oct → 15 Oct»
Объект
К чему это относится — Пользователь · ali, Тариф · Gold 20M, Роутер · Hamra, Администратор · rami
Фильтруйте по Кто и Период или введите имя в поиск. Входы и экспорты скрыты, пока вы не отметите Show logins & exports. Via, Action, Category, Severity и ID — в выборе столбцов. Выделите строки для Export или Print — в файле те же столбцы, что на экране. Кнопка ⓘ в строке показывает полную таблицу «до и после».
Хронология пользователя
Откройте пользователя и выберите Timeline, чтобы увидеть всё, что происходило с этим аккаунтом, — создание, продление, смена тарифа, приостановка, достижение лимитов — со счетами, платежами, кошельком и списаниями агента в столбце «Сумма». Фильтруйте по типу, периоду или только деньгам и экспортируйте в CSV или Excel. Строки хронологии никогда не удаляются и сохраняются после удаления пользователя.
Accept Log и Access Log
Overview → Accept Log показывает каждую попытку входа от роутеров и ответ RADIUS, сначала новые, с причиной каждого отказа. Это страница, которую нужно открыть, когда пользователь не может подключиться. Повторяющийся отказ — одна строка со счётчиком. Overview → Access Log показывает сессии, которые действительно начались, по данным учёта RADIUS.
А также очередь команд
Сбросы, смены тарифа и продления, поставленные в очередь из CLI или API, записываются в ту же таблицу и применяются службой samm-radius на следующем цикле, после чего активная сессия обновляется через CoA. Значок в боковой панели считает ещё не применённые.
Лицензирование
Лицензирование и тарифы
Каждая установка SAMM лицензируется на устройство — план привязан к
этой установке, так что вы можете запускать несколько серверов SAMM, каждый на своём уровне. Уровень задаёт
три числовых лимита.
Уровень
Пользователи AAA
Карты Hotspot
NAS / маршрутизаторы
Незарегистрировано
25
200
1
Бесплатный
100
50
2
Lite
500
1,500
4
Plus
1,000
3,000
6
Pro
2,000
6,000
12
Mega
5,000
15,000
24
Max
10,000
30,000
бесконечный
Unlimited
бесконечный
бесконечный
бесконечный
Свежая установка работает незарегистрированной на минимальном пороге. Каждая функция
доступна на каждом уровне — уровень задаёт только лимиты. Создание абонента, карты или
NAS сверх лимита блокируется, пока вы не повысите уровень; данные никогда не теряются.
Активация и повышение уровня
Откройте Система → Лицензия.
Активируйте, войдя с вашей учётной записью SecuryTik — или используйте
Привязать это устройство, которое показывает код, подтверждаемый вами на
samm.securytik.com без ввода
вашего пароля на сервере. Устройство активируется на уровне Free.
Чтобы получить больше, выберите тариф на этой же странице или оформите подписку в личном кабинете. Запрос со страницы проверяет и одобряет администратор SecuryTik.
Страница лицензии также перепроверяет лицензию по требованию и показывает ваше текущее
использование относительно каждого лимита. Отвязать устройство возвращает установку на
незарегистрированный уровень без удаления каких-либо данных.
Если платная лицензия истекает
SAMM никогда не удаляет данные. Истёкшая лицензия понижается плавно:
Этап
Что происходит
Предупреждение
Баннер-напоминание; всё продолжает работать
Льготный период
Короткий период для повторной активации; абоненты остаются онлайн
Мягкая блокировка
Фоновые службы останавливаются; RADIUS продолжает аутентификацию около 7 дней
Жёсткая блокировка
Службы останавливаются, кроме страницы повторной активации
Повторная активация на любом этапе автоматически перезапускает все службы — все данные и история абонентов сохраняются.
Автоматические обновления
Автообновление не зависит от лицензирования — обновляются все тарифы, и истёкшая лицензия
никогда его не блокирует. SAMM ежедневно проверяет наличие нового подписанного выпуска. В разделе
System → License вы можете переключаться между режимами
notify (по умолчанию — баннер с кнопкой Apply now) и
auto (применение без участия оператора). Каждое обновление проверяется, резервируется и применяется
на месте. Вы также можете в любой момент повторно запустить установщик — обновление идемпотентно.
Для ваших абонентов
Клиентский портал и бот
SAMM предоставляет каждому абоненту два интерфейса самообслуживания — веб-портал и Telegram-
бот — чтобы они могли проверять расход и оплачивать без обращения к вам.
Клиентский портал
Абоненты входят в корневой раздел сайта SAMM (/), используя своё имя пользователя SAMM
и пароль. На портале есть:
Страница
Что видит абонент
Обзор
Статус учётной записи, тариф, срок действия, расход за сегодня и за месяц, любые неоплаченные счета
Расход и сессии
Всего скачано/загружено, бюджет времени в сети и полная история сессий
Мои тарифы
Текущий тариф плюс каталог доступных тарифов
Мои счета
История биллинга со скачиванием PDF в один клик
Заявки в поддержку
Создание и отслеживание обращений в поддержку
Профиль
Редактирование контактных данных, смена пароля, выбор языка и темы, управление уведомлениями
В разделе Profile абонент подключает свою учётную запись Telegram, задаёт
приоритет предпочитаемых каналов уведомлений или полностью отказывается от уведомлений. Если он
забыл пароль, ему отправляется OTP-код по электронной почте (для этого требуется настроенная
вкладка Email).
Telegram-бот
Служба samm-telegram запускает интерактивного бота самообслуживания.
Абонент отправляет /start, один раз подтверждает свою учётную запись именем пользователя и
паролем SAMM (бот сразу удаляет сообщение с паролем), после чего может полностью
из чата:
Проверять свой тариф, квоту, расход и срок действия
Просматривать и скачивать счета в PDF
Обновлять свой профиль и менять пароль
Создание и отслеживание обращений в поддержку
Бот также доставляет автоматические уведомления — напоминания о продлении, уведомления об
окончании срока, предупреждения о квоте и чеки — абонентам, подключившим Telegram.
Страница для истёкших абонентов
Когда подписка истекает, маршрутизатор (настроенный мастером через «пул Expired и блокировку интернета») перенаправляет браузер абонента на дружелюбную страницу «подписка истекла», которую SAMM отдаёт на порту 81 — с логотипом вашего провайдера и кнопкой входа в портал — вместо молчаливо мёртвого соединения.
Система
REST API
System → API управляет публичным интерфейсом /api/v1. API неактивен, пока не создан первый токен, — установка, которая им не пользуется, ничего не открывает. Всё нижеописанное доступно и как интерактивная документация OpenAPI — с консолью проб и полными схемами — на вашей установке по адресу /api/v1/docs.
Интерактивная документация (Swagger UI)
Каждая установка предоставляет живую консоль API по адресу /api/v1/docs — она доступна прямо из раздела API в панели администратора. Нажмите Authorize, вставьте токен, и любой эндпоинт можно выполнить на ваших собственных данных через Try it out; каждый вызов показывает реальный ответ и готовую к копированию команду curl.
Каждый эндпоинт объявляет полную типизированную схему — как для тел запросов, так и для ответов — поэтому имена полей, типы и примеры видны без единого вызова. Та же схема отдаётся в машиночитаемом формате OpenAPI по адресу /api/v1/openapi.json и позволяет сгенерировать полностью типизированный клиент на выбранном вами языке:
Каждый запрос отправляет Authorization: Bearer <token>. Токен несёт имя, лимит запросов в минуту, срок действия (30–360 дней или бессрочно) и набор областей — права чтения/записи по ресурсам; область write автоматически включает соответствующую read. Секрет показывается ровно один раз; сервер хранит только хеш. Токен можно отозвать (вызовы сразу перестают работать, обратимо) или удалить совсем.
Ответы следуют единым соглашениям: списочные эндпоинты принимают limit/offset и возвращают {"total", "items"}; ошибки используют стандартные коды — 401 отсутствующий/неверный/просроченный токен, 403 нет области, 404 не найдено, 409 дубликат, 422 ошибка валидации и 429 при превышении лимита (с Retry-After и X-RateLimit-*).
Справочник эндпоинтов
Раздел
Эндпоинты
Область
Интроспекция
GET /me · GET /commands
любой токен
Статистика панели
GET /stats/overview
stats:read
Абоненты
GET/POST /customers · GET/PATCH/DELETE /customers/{id} ·
POST …/suspend · …/activate · …/renew · …/reset-limit · …/assign-plan ·
GET …/usage
customers:read/write
Отключение
POST /customers/{id}/disconnect · POST /sessions/disconnect · /sessions/reconnect
coa:write
Тарифы
GET/POST /plans · GET/PATCH /plans/{id}
plans:read/write
Счета
GET/POST /invoices · GET /invoices/{id} ·
GET /invoices/{id}/pdf · POST …/pay · …/unpay
billing:read/write
Бухгалтерские книги
GET /accounting/export · GET /accounting/export/{kind}
accounting:read
Живые сессии
GET /sessions · GET /coa-outbox
sessions:read
Маршрутизаторы
GET /routers
routers:read
Карты Hotspot
GET/POST /cards/groups · GET /cards/groups/{id} ·
GET …/cards · …/print.pdf ·
POST …/cards · …/enable · …/disable · …/extend ·
GET /cards/{id} · POST /cards/{id}/enable · …/disable · …/reset/{kind}
Изменения, затрагивающие живое состояние учёта — сбросы лимитов, включение/отключение карт и групп, продления, — не применяются внутри запроса. Они ставятся в аудируемую очередь команд и применяются samm-radius в течение одного тика (несколько секунд), точно как те же клики в админ-портале. Такие эндпоинты отвечают {"queued": true}; опрашивайте GET /commands, чтобы увидеть, как ваши команды становятся applied.
Webhooks
Зарегистрируйте URL эндпоинта и выберите события (абонент создан/изменён/продлён/истёк, лимит исчерпан, счёт создан/оплачен, опциональные события сессий). Секрет подписи возвращается один раз при создании. Доставки повторяются с нарастающей задержкой; постоянно сбоящий эндпоинт отключается автоматически — включите снова через POST /webhooks/{id}/enable или отправьте себе образец через POST /webhooks/{id}/test.
Каждая доставка несёт X-SAMM-Event и X-SAMM-Signature: sha256=HMAC(body). Проверяйте, прежде чем доверять:
Те же правила, что и в портале
Изменения через API проходят ту же аудируемую очередь команд и сервисный слой, что и админ-портал: сброс или смена тарифа через API ведёт себя ровно так же, как клик в интерфейсе, включая CoA.
Ссылка
Эксплуатация SAMM
Почти всё выполняется из портала администратора. Эта страница — справочник по командной строке для тех редких случаев, когда она вам нужна.
Управление службами
# Restart all SAMM services
systemctl restart samm-api samm-radius samm-worker samm-notification samm-telegram
# Live logs for one service
journalctl -u samm-api -f
journalctl -u samm-radius -f
# Validate the FreeRADIUS config after any change
freeradius -CX
# Port 8000 stuck after a crash (admin portal unreachable)
kill -9 $(lsof -ti:8000); systemctl restart samm-api
Admin CLI
Для быстрых операций с абонентами из командной строки. Каждая команда ставится в очередь в журнале
аудита и применяется при следующем такте samm-radius — точно так же, как действия в интерфейсе.
CLI="sudo -u samm /opt/samm/venv/bin/python -m samm_radius.cli"
$CLI reset-quota alice # reset a limit counter
$CLI reset-daily alice
$CLI reset-uptime alice
$CLI reset-expiration alice
$CLI change-plan alice home-50M # switch a subscriber's plan
$CLI encrypt-pw # encrypt a router API password for the DB
Файлы конфигурации
Файл
Содержит
/etc/samm/samm.yaml
DSN базы данных, размеры пула соединений, уровень логирования
/etc/samm/api.env
Секреты сессий портала и настройки SMTP для восстановления пароля
/etc/samm/secret.key
Ключ шифрования для сохранённых паролей API маршрутизаторов
Эти файлы сохраняются при обновлениях и никогда не перезаписываются при
повторном запуске установщика. Настраиваемые во время работы параметры (интервалы циклов, время ежедневного сброса, CoA-
порты) вместо этого находятся в Settings и
применяются без перезапуска.
Обновление SAMM
Либо позвольте SAMM обновиться самому из System → License,
либо повторно запустите установщик — см. Installation →
Upgrading. Оба пути повторно применяют миграции и перезапускают службы; ваша конфигурация и
данные остаются нетронутыми.
Резервное копирование и восстановление
Используйте Tools → Backup & Restore для полного
снимка базы данных перед любым значимым изменением. Чтобы восстановить систему на новом хосте, установите SAMM, а
затем восстановите резервную копию.
Инструменты обслуживания (внешние)
Некоторые задачи по обслуживанию достаточно разрушительны, чтобы не относиться к панели администратора, где случайный клик может уничтожить работающий бизнес. SAMM сохраняет их в виде самостоятельных скриптов, доступных только корневому пользователю, которые вы загружаете и запускаете намеренно через оболочку — никогда не как кнопка. Они находятся в публичном репозитории распространения по пути: tools/.
Сброс пароля заблокированного администратора
Потеряли доступ к панели администратора? Задайте новый пароль для учётной записи superadmin прямо в базе данных — рабочий вход не нужен. Отключённая учётная запись будет снова включена; больше ничего не затрагивается.
curl -fsSL -o samm-reset-admin-password.sh \
https://raw.githubusercontent.com/mhdhaidarah/samm/main/tools/samm-reset-admin-password.sh
sudo bash samm-reset-admin-password.sh --list # list the superadmin accounts
sudo bash samm-reset-admin-password.sh # reset (prompts for the new password, twice)
Запускайте от root на сервере SAMM. Если superadmin несколько, укажите --user <name>.
Сбросить бухгалтерские книги (стирать финансовые данные)
Очищает каждую финансовую транзакцию, чтобы интернет-провайдер мог начать учет с нуля.
при этом все данные подписчиков и AAA остаются нетронутыми. Полезно при приеме на себя
установить или после пробного/тестового периода, когда книги заполнены данными оператора
желания исчезли, но клиентская база должна остаться такой, какая она есть.
Опасность — необратимая потеря данных.Это навсегда уничтожает все счета, платежи, квитанции, балансы кошелька и историю учета. Отката нет. Единственный способ вернуться — резервное копирование базы данных. Никогда не запускайте его на производственной установке, не сделав сначала резервную копию и не проверив.
Удаленный: счета-фактуры и их отдельные позиции, книга двойной записи
(платежи, поступления, корректировки, пополнения и снятия кошелька), онлайн-платежи
операции, расходы, основные средства и журнал бухгалтерской деятельности. Нумерация счетов
сбрасывается, поэтому следующий счет начинается с номера 1.
Сохранено: каждый подписчик, план, окно скорости, лимит, счетчик использования,
историю планов, карту точки доступа, маршрутизатор, сеанс и учетную запись RADIUS — плюс ваши
настройка бухгалтерского учета (план счетов, кассовые счета, налоговые группы, платежные
шлюзы). Остатки денежных средств, кошельков и дебиторской задолженности извлекаются из бухгалтерской книги, поэтому они
просто прочитайте ноль после этого.
Загрузите его, прочитайте, затем запустите. Всегда сначала делайте пробный прогон:
curl -fsSL -o samm-wipe-financials.sh \
https://raw.githubusercontent.com/mhdhaidarah/samm/main/tools/samm-wipe-financials.sh
sudo bash samm-wipe-financials.sh --dry-run # show what would be deleted, change nothing
sudo bash samm-wipe-financials.sh # do it
Не направляйте его прямо в оболочку.
Никогда не запускайте это как curl … | sudo bash . Для сценария, который уничтожает данные, вы
хочу сначала прочитать его, а усеченная загрузка не должна быть в состоянии выполнить половину
протирать. Загрузите, проверьте и запустите.
Скрипт отказывается запускаться от имени пользователя без полномочий root, печатает именно то, что собирается
удалить, затем попросит вас ввести YES , чтобы подтвердить, что у вас есть проверенная резервная копия, и WIPE , чтобы продолжить. Он предлагает сначала сделать дамп собственной базы данных (в /var/backups/samm/ ) и прерывается в случае сбоя этого дампа. Очистка выполняется как
одна транзакция по принципу «все или ничего», а RADIUS намеренно оставлен включенным, поэтому
подписчики остаются онлайн, пока книги очищаются.
Ссылка
FAQ и устранение неполадок
Какие операционные системы поддерживает SAMM?
Ubuntu 22.04/24.04/26.04 LTS и Debian 12/13. Только серверный уровень Linux —
варианты для настольных компьютеров не поддерживаются. Установщик ожидает systemd, свежую
Установка PostgreSQL (один из них настроен для вас) и root-доступ.
Нужно ли интернет-соединение для работы SAMM?
Нет. SAMM работает полностью на вашем собственном сервере и аутентифицирует абонентов локально
по RADIUS. Единственный исходящий трафик — это периодический сигнал лицензии на
сервер лицензий SecuryTik, чтобы ваш тариф оставался подтверждённым.
Можно ли запускать SAMM в облаке или он должен быть локальным (on-prem)?
Подходит любой вариант. Большинство операторов работают локально рядом со своими магистральными маршрутизаторами; некоторые запускают
на небольшой облачной ВМ с обратным туннелем Cloudflare Zero Trust. Единственное требование —
чтобы маршрутизаторы MikroTik могли обращаться к серверу SAMM по портам RADIUS
(1812/1813 UDP), а SAMM мог обращаться к маршрутизаторам через MikroTik API.
Нужно ли перезапускать FreeRADIUS при добавлении или удалении маршрутизатора?
Нет. SAMM определяет клиентов NAS динамически из базы данных, поэтому добавление,
редактирование или удаление маршрутизатора в MikroTik → NAS
вступает в силу без перезапуска.
Как быстро вступает в силу смена тарифа или сброс счётчика?
Действия администратора ставятся в очередь и применяются службой samm-radius при
следующем такте — по умолчанию в течение 30 секунд. Если абонент онлайн, SAMM
также отправляет живой CoA для обновления сессии. Уменьшите интервал samm-radius в
System → Settings для более точного тайминга.
Что происходит с моими данными, если платная лицензия истекает?
Ничего никогда не удаляется. Истёкшая лицензия последовательно проходит через предупреждение, льготный период,
мягкую блокировку (RADIUS продолжает аутентификацию около недели) и, наконец, жёсткую
блокировку. Повторная активация на любом этапе перезапускает все службы с сохранением всех данных.
Бесплатен ли SAMM? Что добавляет Pro?
Бесплатный уровень бесплатен навсегда и включает все функции. Платные тарифы не открывают функции — они повышают лимиты пользователей AAA и карт Hotspot и снимают ограничение на роутеры. См. Лицензирование и уровни.
Абонент не может пройти аутентификацию — с чего начать?
Убедитесь, что общий секрет RADIUS маршрутизатора точно совпадает с записью NAS,
что на маршрутизаторе включён RADIUS для PPP / Hotspot, а учётная запись абонента
активна и не истекла. Следите за journalctl -u samm-api -f
и логом FreeRADIUS и убедитесь, что маршрутизатор может обращаться к хосту SAMM по UDP
1812/1813.
Нужна дополнительная помощь?
Напишите на [email protected], чтобы сообщить об ошибке или
запросить функцию.