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

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


mgmikrotikdhcp

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Наступна ревізія По сторонах наступні версії
mgmikrotikdhcp [2022/09/24 14:39]
127.0.0.1 зовнішнє редагування
mgmikrotikdhcp [2023/06/27 14:12]
borisov
Рядок 1: Рядок 1:
-====== Авторизация абонентов DHCP на MikroTik методом IP + MAC при помощи КучаГен ====== +====== Авторизація абонентів DHCP на MikroTik методом IP + MAC за допомогою КупаГен ====== 
-Сразу следует оговоритсячто информация ниже создана больше <del>для развлекательных целей</del> в общеобразовательных целях и к применению в реальной жизни **рекомендуется не особо**. Потому мы принимаем как данность, что всекто все же решиться применить это в продакшинескорее всегопонимают все возможные <del>боль и безисходность</del> последствия и ограничения, с которыми они всенепременно столкнутся: +Відразу слід зазначити, що інформація нижче створена більше <del>для розважальних цілей</del> в загальноосвітніх цілях і до застосування в реальному житті **рекомендується не дуже**. Тому ми приймаємо як даність, що всіхто все ж таки наважиться застосувати це в продакшинінайімовірніше, розуміють усі можливі <del>біль і безвихідь</del> наслідки й обмеження, з якими вони неодмінно зіткнуться: 
-  * Абсолютная невозможность какого либо управления абонентом после получения им DHCP lease от микротика. Никаких CoA и PoD. Только таймаут выданного лиза может изменить состояние подключения абонента. +  * Абсолютна неможливість будь-якого управління абонентом після отримання ним DHCP lease від мікротіка. Ніяких CoA і PoD. Тільки таймаут виданого лізу може змінити стан підключення абонента. 
-  * Обязательное использование фаерволла и address lists для предоставления/ограничения доступа абоненту. Ну или каких либо других ухищрений на ваш вкус+  * Обов'язкове використання фаєрволла і address lists для надання/обмеження доступу абоненту. Ну або будь-яких інших хитрощів на ваш смак. 
-  * Никакого Walled Garden и прочих удобствкак у того же HotSpot. Так что, например, перенаправление должников будете мастерить сами.+  * Ніякого Walled Garden та інших зручностейяк у того ж HotSpot. Так що, наприклад, перенаправлення боржників будете майструвати самі.
    
-В то же время нельзя не отметить и положительных моментов(такой себе островок надежды посреди тьмы и грусти): +Водночас не можна не відзначити і позитивних моментів (такий собі острівець надії посеред темряви і смутку): 
-  * Простота реализацииПрименение <del>мозга</del> глубоких мыслительных процессов практически не требуется+  * Простота реалізаціїЗастосування <del>мозку</del> глибоких розумових процесів практично не потрібно
-  * Очень большая(практически идентичная) схожесть в работе Ubilling с Mikrotik по API и авторизацией IP + MAC. Только IPшки и address lists теперь выдает радиус, а не Ubilling.+  * Дуже велика (практично ідентична) схожість у роботі Ubilling з Mikrotik за API і авторизацією IP + MAC. Тільки IPшки і address lists тепер видає радіус, а не Ubilling.
  
-====== Конфигурация Ubilling ======+====== Конфігурація Ubilling ======
  
-Уже должен быть настроен [[multigen|КучаГен]].\\ +Вже має бути налаштований [[multigen|КупаГен]].\\ 
-Не забываем добавить словарь для Mikrotik в /usr/local/etc/raddb/dictionary +Не забуваємо додати словник для Mikrotik в /usr/local/etc/raddb/dictionary 
 <code> <code>
 $INCLUDE        /usr/local/etc/raddb/dictionary_preset/mikrotik.dictionary $INCLUDE        /usr/local/etc/raddb/dictionary_preset/mikrotik.dictionary
 </code> </code>
-После чего перезапускаем FreeRADIUS+Після чого перезапускаємо FreeRADIUS
  
  
-Настраиваем биллинг стандартно как и для любых других устройств+Налаштовуємо білінг стандартно як і для будь-яких інших пристроїв
  
