Користувальницькькі налаштування

Налаштування сайту


Сайдбар

Розділи

Загальний опис
Історія змін
Рекомендації щодо оновлення
Плани на майбутнє
Відомі проблеми
Онлайн демо
Люди
Трохи про безпеку

FAQ



Редагувати сайдбар

mikrotikapi

Увага

Ця реалізація є застарілою з релізу 0.9.6 і більше не підтримується та не розвивається.
Використовуйте КупаГен aka MultiGen. Він неймовірно крутий і позбавлений усіх дитячих хвороб штурхання трупа ногами Mikrotik в API.

Налаштування MikroTik як NAS

У цьому розділі докладно описано процедуру зв'язування пристроїв під управлінням RouterOS з білінгом. Для початку вам потрібно:

  1. Сервер Ubilling:
    1. Встановлений за допомогою UBinstaller
    2. Параметри:
      1. Зовнішній інтерфейс, igb0 - 63.163.105.6/29
      2. Локальний інтерфейс, igb1 - 10.0.0.0.254/24
  2. Пристрій MikroTik з ОС RouterOS:
    1. Скинутий до стандартних конфігурацій
    2. Налаштовані тільки:
      1. Інтерфейси (WAN - ether1, LAN - bridge1)
      2. IP інтерфейсів (ether1 - 63.163.105.2/29, bridge1 - 10.0.0.1/24)
      3. Маршрути (0.0.0.0/0 63.163.105.1, 10.0.0.0.0/24 bridge1)

Розширення функціоналу скриптів On*

Для того, щоб скрипти 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» :

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                    ; Кількість спроб підключитися

Модуль "Розширене налаштування MikroTik"

Починаючи з версії 0.4.3 для кожного сервера доступу MikroTik у модулі “Сервера доступу (NAS)” доступна кнопавка розширеного налаштування, яке, водночас, є мінімальним. Після переходу в модуль і введення у відповідні поля правильних логіна і пароля від сервера доступу побачимо, приблизно, таку картину:

Тут ми бачимо 2 селектори з інтерфейсами:

  • Інтерфейс користувачів - ARP і DHCP записи будуть створені з прив'язкою до цього порту пристрою
  • Інтерфейс графіка - графіки цього інтерфейсу будуть відображені для поточного NAS у модулі “Звіт по трафіку”.

Далі йде розділ “Встановлення поведінки скриптів OnConnect/OnDisconnect для NAS”. Тут ми ставимо галочки там, де це необхідно. Відповідно скрипти виконуватимуть ті чи інші дії, які ви вказали. Враховуйте, що перед встановленням галочки “Керувати DHCP” необхідна попередня налаштування MikroTik DHCP на інтерфейсі користувачів. Управління PPP - у розробці.

