Есть сеть, все пользователи которой идентифицируются по MAC-адресу и есть dhcp-сервер на MikroTik, который раздаёт статические IP-адреса. Управляется MikroTik по ssh из системы билинга, так например для создания пользователя система биллинга отправит команду:
Код: Выделить всё
/ip dhcp-server lease add address=UIP mac-address=MAC
Соответственно UIP и MAC будут заменены на IP-адрес и MAC-адрес.
Но есть одно но, эта команда не сработает, если уже есть связки содержащие указанный MAC-адрес или IP-адрес.
Стало быть нужно перед этой командой выполнить ещё две, которые эти связки будут удалять:
Код: Выделить всё
/ip dhcp-server lease remove [find address=UIP]
и
Код: Выделить всё
/ip dhcp-server lease remove [find mac-address=MAC]
То есть задача выполнима при помощи скрипта, в котором эти три команды будут выполняться. А вот дальше никак не разберусь. Вот допустим биллинг передаст на Микротик команду запуска скрипта:
Код: Выделить всё
/system script run Change_IP_MAC UIP MAC
А дальше как? Нужно же чтобы переменные UIP и MAC правильно внутрь скрипта передались. В wiki написано, что это как-то через :global делается, но тут я ничего не понимаю.