-в справочнике (сети и услуги) добавляем сети, создаем услуги(тип сети можете указать как "DHCP static" или "Other type")+у довіднику (мережі та послуги) додаємо мережі, створюємо послуги (тип мережі можете вказати як "DHCP static" або "Other type")
  
 {{:ub_add_network.png?&300|}} {{:ub_add_service.png?&300|}} {{:ub_add_network.png?&300|}} {{:ub_add_service.png?&300|}}
  
-добавляем NAS\\+додаємо NAS\\
 {{:ub_add_nas.png?&300|}} {{:ub_add_nas.png?&300|}}
  
-В конфигурации КучаГен для нашего NAS настраиваем атрибуты:\\+У конфігурації КупаГен для нашого NAS налаштовуємо атрибути:\\
 {{:ub_mlg_nas_ros_dhcp1.png?&300|}} {{:ub_mlg_nas_ros_dhcp1.png?&300|}}
  
-Как уже упоминалось выше - для NAS MikroTik + DHCP **НЕ работают Coa\PoD**, поэтому отключатся\включатся абоненты будут по истечении lease time (Session-Timeout). Время выберите подходящее для себяВ нашем примере абоненты, у которых баланс положительный, будут получать IP на 2 часа.+Як уже згадувалося вище - для NAS MikroTik + DHCP **НЕ працюють Coa\PoD**, тому відключаться\включаться абоненти будуть після закінчення lease time (Session-Timeout). Час виберіть відповідний для себеУ нашому прикладі абоненти, у яких баланс позитивний, отримуватимуть IP на 2 години.
  
-====== Конфигурация Mikrotik ====== +====== Конфігурація Mikrotik ====== 
-Включаем RADIUS, и его работу с DHCP\\+Вмикаємо RADIUS, і його роботу з DHCP\\
 {{:mlg_ros_radius_cfg.png?&300|}} {{:mlg_ros_radius_cfg.png?&300|}}
  
-В поле **Address** вписываем адрес нашего Ubilling(именно там ведь живет наш радиус?). В поле **Secret** вводим секрет, который можно посмотреть в Ubilling:\\ +У полі **Address** вписуємо адресу нашого Ubilling (адже саме там живе наш радіус?). У полі **Secret** вводимо секрет, який можна подивитися в Ubilling:\\ 
 {{:multigen_nas.png?&300|}} {{:multigen_nas.png?&300|}}
  
-На интерфейс, который смотрит в сторону клиентов вешаем сеть:\\ +На інтерфейс, який дивиться в бік клієнтіввішаємо мережу:\\ 
 {{:ros_net_add.png?&300|}} {{:ros_net_add.png?&300|}}
  
-И создаем на этом же интерфейсе dhcp-server(в поле Address Pool указываем **static-only**. В поле Use RADIUS ставим **yes**):\\+І створюємо на цьому ж інтерфейсі dhcp-server (у полі Address Pool вказуємо **static-only**. У полі Use RADIUS ставимо **yes**):\\
 {{:mlg_ros_dhcp_cfg.png?&300|}} {{:mlg_ros_dhcp_cfg.png?&300|}}
  
-В IP -> DHCP Server -> Networks Настраиваем добавляем нашу абонентскую сеть и указываем адреса Default gateway и DNS, которые будут выдаваться клиентам:\\+В IP -> DHCP Server -> Networks Налаштовуємо, додаємо нашу абонентську мережу і вказуємо адреси Default gateway і DNS, які будуть видаватися клієнтам:\\
 {{:mlg_ros_dhcp_net.png?&300|}} {{:mlg_ros_dhcp_net.png?&300|}}
  
  
-Базовая минимальная настройка завершена. Теперь абоненты будут получать IP из биллинга. Абоненты с положительным состоянием счета будут добавлены в IP -> Firewall -> Address-List, в список **ALLOW**, а с отрицательным, соответственно, в **NOT_ALLOW**. Список **ALLOW** логично выпустить в инет в фаерволлев то время как для **NOT_ALLOW** - заблокировать доступ в инет там же. Сделать это можно како так:\\+Базове мінімальне налаштування завершено. Тепер абоненти отримуватимуть IP з білінгу. Абоненти з позитивним станом рахунку будуть додані в IP -> Firewall -> Address-List, у список **ALLOW**, а з негативним, відповідно, в **NOT_ALLOW**. Список **ALLOW** логічно випустити в інет у фаєрволі, тоді як для **NOT_ALLOW** - заблокувати доступ в інет там же. Зробити це можна якось так:\\
 {{:ros_firewall_allow_not_allow.png?&300|}} {{:ros_firewall_allow_not_allow.png?&300|}}
  
