Ця реалізація є застарілою з релізу 0.9.6 і більше не підтримується та не розвивається.
Використовуйте КупаГен aka MultiGen. Він неймовірно крутий і позбавлений усіх дитячих хвороб штурхання трупа ногами Mikrotik в API.
У цьому розділі докладно описано процедуру зв'язування пристроїв під управлінням RouterOS з білінгом. Для початку вам потрібно:
Для того, щоб скрипти On* могли керувати пристроями на базі RouterOS, необхідно замінити їх, послідовно виконавши такі команди в консолі сервера Ubilling:
# rm /etc/stargazer/Get* && rm /etc/stargazer/On* && rm /etc/stargazer/fullArp.php && rm /etc/stargazer/config # cd /usr/local/www/apache24/data/billing # cp -r docs/presets/MikroTik/ /etc/stargazer # chmod a+x /etc/stargazer/On*
Важливо: Скрипти розроблено для керування NAS під керуванням ОС FreeBSD і RouterOS. Запуск скриптів можливий тільки на ОС FreeBSD.
Завершуємо заміну, вказавши параметри підключення до бази даних і шляхи до log-файлу у файлі «/etc/stargazer/config.ini» :
[database] ; Настройки базы данных: dbdriver = mysql ; Драйвер (только `mysql`). hostname = localhost ; Хост сервера БД username = root ; Логин сервера БД password = password ; Пароль сервера БД database = stg ; Назва БД Ubilling [log] ; Налаштування логування: enabled = true ; Чи ввімкнено логування (`true/false`) method = 'file' ; Метод логування (тільки `file`) path = '/var/stargazer' ; Шлях до log-файлу file = 'allconnect.log' ; Ім'я log-файлу debug = false ; Режим налагодження (`true/false`) [rscriptd] ; Налаштування для RScriptD: rate_val = 'Kbit/s' ; У чому вимірюється швидкість arpcmd = '/usr/sbin/arp' ; Команда "arp" fwcmd = '/sbin/ipfw -q' ; Команда "ipfw" [mikrotik] ; Налаштування для MikroTik: api_port = 8728 ; Порт API rate_val = 'k' ; У чому вимірюється швидкість attempts = 3 ; Кількість спроб підключення timeout = 2 ; Тайм-аут спроби підключення delay = 1 ; Кількість спроб підключитися
Починаючи з версії 0.4.3 для кожного сервера доступу MikroTik у модулі “Сервера доступу (NAS)” доступна кнопавка розширеного налаштування, яке, водночас, є мінімальним. Після переходу в модуль і введення у відповідні поля правильних логіна і пароля від сервера доступу побачимо, приблизно, таку картину:
Тут ми бачимо 2 селектори з інтерфейсами:
Далі йде розділ “Встановлення поведінки скриптів OnConnect/OnDisconnect для NAS”. Тут ми ставимо галочки там, де це необхідно. Відповідно скрипти виконуватимуть ті чи інші дії, які ви вказали. Враховуйте, що перед встановленням галочки “Керувати DHCP” необхідна попередня налаштування MikroTik DHCP на інтерфейсі користувачів. Управління PPP - у розробці.
Наступний розділ “Загальна інформація про стан MikroTik`a”, який показує uptime, відсоток використання CPU, RAM та іншу інформацію про стан пристрою MikroTik.
Для того, щоб увімкнути підтримку керування пристроєм під управлінням RouterOS через API, виконаємо в терміналі останнього таку команду:
/ip service set api port=8728 address=10.0.0.254 disabled=no
Опис параметрів:
Для того, щоб споглядати статистику по трафіку в Ubilling, треба увімкнути NetFlow-сенсор (у MikroTik його іменують як Traffic Flow) і налаштувати експорт на сервер Ubilling. Для цього послідовно виконуємо в консолі пристрою з RouterOS такі команди:
/ip traffic-flow set enable=yes interfaces=all cache-entries=256k active-flow-timeout=30m inactive-flow-timeout=15s /ip traffic-flow target add address=10.0.0.254:42111 version=5
Опис параметрів:
/ip firewall nat add chain=srcnat out-interface="ether1" src-address-list="NAT" action=masquerade
/ip firewall address-list add address=10.0.0.0/24 list="NAT"
* Додамо правила, що дозволяють адресам зі списку “ALLOW” ходити з локальної мережі в Інтернет (1) і назад (2), а також забороняють проходження всього трафіку, що не потрапив під вищезазначені правила (3):
/ip firewall filter \ add chain=forward action=accept in-interface="bridge1" out-interface="ether1" src-address-list="ALLOW" add chain=forward action=accept in-interface="ether1" out-interface="bridge1" dst-address-list="ALLOW" add chain=forward action=drop
У разі, якщо сервер Ubilling і пристрій MikroTik розташовані в різних широкомовних сегментах, ви можете використовувати DHCP-сервер MikroTik. Для цього потрібно:
/ip dhcp-server network add address=10.0.0.0/24 gateway=10.0.0.1 netmask=24 dns=10.0.0.1
/ip dhcp-server add interface="bridge1" address-pool=static-only authoritative=yes
У разі, якщо сервер Ubilling повинен створювати користувачів PPP:
/interface pppoe-server server \ add service-name="service1" interface="bridge1" default-profile="default" one-session-per-host="yes" disabled="no"
З версії 0.7.7 скрипти ініціалізації вміють керувати деревами черг. З версії 0.7.7 ця функція йде з коробки, для всіх попередніх налаштувань, необхідно в консолі білінгу прописати такі команди:
cp -r /etc/stargazer/system /etc/stargazer/system.bak rm -r /etc/stargazer/system cd /usr/local/www/apache24/data/billing cp -r ./docs/presets/MikroTik/system /etc/stargazer/system
* У разі, якщо ви раптом таки вирішили випробувати долю і спробувати використовувати Mikrotik NAS під Linux - можна спробувати звернути свій погляд на ось цей пост на форумі.
* Починаючи з релізу 0.8.3 до пресетів додано firewall_off.ini, що дає змогу використовувати різні аддрес-листи для авторизованих і неавторизованих користувачів. Докладніше тут.
* Оскільки в RouterOS 6.43 і вище змінено метод авторизації під час підключення до RouterOS API, починаючи з релізу 0.9.0 додано можливість вказувати, який метод підключення використовувати для кожного конкретного NAS.
* Починаючи з релізу 0.9.2 модуль тепер може використовувати телепатію для визначення версії RouterOS і усвідомлення методу підключення до Mikrotik API. Регулюється опцією ROUTEROS_VERSION_TELEPATHY і супутніми опціями ROUTEROS_VERSION_GET_WEB_PORT і ROUTEROS_VERSION_GET_SNMP_COMMUNITY в alter.ini.
Логіка роботи фічі така:
* Починаючи з релізу 1.0.4, кастомний API-порт тепер використовується не тільки розширеним конфігуратором мікротікоНАСів, але й динамічним шейпером для Mikrotik та і самим Старгейзером (під час роботи з Mikrotik через API, звісно ж).
У разі, якщо ви все ж таки використовуєте цей функціонал, замість крутого і модного КучаГен-а та періодично відчуваєте біль, під час використання функціоналу кредитування вашими клієнтами, можете придивитися до опції SC_MTAPI_FIX, яка в теорії, може відтермінувати ваш перехід на КучаГен, але це не точно.