Mikrotik Shaper – DHCP Queues
Скриптът по-долу създава автоматично simple queue за всеки клиент, който получи адрес от DHCP сървъра на MikroTik — без ръчно поддържане на списък с опашки. Поставя се в полето Lease Script на самия DHCP сървър (IP → DHCP Server → вашият сървър → Lease Script).


:local queueName "Client-$leaseActMAC";
:local ipAdd "$leaseActIP/32";
:if ([:len [/queue simple find name=$queueName]] = 0) do={
:log info "No Queue";
/queue simple add name=$queueName target=($ipAdd) limit-at=10M/10M max-limit=10M/10M comment=[/ip dhcp-server lease get [find where active-mac-address=$leaseActMAC && active-address=$leaseActIP] host-name];
} else={
:log info "exists";
:local ada [/queue simple get [find name=$queueName] target];
:log info "existing $ada";
:if ($ada = $ipAdd) do={
:log info "IP same $ada";
} else={
/queue simple set target=($ipAdd) [find name=$queueName];
}
}
Логиката: при нов lease се създава опашка Client-<MAC> с лимит 10M/10M и коментар името на хоста. Ако опашката вече съществува, но клиентът е получил друг адрес, target се обновява автоматично. Лимитът 10M/10M сменете според вашите планове.