[Решено] Нужен DHCP скрипт/конфиг для мак адресов!

Базовая функциональность RouterOS
Tiesto
Сообщения: 98
Зарегистрирован: 28 апр 2016, 22:33

[Решено] Нужен DHCP скрипт/конфиг для мак адресов!

Сообщение Tiesto »

Добрый день коллеги!
На 1036 работает пппое + микротик апи (без фриирадиуса), статик и серые ип адреса.
Хочу перейти на дхцп + микротик апи - но есть много вопросов которые с Микротиком проблемы.
1) С помощью какого скрипта - на дхцп сервере можно указать что - мак которое получает ип адрес, сделать "мейк-статик" и передать адрес из пула и посадить на адрес-лист=no_iNet с комментом юник номер хххххххх.
2) Какие команды нужно для апи чтобы переключат адрес пул на другую? Например: /ip dhcp-server lease set mac-address=ХХ:ХХ:ХХ:ХХ:ХХ:ХХ address-lists=yes_iNet rate-limit=20M не работает, спрашивает numbers.

Коротка - скрипт играет с мак адресами и апи получает инфо и переключает на адреса и тд.

Какие идеи?
Последний раз редактировалось Tiesto 21 фев 2019, 22:25, всего редактировалось 1 раз.
Аватара пользователя
Chupaka
Сообщения: 4086
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: Нужен DHCP скрипт/конфиг для мак адресов!

Сообщение Chupaka »

Приветствую.
Tiesto писал(а): 17 фев 2019, 13:32 На 1036 работает пппое + микротик апи (без фриирадиуса), статик и серые ип адреса.
В смысле, какая-то сторонняя программа настраивает роутер через микротик апи?
Tiesto писал(а): 17 фев 2019, 13:32 1) С помощью какого скрипта - на дхцп сервере можно указать что - мак которое получает ип адрес, сделать "мейк-статик" и передать адрес из пула и посадить на адрес-лист=no_iNet с комментом юник номер хххххххх.
Команда "/ip dhcp-server lease make-static" с последующим добавлением параметров не подойдёт? Либо просто создать лизу с нужными параметрами...
Tiesto писал(а): 17 фев 2019, 13:32 2) Какие команды нужно для апи чтобы переключат адрес пул на другую? Например: /ip dhcp-server lease set mac-address=ХХ:ХХ:ХХ:ХХ:ХХ:ХХ address-lists=yes_iNet rate-limit=20M не работает, спрашивает numbers.
Так вы не указали, кому параметры меняете. Например, так:

Код: Выделить всё

/ip dhcp-server lease set [find mac-address=YY:YY:YY:YY:YY:YY] mac-address=ХХ:ХХ:ХХ:ХХ:ХХ:ХХ address-lists=yes_iNet rate-limit=20M
Tiesto
Сообщения: 98
Зарегистрирован: 28 апр 2016, 22:33

Re: Нужен DHCP скрипт/конфиг для мак адресов!

Сообщение Tiesto »

Chupaka писал(а): 17 фев 2019, 23:27
Tiesto писал(а): 17 фев 2019, 13:32 На 1036 работает пппое + микротик апи (без фриирадиуса), статик и серые ип адреса.
В смысле, какая-то сторонняя программа настраивает роутер через микротик апи?
У меня своя crm/billing на php. С помощью php и микротик апи, срм добавляет и удалает логин/пароли. Работает без проблем. Хочу избавиться от пппое тунела чтобы, меншы нагрузки на юзер роутер и для микротика тоже хорошо.
Tiesto
Сообщения: 98
Зарегистрирован: 28 апр 2016, 22:33

Re: Нужен DHCP скрипт/конфиг для мак адресов!

Сообщение Tiesto »

