radius/etc/raddb/dictionary
$INCLUDE /usr/local/radius/share/freeradius/dictionary.mikrotik
В /usr/local/radius/share/freeradius/dictionary.mikrotik добавляем такой атрибут
ATTRIBUTE Mikrotik-Address-List 19 string ATTRIBUTE Mikrotik-Total-Limit 17 integer ATTRIBUTE Mikrotik-Total-Limit-Gigawords 18 integer
Через консоль
/radius add address=192.168.101.17 secret=radsecret service=ppp /radius incoming set accept=yes port=1700
Через WinBox
Через консоль
/ppp aaa set accounting=yes use-radius=yes interim-update=300 /ppp profile set default local-address=192.168.101.10
Через WinBox
Через консоль
/interface pppoe-server server add interface=ether1 \ \... service-name=pppoe-in authentication=chap
Через WinBox
/ System configuration/ NAS/
| Type | ipcad |
|---|
/ System configuration/ NAS/ IP POOLs/ Нужно внести пул адресов, с которых можно авторизоваться. Тарифные планы
Модуль использует тарифную логику модуля Dv (Internet). Заводим классы трафика / System configuration/ Internet/ Traffic Calsses. Глобальный класс трафика должен иметь номер 0. Заводим тарифные планы в / System configuration/ Internet/ Tarif plans/ . В тарифном плане в Intervals обязательно указывать сети в противном случае модуль не будет вести подсчёт трафика.
Слушать и отправлять flow пакеты на сервер для их подальшей обработки с помощью колектора (flow-tools)
Через консоль
/ip traffic-flow set enabled=yes /ip traffic-flow target add address=10.0.0.10:9996 version=5 /ip traffic-flow set interfaces=ether3 active-flow-timeout=30m inactive-flow-timeout=15s cache-entries=4k enabled=yes ;
ether3 интерфейс на котором слушать 10.0.0.10 - адрес сервера обработки flow пакетов
Также добавить правила для перенаправления на клиентский кабинет для подключения к IPN
ip firewall nat addchain=dstnat action=dst-nat to-addresses=10.0.0.10 to-ports=80 protocol=tcp
src-address=192.168.6.0/24 dst-address=0.0.0.0/0 dst-port=80
Инициализация и контроль правил шейпера
# /usr/abills/libexec/billd checkspeed mikrotik NAS_IDS=1
config.pl
$conf{IPN_FW_START_RULE}="/usr/bin/sudo /usr/abills/libexec/linkupdown mikrotik up - %LOGIN %IP NAS_HOST=10.0.0.1 NAS_ADMIN=admin_ssh". ' > /dev/null 2>&1';
$conf{IPN_FW_STOP_RULE}="/usr/bin/sudo /usr/abills/libexec/linkupdown mikrotik down - %LOGIN %IP NAS_HOST=10.0.0.1 NAS_ADMIN=admin_ssh". ' > /dev/null 2>&1';
Удалённое выполнение команд на Mikrotik.
Создание сертификата
Сделайте сертификат пустым паролем.
# /usr/abills/misc/certs_create.sh ssh admin_ssh
Загрузите сертификат на сервер.
% cd /usr/abills/Certs/ % ftp 10.20.1.1 Connected to 10.20.1.1. 220 mikrotik FTP server (MikroTik 2.9.16) ready Name (10.20.1.1:user): admin 331 Password required for admin Password: ftp> put id_dsa.admin_ssh.pub 226 ASCII transfer complete ftp> exit
Не используйте пользователя 'admin'. Для удалённого доступа создайте отдельного пользователя.
Создание пользователя
[admin@mikrotik]> user add name=admin_ssh group=write
Подключите SSH ключ пользователю
[admin@mikrotik]> user ssh-keys import file=id_dsa.admin_ssh.pub user: admin_ssh
Проверяем:
% ssh -l admin_ssh -i /usr/abills/Certs/id_dsa.admin_ssh 10.20.1.1 "/system identity print" name: "MikroTik"
Инициализация и контроль правил шейпера
# /usr/abills/libexec/billd checkspeed mikrotik
Параметры
| NAS_IDS='1,2' | Список серверов доступа. По умолчанию скорость просматривается на всех |
|---|
/ System configuration/ NAS/
| Type | mikrotik |
|---|---|
| Alive | Время обновления статистики. Рекомендуемое значение 300 |
| :Manage: | |
| IP:PORT: | IP-адрес и порт, на котором сервер слушает радиус команды. (По умолчанию 1700) |
| User: | Имя пользователя для запуска удалённых команд через SSH. После заведения пользователя заведите SSH сертификат в системе. |
| Password: | radsecret - Radius secret для NAS сервера. (Обязательно указывать при использовании Hotspot) |
ip firewall nat addchain=dstnat action=dst-nat to-addresses=10.0.0.10 to-ports=80 protocol=tcp src-address=192.168.6.0/24 dst-address=0.0.0.0/0 dst-port=80