Наступний розділ “Загальна інформація про стан MikroTik`a”, який показує uptime, відсоток використання CPU, RAM та іншу інформацію про стан пристрою MikroTik.

Увімкнення MikroTik API

Для того, щоб увімкнути підтримку керування пристроєм під управлінням RouterOS через API, виконаємо в терміналі останнього таку команду:

/ip service set api port=8728 address=10.0.0.254 disabled=no

Опис параметрів:

  • port - номер API-порту, за яким будемо підключатися до пристрою
  • address - адреса, з якої дозволено підключення, тобто адреса сервера Ubilling

Експорт статистики по трафіку

Для того, щоб споглядати статистику по трафіку в 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

Опис параметрів:

  • cache-entries - максимальна кількість netflow-потоків, яку одночасно обробляє пристрій
  • address - адреса:порт, на який буде експортуватись статистика, тобто адреса сервера Ubilling, порт - 42111

Налаштування фаєрвола MikroTik

  • Додаємо правило NAT. У нього потраплятимуть усі мережі зі списку адрес, з назвою “NAT”:
/ip firewall nat add chain=srcnat out-interface="ether1" src-address-list="NAT" action=masquerade
  • Додамо мережу, яку будемо NATити, у список “NAT”:
/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

Налаштування MikroTik DHCP

У разі, якщо сервер Ubilling і пристрій MikroTik розташовані в різних широкомовних сегментах, ви можете використовувати DHCP-сервер MikroTik. Для цього потрібно:

  • Встановити параметри, що видаються користувачам мережі. А саме: адресу основного шлюзу (gateway), маску підмережі (netmask) і адресу сервера імен (dns):
/ip dhcp-server network add address=10.0.0.0/24 gateway=10.0.0.1 netmask=24 dns=10.0.0.1
  • Додати DHCP-сервер на інтерфейсі користувачів:
/ip dhcp-server add interface="bridge1" address-pool=static-only authoritative=yes
  • У модулі “Розширене налаштування MikroTik” для мережі, що налаштовується, поставити галочку навпроти “Керувати DHCP”.

Налаштування MikroTik PPPoE

У разі, якщо сервер Ubilling повинен створювати користувачів PPP:

  • Додати PPPoE-сервер на інтерфейсі користувачів:
/interface pppoe-server server  \
add service-name="service1" interface="bridge1" default-profile="default" one-session-per-host="yes" disabled="no"
  • У модулі “Розширене налаштування MikroTik” для мережі, що налаштовується, поставити галочку навпроти “Керувати PPP”.

Налаштування MikroTik Queue Tree

З версії 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 - можна спробувати звернути свій погляд на ось цей пост на форумі.

  • Можете також почитати, цікаву статтю про тонкощі управління MikroTik з космосу за авторством mac.
  • У разі труднощів з використанням DHCP на ROS6 можна скористатися порадою за посиланням.
  • з ROS 6.29 у конфіг мікротика за замовчуванням увімкнене правило “fasttrack-connection”, яке дає змогу пускати пакети повз CPU, тобто шлях проходження пакетів змінюється таким чином, що пакети проходять повз “mangle” і “queue”. У разі, якщо ви використовуєте “управління чергами” вам необхідно вимкнути правило 'fasttrack-connection“.

* Починаючи з релізу 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. намагаємося визначити версію NAS, до якого підключаємося через SNMP або, якщо через SNMP не вдалося - шляхом парсингу стандартної login web page
  2. якщо версію визначити вдалося:
    • відключаємо “мануальне” керування методами підключення
    • виводимо замість чекбокса відповідне повідомлення
  3. якщо версію визначити НЕ вдалося:
  • вмикаємо “мануальне” керування методами підключення, даючи можливість адміністратору самостійно вказати метод підключення для конкретного NAS
  • після оновлення RouterOS до 6.45.хх остаточно випиляно можливість використовувати “старий” метод авторизації за API. Тому, якщо ви використовуєте телепатію для визначення версії RouterOS і ваші мікротікоNASи до цього моменту були сконфігуровані з опцією Не використовувати новий метод авторизації - вам БУДЕ НЕОБХІДНО пройтися по всім наявним мікротікоNASам у модулі “Сервера доступу (NAS)”, натиснути для кожного з них кнопку з “магічною шестернею” та, переконавшись, що дані щодо NASу підтягнулися коректно та в методі авторизації тепер зазначено використання нового методу підключення, - натиснути кнопку “Зберегти”.

* Починаючи з релізу 1.0.4, кастомний API-порт тепер використовується не тільки розширеним конфігуратором мікротікоНАСів, але й динамічним шейпером для Mikrotik та і самим Старгейзером (під час роботи з Mikrotik через API, звісно ж).

Біль

У разі, якщо ви все ж таки використовуєте цей функціонал, замість крутого і модного КучаГен-а та періодично відчуваєте біль, під час використання функціоналу кредитування вашими клієнтами, можете придивитися до опції SC_MTAPI_FIX, яка в теорії, може відтермінувати ваш перехід на КучаГен, але це не точно.

mikrotikapi.txt · Востаннє змінено: 2023/07/11 12:44 повз nightfly