Chupaka писал(а): 17 фев 2019, 23:27
Tiesto писал(а): 17 фев 2019, 13:32 1) С помощью какого скрипта - на дхцп сервере можно указать что - мак которое получает ип адрес, сделать "мейк-статик" и передать адрес из пула и посадить на адрес-лист=no_iNet с комментом юник номер хххххххх.
Команда "/ip dhcp-server lease make-static" с последующим добавлением параметров не подойдёт? Либо просто создать лизу с нужными параметрами...
Ну при первом запросе, юзер роутер получает ип, но этот ип и мак не попадает в список как статик. Надо сделать этот мак make-static. Автоматически не как не сделать?
Аватара пользователя
Sir_Prikol
Сообщения: 562
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР

Re: Нужен DHCP скрипт/конфиг для мак адресов!

Сообщение Sir_Prikol »

Вариант номер 1

Код: Выделить всё

/ip dhcp-server lease
:foreach i in=[find dynamic] do={
  make-static $i
  set $i comment=[/system clock get date]
}
Вариант номер 2

Код: Выделить всё

/ip dhcp-server lease make-static [find dynamic]
Это если я правильно понял машинный перевод человека
Дома: CCR2004 (7-ISP(GPON)белый IP)
Аватара пользователя
Chupaka
Сообщения: 4086
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: Нужен DHCP скрипт/конфиг для мак адресов!

Сообщение Chupaka »

Автоматически - можно сделать в скрипте, вызываемом при выдаче адреса: DHCP Server Lease Script. Но вряд ли роутер знает, в какой address-list надо запихнуть пользователя и какую скорость ему нарезать. Так что задача всё ещё не ясна.
Tiesto
Сообщения: 98
Зарегистрирован: 28 апр 2016, 22:33

Re: Нужен DHCP скрипт/конфиг для мак адресов!

Сообщение Tiesto »

Sir_Prikol писал(а): 18 фев 2019, 00:51 Это если я правильно понял машинный перевод человека
Да правильно.
Оба варианта супер. Но как можно сделать что на коммент зафиксировал как то юник номера.
Потому что, апи будет искать юзера по юник номеру на комменте (для смена рейт лимита, ип адреса или адресс листа).
То что там время показывает ;;; feb/19/2019. Юник номер для поиска юзера.
Аватара пользователя
Sir_Prikol
Сообщения: 562
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР

Re: Нужен DHCP скрипт/конфиг для мак адресов!

Сообщение Sir_Prikol »

Никак, так как уникальный номер у вас в биллинге, а микротик не знает его и не может узнать. Вы продумайте уникальный номер на основе того, что знает микротик, к примеру мак адрес, по другому у вас не получится

Время поставлено как пример

Код: Выделить всё

set $i comment=[find name="$leaseActIP]
Это подставит IP адрес того, кто законнектился
Дома: CCR2004 (7-ISP(GPON)белый IP)
Tiesto
Сообщения: 98
Зарегистрирован: 28 апр 2016, 22:33

Re: Нужен DHCP скрипт/конфиг для мак адресов!

Сообщение Tiesto »

Chupaka писал(а): 18 фев 2019, 13:42 Автоматически - можно сделать в скрипте, вызываемом при выдаче адреса: DHCP Server Lease Script. Но вряд ли роутер знает, в какой address-list надо запихнуть пользователя и какую скорость ему нарезать. Так что задача всё ещё не ясна.
То что Я тут спросил
2) Какие команды нужно для апи чтобы переключат адрес пул на другую? Например: /ip dhcp-server lease set mac-address=ХХ:ХХ:ХХ:ХХ:ХХ:ХХ address-lists=yes_iNet rate-limit=20M не работает, спрашивает numbers.
для того что смены состояние адреса. Пример: для смены тарифа или блокировка.

Код: Выделить всё

ip dhcp-server lease set [find mac-address=YY:YY:YY:YY:YY:YY] mac-address=ХХ:ХХ:ХХ:ХХ:ХХ:ХХ address-lists=yes_iNet rate-limit=20M
Это работает. Спасибо
Tiesto
Сообщения: 98
Зарегистрирован: 28 апр 2016, 22:33

