Что делать когда у Вас динамический белый ip, а нужно как-то пробросить порты через Mikrotik и использовать какие либо устройства в Вашей внутренней сети.
На помощь приходит небольшой скрипт erazel
Добавляем скрипт в System – Scripts , например с именем NAT Kyivstar
Вначале добавляем проброс портов, по обычной схеме
Chain: dstnat
Dst. Address: наш динамический IP (например от Киевстар Украина)
Dst. Port: 4899 – порт который будет доступен из интернет
Action: dst-nat
To Addresses: 192.168.0.20 – локальный ip внутренней сети Mikrotik
To Ports: 4899 – порт внутренней сети Mikrotik
После чего создаем комментарий записи: Comment: radmin
На каждую последующую запись делаем свой комментарий
После того как создали записи, добавляем скрипт в System – Scripts , например с именем NAT Kyivstar
:global ddnsipold [ /ip firewall nat get [find comment=»radmin»] dst-address]
:global ddnsip [ /ip address get [find interface=»ISP2″] address ]
:for i from=( [:len $ddnsip] — 1) to=0 do={
:if ( [:pick $ddnsip $i] = «/») do={
:set ddnsip [:pick $ddnsip 0 $i];
}
}
:if ($ddnsipold != $ddnsip) do={
/ip firewall nat set [find dst-address=$ddnsipold] dst-address=$ddnsip;
}
В отличии от 1го варианта, в этом скрипте мы сравниваем старый ip в записи с комментарием radmin и в случае если значение изменилось, меняем ip на новый адрес во всех записях где фигурировал старый ip.
Данный метод избавляет нас от необходимости создавать кучу записей с комментариями.