-====== Получение графиков по статистике трафика абонента с Mikrotik ====== +====== Отримання графіків за статистикою трафіку абонента з Mikrotik ====== 
-Если вы очень хотите получать графики по статистике трафика абонента с Mikrotik так жекак при работе с Mikrotik по API можете использовать следующий **костыль**:\\+Якщо ви дуже хочете отримувати графіки зі статистики трафіку абонента з Mikrotik так самояк під час роботи з Mikrotik через APIможете використати наступну **костиль**:\\
  
-Включаем опцию [[alteriniconf|alter.ini]]+Вмикаємо опцію [[alteriniconf|alter.ini]]
 <code> <code>
 MULTIGEN_USE_ROS_TRAFFIC_GRAPHS=1 MULTIGEN_USE_ROS_TRAFFIC_GRAPHS=1
 </code> </code>
  
-Далее:\\ +Далі:\\ 
-===== Когда DHCP-сервером у нас сам Mikrotik NAS - DEPRECATED и настоятельно не рекомендуется к использованию ===== +===== Коли DHCP-сервером у нас сам Mikrotik NAS - DEPRECATED і настійно не рекомендується до використання ===== 
-**Итакпоскольку у этого метода внезапно(за почти год, ага) был обнаружен ФАТАЛЬНЫЙ НЕДОСТАТОК, который заключается в том, что микрот запускает этот скрипт только в момент НЕПОСРЕДСТВЕННОГО получения девайсом DHCP-лиза и НЕ запускает его при автопродлении(автообновлении) лизаЭто приводит к томучто если у юзера девайс(скажем роутер) включен постоянно и лиз он не переполучает, а автоматически продляет - то, напримерпри смене тарифа у юзера изменения лимитов скорости в шейпере не произойдет НИКОГДА. Ну, по крайней мере до тех порпока его устройство фактически не получит DHCP-лиз заново** +**Отже, оскільки у цього методу раптово (за майже рік, ага) було виявлено ФАТАЛЬНИЙ НЕДОЛІК, який полягає в томущо мікрот запускає цей скрипт тільки в момент НЕОЧІКАВОГО отримання девайсом DHCP-лізу і НЕ запускає його під час автоподовження (автооновлення) лізуЦе призводить до тогощо якщо у користувача девайс (скажімо, роутер) увімкнено постійно, а ліз він не переотримує, а автоматично подовжує, то, наприкладу разі зміни тарифу у користувача зміни лімітів швидкості в шейпері не відбудеться НІКОЛИ. Ну, принаймні дотидоки його пристрій фактично не отримає DHCP-ліз заново **
  