Re: Нужен DHCP скрипт/конфиг для мак адресов!

Сообщение Tiesto »

Sir_Prikol писал(а): 19 фев 2019, 00:26 Никак, так как уникальный номер у вас в биллинге, а микротик не знает его и не может узнать. Вы продумайте уникальный номер на основе того, что знает микротик, к примеру мак адрес, по другому у вас не получится

Время поставлено как пример

Код: Выделить всё

set $i comment=[find name="$leaseActIP]
Это подставит IP адрес того, кто законнектился
Нет это не работает, в конце "$leaseActIP вы упустили " , Я это тоже исправил, но не фиксирует.
Аватара пользователя
Sir_Prikol
Сообщения: 562
Зарегистрирован: 14 апр 2018, 15:21
Откуда: СССР

Re: Нужен DHCP скрипт/конфиг для мак адресов!

Сообщение Sir_Prikol »

Бывает, просто копировал часть кода, полный скрипт выглядит так (правда у меня он исключительно для очередей, но переделать не сложно.

Код: Выделить всё

/queue simple {
    :if ($leaseBound = "1") do={
	    add name="Public-$leaseActIP" target=$leaseActIP max-limit=5M/5M queue=public-wifi-upload-5M/public-wifi-upload-5M;
    } else={
        remove [find name="Public-$leaseActIP"];
    }
}
Дома: CCR2004 (7-ISP(GPON)белый IP)
Аватара пользователя
Chupaka
Сообщения: 4086
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: Нужен DHCP скрипт/конфиг для мак адресов!

Сообщение Chupaka »

Что не фиксирует-то? Вы хоть нормально объясните, что хотите сделать. Видимо, лучше всего — на конкретном примере.
Tiesto
Сообщения: 98
Зарегистрирован: 28 апр 2016, 22:33

Re: Нужен DHCP скрипт/конфиг для мак адресов!

Сообщение Tiesto »

Sir_Prikol писал(а): 19 фев 2019, 11:03 Бывает, просто копировал часть кода, полный скрипт выглядит так (правда у меня он исключительно для очередей, но переделать не сложно.

Код: Выделить всё

/queue simple {
    :if ($leaseBound = "1") do={
	    add name="Public-$leaseActIP" target=$leaseActIP max-limit=5M/5M queue=public-wifi-upload-5M/public-wifi-upload-5M;
    } else={
        remove [find name="Public-$leaseActIP"];
    }
}
Спасибо, всё ок
Tiesto
Сообщения: 98
Зарегистрирован: 28 апр 2016, 22:33

Re: Нужен DHCP скрипт/конфиг для мак адресов!

Сообщение Tiesto »

Chupaka писал(а): 19 фев 2019, 12:23 Что не фиксирует-то? Вы хоть нормально объясните, что хотите сделать. Видимо, лучше всего — на конкретном примере.
Всё ок, заработало. Но вот такой вопрос хотел ещё уточнить.
На dhcp сервере ип адреса полученный с стороны юзера, меняется в время отсутствия от сети?
Скажу так: Данный момент на микротик pppoe сервере, при дисконнекте и реконнекте юзера, микротик не дает разные ип адреса из пула, юзер получает тот же ип адрес. На dhcp сервере тоже самое или зависимо от lease time сессии у юзера есть возможность получат другой ип из пула?
Аватара пользователя
Chupaka
Сообщения: 4086
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: Нужен DHCP скрипт/конфиг для мак адресов!

Сообщение Chupaka »

На pppoe после дисконнекта, если в этот момент другой клиент получит новый адрес, при переподключении первого он тоже, по идее, должен получить новый адрес, а не тот, что у него был. В dhcp, подозреваю, аналогично.
Tiesto
Сообщения: 98
Зарегистрирован: 28 апр 2016, 22:33

Re: Нужен DHCP скрипт/конфиг для мак адресов!

Сообщение Tiesto »

Спасибо за все информации и помощь.