====== Увага ====== Ця реалізація є застарілою з релізу 0.9.6 і більше не підтримується та не розвивається. {{:alertold.png? |}} \\ Використовуйте [[multigen|КупаГен aka MultiGen]]. Він неймовірно крутий і позбавлений усіх дитячих хвороб штурхання трупа ногами Mikrotik в API. ====== Налаштування MikroTik як NAS ====== У цьому розділі докладно описано процедуру зв'язування пристроїв під управлінням RouterOS з білінгом. Для початку вам потрібно: - Сервер Ubilling: - Встановлений за допомогою [[setupubinstaller|UBinstaller]] - Параметри: - Зовнішній інтерфейс, //igb0// - 63.163.105.6/29 - Локальний інтерфейс, //igb1// - 10.0.0.0.254/24 - Пристрій MikroTik з ОС RouterOS: - Скинутий до стандартних конфігурацій - Налаштовані тільки: - Інтерфейси (WAN - ether1, LAN - bridge1) - IP інтерфейсів (ether1 - 63.163.105.2/29, bridge1 - 10.0.0.1/24) - Маршрути (0.0.0.0/0 63.163.105.1, 10.0.0.0.0/24 bridge1) {{ :mikrotik_network_schema.png?650 |}} ===== Розширення функціоналу скриптів 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-файлу у файлі //<> //: [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)" доступна кнопавка розширеного налаштування, яке, водночас, є мінімальним. Після переходу в модуль і введення у відповідні поля правильних логіна і пароля від сервера доступу побачимо, приблизно, таку картину: {{ :mikrotikextconf1.png?400|}} Тут ми бачимо 2 селектори з інтерфейсами: * //Інтерфейс користувачів// - ARP і DHCP записи будуть створені з прив'язкою до цього порту пристрою * //Інтерфейс графіка// - графіки цього інтерфейсу будуть відображені для поточного NAS у модулі "Звіт по трафіку". Далі йде розділ "__//Встановлення поведінки скриптів OnConnect/OnDisconnect для NAS//__". Тут ми ставимо галочки там, де це необхідно. Відповідно скрипти виконуватимуть ті чи інші дії, які ви вказали. Враховуйте, що перед встановленням галочки "//Керувати DHCP//" необхідна попередня [[mikrotikapi#налаштування_mikrotik_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 - можна спробувати звернути свій погляд на [[http://local.com.ua/forum/topic/55756-релизы-ubilling-2014/?p=576378|ось цей пост на форумі]]. * Можете також почитати, [[https://nixrecords.wordpress.com/2015/07/20/%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-remote-mikrotik-nas-%D0%B8%D0%B7-ubilling/|цікаву статтю]] про тонкощі управління MikroTik з космосу за авторством [[http://local.com.ua/forum/user/15601-mac/|mac]]. * У разі труднощів з використанням DHCP на ROS6 можна скористатися [[http://local.com.ua/forum/topic/74680-ubiling-mikrotik-v6291/?p=786526|порадою за посиланням]]. * з ROS 6.29 у конфіг мікротика за замовчуванням увімкнене правило "fasttrack-connection", яке дає змогу пускати пакети повз CPU, тобто шлях проходження пакетів змінюється таким чином, що пакети проходять повз "mangle" і "queue". У разі, якщо ви використовуєте "управління чергами" вам необхідно вимкнути правило 'fasttrack-connection". * Починаючи з релізу 0.8.3 до пресетів додано firewall_off.ini, що дає змогу використовувати різні аддрес-листи для авторизованих і неавторизованих користувачів. Докладніше [[https://github.com/nightflyza/Ubilling/pull/80|тут]]. * Оскільки в 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.\\ __Логіка роботи фічі така:__ - намагаємося визначити версію NAS, до якого підключаємося через SNMP або, якщо через SNMP не вдалося - шляхом парсингу стандартної login web page - якщо версію визначити вдалося: * відключаємо "мануальне" керування методами підключення * виводимо замість чекбокса відповідне повідомлення - якщо версію визначити **НЕ** вдалося: * вмикаємо "мануальне" керування методами підключення, даючи можливість адміністратору самостійно вказати метод підключення для конкретного NAS * __**після оновлення RouterOS до 6.45.хх остаточно випиляно можливість **__ використовувати "старий" метод авторизації за API. Тому, якщо ви використовуєте телепатію для визначення версії RouterOS і ваші мікротікоNASи до цього моменту були сконфігуровані з опцією **Не використовувати новий метод авторизації** - вам __ БУДЕ НЕОБХІДНО__ пройтися по всім наявним мікротікоNASам у модулі "Сервера доступу (NAS)", натиснути для кожного з них кнопку з "магічною шестернею" та, переконавшись, що дані щодо NASу підтягнулися коректно та в методі авторизації тепер зазначено використання нового методу підключення, - натиснути кнопку "Зберегти". * Починаючи з релізу 1.0.4, кастомний API-порт тепер використовується не тільки [[mikrotikapi#модуль_розширене_налаштування_mikrotik|розширеним конфігуратором мікротікоНАСів]], але й [[dnswitchmtik|динамічним шейпером для Mikrotik]] та і самим Старгейзером (під час роботи з Mikrotik через API, звісно ж). ===== Біль ===== У разі, якщо ви все ж таки використовуєте цей функціонал, замість крутого і модного [[multigen|КучаГен-а]] та періодично відчуваєте біль, під час використання функціоналу кредитування вашими клієнтами, можете придивитися до опції **SC_MTAPI_FIX**, яка в теорії, може відтермінувати ваш перехід на КучаГен, але це не точно.