Поле Script в DHCP Client позволяет напрямую использовать полученные настройки для дальнейших манипуляций с системой, например динамической подстановки шлюза в рекурсивной маршрутизации, а так же 2WAN/MultiWAN и других местах конфигурации.
Возьмем за основу скрипт с официальной справки help.mikrotik.com
Получение данных
В нем нам интересны получаемые переменные:
- $gateway-address — Шлюз
- $lease-address — IP адрес
- $interface — Интерфейс, на котором работает этот скрипт

:log info $"gateway-address"
:log info $"lease-address"
:log info $"interface" Подстановка данных Script DHCP
IP > Routes
Используется для рекурсивной маршрутизации, при настройке 2WAN/MultiWAN на динамических IP/Шлюзе.
/ip route set [find comment="WAN1_!_Recursive"] gateway=$"gateway-address";
Routing > Rules
Когда нужно «прибить» внешний IP к конкретному маршруту. Используется в 2WAN/MultiWAN.
/routing rule set [find comment="Route_Only_WAN1"] src-address=$"lease-address"; IP > Firewall > NAT
NAT работает эффективней на src-nat, так как не затрачиваются ресурсы на masquerade. Скриптом так же можно подставлять внешний IP. Но это будет эффективно только на высоконагруженной системе.
/ip firewall nat set [find comment="NAT WAN1"] to-addresses=$"lease-address"; PPP/L2TP
У L2TP есть опция Src. Address, куда можно указать исходящий IP нужного провайдера или просто необходимый IP если их много.
/interface/l2tp-client/set l2tp-out-zabbix src-address=$"lease-address"; Interface > GRE/EoIP/IPIP
Так же есть поле Local Adderss, куда подставляется IP нужного провайдера, это особенно актуально при 2WAN/MultiWAN.
/interface/gre/set gre-tunnel1 local-address=$"lease-address"; Итого

/ip route set [find comment="WAN1_!_Recursive"] gateway=$"gateway-address";
/routing rule set [find comment="Route_Only_WAN1"] src-address=$"lease-address";
/ip firewall nat set [find comment="NAT WAN1"] to-addresses=$"lease-address";
/interface/l2tp-client/set l2tp-out-zabbix src-address=$"lease-address";
/interface/gre/set gre-tunnel1 local-address=$"lease-address"; 