Возьмем классическое правило добавления IP в address-list в Firewall Mikrotik:
Но если взглянуть на скриншот, можно увидеть, несмотря на интервал 00:00:00, правила создаются динамические. А это значит, что после перезагрузки эти листы удалятся. Очень странное поведение RouterOS, но имеем то, что имеем!
Иногда нам нужно правилом забанить вредоносные IP. Например те, которые подключаются с WAN-интерфейса, и мы определяем их подключения - как небезопасные. При-чем хочется забанить их навсегда - но получается только до перезагрузки. Для этого нам нужно преобразовать динамические записи - в статические. В этом случае можно использовать скрипт. Скрипт, преобразовывающий динамические записи в адрес-листе в статические я описывал ранее, сейчас я приведу его другую вариацию:
/ip firewall filter
add action=add-dst-to-address-list address-list=1 address-list-timeout=0s chain=forward
Обратимся к Wiki:
address-list-timeout (time; Default: 00:00:00) - указываем временной интервал, на который мы добавляем IP в адрес-лист. Значение 00:00:00 оставит адрес в списке навсегда.
Иногда нам нужно правилом забанить вредоносные IP. Например те, которые подключаются с WAN-интерфейса, и мы определяем их подключения - как небезопасные. При-чем хочется забанить их навсегда - но получается только до перезагрузки. Для этого нам нужно преобразовать динамические записи - в статические. В этом случае можно использовать скрипт. Скрипт, преобразовывающий динамические записи в адрес-листе в статические я описывал ранее, сейчас я приведу его другую вариацию:
:foreach i in=[/ip firewall address-list find list=1] do={Где "1" - имя динамического адрес-листа, а "12" - имя преобразованного статического. Скрипт можно кинуть в планировщик на выполнение раз в минуту. Таким образом ни один IP не пропадает после перезагрузки. Теперь можно создавать правило для дропа статического адрес-листа.
:local ipaddress [/ip firewall address-list get $i address]
:local dynamic [/ip firewall address-list get $i dynamic]
if ($dynamic = true) do={
/ip firewall address-list remove $i
/ip firewall address-list add list=12 address=$ipaddress
}
}
Темы на офф. форуме, где это обсуждалась:
http://forum.mikrotik.com/viewtopic.php?t=11695
http://forum.mikrotik.com/viewtopic.php?t=110551
http://forum.mikrotik.com/viewtopic.php?t=86790
http://forum.mikrotik.com/viewtopic.php?t=11695
http://forum.mikrotik.com/viewtopic.php?t=110551
http://forum.mikrotik.com/viewtopic.php?t=86790
Спасибо дружище, теперь могу банить уебанов майкрософтских
ОтветитьУдалитьСпасибо. Оказалось полезно. Только я заместо 1 и 12 указал одно и тоже имя листа. Эффект перевода адресов из динамических в статические.
ОтветитьУдалить"Очень странное поведение RouterOS, но имеем то, что имеем!"
ОтветитьУдалитьПочему же? А если бы Вам нужно было иметь временный список с записями без тайм-аута, то это поведение уже не казалось бы странным?