-**В связи с чем настоятельно рекомендуется во всех случаях использовать обновлённый и тщательнейше протестированный(но это не точно) скрипт для [[mgmikrotikdhcp#когда_dhcp-сервер_у_нас_где-то_там_а_сам_mikrotik_nas_-_всего_лишь_relay|Mikrotik NAS в режиме RELAY]]**+**У зв'язку з чим настійно рекомендується у всіх випадках використовувати оновлений і ретельно протестований (але це не точно) скрипт для [[mgmikrotikdhcp#Коли_dhcp-сервер_у_нас_десь_там_а_сам_mikrotik_nas_-_всього_лише_relay|Mikrotik NAS у режимі RELAY]]**
 \\ \\
 \\ \\
-//То есть да - даже когда DHCP-сервером у нас сам Mikrotik NAS - используем методологию и скрипт для [[mgmikrotikdhcp#когда_dhcp-сервер_у_нас_где-то_там_а_сам_mikrotik_nas_-_всего_лишь_relay|Mikrotik NAS в режиме RELAY]]//+//Тобто так навіть коли DHCP-сервером у нас сам Mikrotik NAS - використовуємо методологію та скрипт для [[mgmikrotikdhcp#коли_dhcp-сервер_у_нас_десь_там_а_сам_mikrotik_nas_-_всього_лише_relay|Mikrotik NAS у режимі RELAY]]//.
  
-**А эту штуку оставим чисто для понимания "каким образом хотелось бычтобы оно работало"**+**А цю штуку залишимо суто для розуміння "яким чином хотілося б, щоб воно працювало"."**
  
- в Mikrotik NAS **НЕ** __добавляем__ + в Mikrotik NAS **НЕ** __додаємо__ 
-  * в **System -> Scripts**  скрипт примерно такого содержания(назовем его, скажем, //SimpleQueueRebuild//)+  * в **System -> Scripts** скрипт приблизно такого змісту (назвемо його, скажімо, //SimpleQueueRebuild//)
 <code tcl [enable_line_numbers="​true"​]> <code tcl [enable_line_numbers="​true"​]>
 # getting global vars # getting global vars
Рядок 124: Рядок 124:
 } }
 </code> </code>
-  * в **IP -> DHCP Server -> DHCP**  в конфиг DHCP сервера в секцию Lease script(вкладка Script в боле поздних версиях ROS) название только что созданного скрипта //SimpleQueueRebuild// +  * в **IP -> DHCP Server -> DHCP**  у конфіг DHCP-сервера в секцію Lease script (вкладка Script у пізніших версіях ROS) назву щойно створеного скрипта //SimpleQueueRebuild//. 
-Логика работы данного скрипта следующаяв момент выдачи //DHCP-lease// абоненту мы ищем в //simple queues// запись с таким же IP, который мы вот сейчас выдаем, и правим эту запись под свои нужды: точнее - удаляем и добавляем такую жено с нужными нам параметрами. И да, **очень важно отметить**, что наличие префикса **mlg_** в наименовании //simple queue-записи// - **строго ОБЯЗАТЕЛЬНО**.\\ +Логіка роботи цього скрипта така: у момент видачі //DHCP-lease// абоненту ми шукаємо в //simple queues// запис із таким самим IP, який ми ось зараз видаємоі правимо цей запис під свої потреби: точніше - видаляємо і додаємо такий самийале з потрібними нам параметрами. І так, **дуже важливо зазначити**, що наявність префікса **mlg_** у найменуванні //simple queue-запису// - **строго ОБОВ'ЯЗКОВО**.\\ 
-Естественно, это только пример и в своем конкретном случае вы можете модифицировать его под ваши задачи и реалии(напримерустанавливать burst'ы и прочее).\\+Звісно, це тільки приклад, і у своєму конкретному випадку ви можете модифікувати його під ваші завдання і реалії (наприкладвстановлювати burst'и та інше).\\
  
 \\ \\
  
-===== Когда DHCP-сервер у нас где-то там, а сам Mikrotik NAS - всего лишь relay ===== +===== Коли DHCP-сервер у нас десь там, а сам Mikrotik NAS - усього лише relay ===== 
-Этот способ, кстати, может подойти и для [[http://wiki.ubilling.net.ua/doku.php?id=mgmikrotik|MikroTik IPoE (Hotspot)]]\\+Цей спосіб, до речі, може підійти і для [[http://wiki.ubilling.net.ua/doku.php?id=mgmikrotik|MikroTik IPoE (Hotspot)]]\\
 \\ \\
-Как и в предыдущем случае в Mikrotik NAS __добавляем__ +Як і в попередньому випадку в Mikrotik NAS __додаємо__ 
-  * в **System -> Scripts**  скрипт примерно такого содержания(назовем его, скажем, //SimpleQueueRebuild//)+  * у **System -> Scripts**  скрипт приблизно такого змісту (назвемо його, скажімо, //SimpleQueueRebuild//)
 <code tcl [enable_line_numbers="true"]> <code tcl [enable_line_numbers="true"]>
 :local qSpeed ""; :local qSpeed "";
Рядок 187: Рядок 187:
 } }
 </code> </code>
-  * дальше идем в **System -> Scheduler** и создаем там задачу, которая будет запускать наш //SimpleQueueRebuild//, скажем, раз в 30 сек. Можно и чаще. Можно и реже - всецело на ваш вкус.\\  +  * далі йдемо в **System -> Scheduler** і створюємо там завданняяке запускатиме наш //SimpleQueueRebuild//, скажімо, раз на 30 сек. Можна й частіше. Можна і рідше - цілком на ваш смак.\\  
-По сутиэта штука следует тому же принципучто и предыдущая, только вот в силу тогочто DHCP lease выдается не нашим НАСом и "поймать", собственноэтот момент мы не можем - мы производим периодическую проверку на наличие "неправильных" наименований шейперов и делаем из них "правильные"+По сутіця штука слідує за тим самим принципомщо й попередня, тільки ось через тещо DHCP lease видається не нашим НАСом і "спіймати", власне, цей момент ми не можемо - ми виробляємо періодичну перевірку на наявність "неправильних" найменувань шейперів і робимо з них "правильні"...
  
-Стоит отметитьчто переменная **leaseDynPrefix** призвана отфильтровать выборку записей //simple queue//, ограничив её только теми, в наименовании которых присутствует префикс __//dhcp-ds<//__ - именно так именовал динамически созданные записи //simple queue// микротик, на котором этот скрипт тестировался и **СТОИТ ИМЕТЬ В ВИДУ, что в вашем конкретном случае этот префикс может ОТЛИЧАТЬСЯ**. В принципе - вы вообще можете не полагаться на эту переменную и не использовать её, закомментировав в скрипте строку **12** и раскомментировав строку **9**.+Варто зазначити, що змінна **leaseDynPrefix** покликана відфільтрувати вибірку записів //simple queue//, обмеживши її лише тими, у найменуванні яких присутній префікс __//dhcp-ds<//__ - саме так іменував динамічно створені записи //simple queue// мікротик, на якому цей скрипт тестували, і **СТОИТЬ ЗНАТИ В УВАГУ, що у вашому конкретному випадку цей префікс може ВІДРІЗНИТИСЯ**. У принципі - ви взагалі можете не покладатися на цю змінну і не використовувати її, закоментувавши в скрипті рядок **12** і розкоментувавши рядок **9**.
  
-И конечно же, **нужно не забыть об очень важном моменте**, а именно о томчто наличие префикса **mlg_** в наименовании //simple queue-записи// - **строго ОБЯЗАТЕЛЬНО**.\\+І звичайно ж, **потрібно не забути про дуже важливий момент**, а саме про тещо наявність префікса **mlg_** у найменуванні //simple queue-запису// - **строго ОБОВ'ЯЗКОВО**.\\
 \\ \\
-Стоит ли говоритьчто если у вас на каком-то конкретном микротикоНАСе в simple queue есть какие-то свои, нужные вам записи - то приведенный выше скрипт не остановится ни перед чем, лишь бы переделать их полностью. Так что - осторожнее в продакшене, а дополнительное фильтрование в него внедряйте уже самостоятельно... +Чи варто говоритищо якщо у вас на якомусь конкретному мікротикоНАСі в simple queue є якісь своїпотрібні вам записи - то наведений вище скрипт не зупиниться ні перед чим, аби переробити їх повністю. Тож - обережніше в продакшені, а додаткове фільтрування в нього впроваджуйте вже самостійно... 
  
 \\ \\
  
-===== Включаем сами графики на Mikrotik NAS ===== +===== Вмикаємо самі графіки на Mikrotik NAS ===== 
-Ну икак показывает практика, нужно не забыть включить эти самые графики на каждом отдельном Mikrotik NAS. Сделать это можно следующим образом:+Ну іяк показує практика, потрібно не забути ввімкнути ці самі графіки на кожному окремому Mikrotik NAS. Зробити це можна таким чином:
  
 **Tools -> Graphing** **Tools -> Graphing**
  
-Нажимаем "__Graphing Settings__"\\+Натискаємо "__Graphing Settings__"\\
 {{:ros_graphs1.png?&300|}}\\ {{:ros_graphs1.png?&300|}}\\
-и устанавливаем желаемую частоту сбора и записи статистических данных. Обычно это - 5 минутМногим, наверное, хотелось бы чаще, но Микротик пока чаще не умеет.\\+і встановлюємо бажану частоту збору та запису статистичних даних. Зазвичай це - 5 хвилин. Багатьом, напевно, хотілося б частіше, але Мікротік поки частіше не вміє.
  
-Далее обращаем внимание на вкладки "__... Rules__"\\ +Далі звертаємо увагу на вкладки "__.... Rules__"\\ 
 {{:ros_graphs2.png?&300|}}\\ {{:ros_graphs2.png?&300|}}\\
-здесь мы можем указать детали сбора статистики(для сущностей типа интерфейсы, правила шейперов и системные ресурсыи доступа к этой статистикеПоскольку нас интересуют графики трафика наших юзеров - нам нужна вкладка "__Queue Rules__". Тыкаем по ней, потом по кнопке с синим плюсом "Добавить":\\+тут ми можемо вказати деталі збору статистики (для сутностей типу інтерфейси, правила шейперів і системні ресурсиі доступу до цієї статистикиОскільки нас цікавлять графіки трафіку наших юзерів - нам потрібна вкладка "__Queue Rules__". Тикаємо по ній, потім по кнопці з синім плюсом "Додати":\\\
 {{:ros_graphs3.png?&300|}}\\ {{:ros_graphs3.png?&300|}}\\
-и добавляем правило для наших будущих графчиков:\\ +і додаємо правило для наших майбутніх графчиків:\\ 
-  * **Simple Queue** - шейперы, для которых будет собираться статистика. Здесь логично оставить **all**.   +  * **Simple Queue** - шейпери, для яких буде збиратися статистика. Тут логічно залишити **all**.   
-  * **Allow Address** - адрес/подсеть с которых будет разрешен доступ к этим графикам. Логично указать здесь адрес нашего Убиллинг сервера. Значение **0.0.0.0/0**, естественно, разрешит доступ всем.   +  * **Allow Address** - адреса/підмережа з яких буде дозволено доступ до цих графіків. Логічно вказати тут адресу нашого Убіллінг сервера. Значення **0.0.0.0.0/0**, природно, дозволить доступ усім.   
-  * **Store On Disk** - хранить ли данные статистики на дискеЛучше включить мы ведь не хотим, чтобы при каждом перезапуске НАСа у нас обнулялась стата? +  * **Store On Disk** - чи зберігати дані статистики на дискуКраще ввімкнути адже ми не хочемощоб під час кожного перезапуску НАСу в нас обнулялася стата? 
-  * **Allow Target** - очень интересная опция, определяющая разрешено ли юзеру, чья стата собирается этим правилом, смотреть свою же статистику. Если вашим пользователям разрешен доступ к **http://ROS_NAS_IP/graphs/**  и эта опция включена - они смогут видеть каждый свой график. ИРЛ такое, как правило, не практикуется. +  * **Allow Target** - дуже цікава опція, що визначає, чи дозволено користувачеві, чия стата збирається цим правилом, дивитися свою ж статистику. Якщо вашим користувачам дозволено доступ до **http://ROS_NAS_IP/graphs/** і цю опцію ввімкнено вони зможуть бачити кожен свій графік. ІРЛ таке, як правило, не практикується. 
-Теперь, когда "графичковая тулза" у нас настроена и правило сбора статы добавлено - можем перейти на **http://ROS_NAS_IP/graphs/** и лицезреть там наши графички.\\ +Тепер, коли "графічкова тулза" у нас налаштована і правило збору стати додано - можемо перейти на **http://ROS_NAS_IP/graphs/** і споглядати там наші графічки. 
-А если не лицезреем - значит что-то не так и [[http://instantsite.ru/gallery/image.php?album_id=5&image_id=729|идем переделываем]], ибо в таком случае в Убиллинге мы их, скорее всего, тоже не увидим. Ну или мы забыли добавить в **Allow Address** адрес своего хоста, с которого пытаемся эти графички увидеть.+А якщо не споглядаємо - значить, щось не так і [[http://instantsite.ru/gallery/image.php?album_id=5&image_id=729|йдемо переробляємо]], бо в такому разі в Убілінгу ми їх, найімовірніше, теж не побачимо. Ну або ми забули додати в **Allow Address** адресу свого хоста, з якого намагаємося ці графічки побачити.
 \\ \\
-======Копирайт====== +======Копірайт====== 
-Отдельная благодарность за помощь в создании данного мануала - [[https://local.com.ua/forum/profile/40843-mohax_kh_ua/|mohax_kh_ua]]\\ +Окрема подяка за допомогу у створенні цього мануала - [[https://local.com.ua/forum/profile/40843-mohax_kh_ua/|mohax_kh_ua]]\\ 
-Главный микротико-скрипто-тестер - [[https://local.com.ua/forum/profile/16438-reductor/|reductor]]+Головний мікротико-скрипто-тестер - [[https://local.com.ua/forum/profile/16438-reductor/|reductor]]
    
mgmikrotikdhcp.txt · Востаннє змінено: 2023/09/04 19:34 повз bobr