Request for help on script dyn2stat

Публикувай отговор
Аватар
error_404
Глобален модератор
Мнения: 350
Регистриран на: 22 Дек 2012 10:58

Request for help on script dyn2stat

Мнение от error_404 »

Здравейте,
не съм много в писането на скриптове, но по логика и оскъдната информация се опитвам да направя скрипт, който динамичните адреси в Address List в Микротик при стартиране да ги вкара в статичен лист (Blocked IP's)

Посредством правила в защитната стена (firewall) се пълнят следните листи динамично:

- deep Black List (Telnet) - опити за хак посредством Telnet
- deep Black List (SSH) - опити за хак посредством SSH
- deep Black List (Winbox) - опити за хакпосредством Winbox
- deep Port Scanners - опити за сканиране на портове

В лист Blocked IP's се записват чрез ръчно добавяне определени адреси!!!
В лист Trusted IP's се записват изключенията от гореописаните правила!!!

Определено някъде бъркамв синтаксиса, но не знам къде

Код за потвърждение: Избери целия код

ip firewall address-list print where list="Blocked IP's"
- Принт на всички адреси в лист Blocked IP's

Посочените по-долу скриптове добавят записите в Blocked IP's, но не изтриват динамичните такива!

Код за потвърждение: Избери целия код

:foreach i in=[/ip firewall address-list find (list="deep Black List (Telnet)" dynamic=yes) ] do={/ip firewall address-list add list="Blocked IP's" copy-from=$i}

:foreach i in=[/ip firewall address-list find (list="deep Black List (SSH)" dynamic=yes) ] do={/ip firewall address-list add list="Blocked IP's" copy-from=$i}

:foreach i in=[/ip firewall address-list find (list="deep Black List (Winbox)" dynamic=yes) ] do={/ip firewall address-list add list="Blocked IP's" copy-from=$i}

:foreach i in=[/ip firewall address-list find (list="deep Port Scanners" dynamic=yes) ] do={/ip firewall address-list add list="Blocked IP's" copy-from=$i}
Сега остава да навържа посочените по-горе скриптове в chain и после да провери записите и ако ги има да изтрие динамичните.

Код за потвърждение: Избери целия код

:foreach i in [/ip firewall address-list find (list="deep Black List (Winbox)" dynamic=yes) ] do={/ip firewall address-list remove $i};
:foreach i in [/ip firewall address-list find (list="deep Black List (Telnet)" dynamic=yes) ] do={/ip firewall address-list remove $i};
:foreach i in [/ip firewall address-list find (list="deep Black List (SSH)" dynamic=yes) ] do={/ip firewall address-list remove $i};
:foreach i in [/ip firewall address-list find (list="deep Port Scanners" dynamic=yes) ] do={/ip firewall address-list remove $i};
Да го добавя в Scheduler където да стартира на всеки 7 дена примерно ;)

Предварително благодаря за оказаната помощ!
Изображение
"За мен най-лошото в България е чудесното наслаждение, което тук имат хората да се преследват един друг и да развалят един другиму работата."
К.Иречек, 13.12.1881

Аватар
error_404
Глобален модератор
Мнения: 350
Регистриран на: 22 Дек 2012 10:58

Solution: dyn2stat

Мнение от error_404 »

Благодаря на колегата!
Споделеният опит е безценен!!!
Прави всички динамични IP-та от всички адресни листи в статични

Код за потвърждение: Избери целия код

/ip firewall address-list set dynamic=no [/ip firewall address-list find dynamic]
[ENTER]

Трансфер от един лист в друг. Листа, в който ще преместваме предшества листа, от който преместваме!

Код за потвърждение: Избери целия код

/ip firewall address-list set list="Blocked IP's" [/ip firewall address-list find list="deep Black List (SSH)"]
[ENTER]

Код за потвърждение: Избери целия код

/ip firewall address-list set list="Blocked IP's" [/ip firewall address-list find list="deep Black List (Telnet)"]
[ENTER]

Код за потвърждение: Избери целия код

/ip firewall address-list set list="Blocked IP's" [/ip firewall address-list find list="deep Black List (Winbox)"]
[ENTER]

Код за потвърждение: Избери целия код

/ip firewall address-list set list="Blocked IP's" [/ip firewall address-list find list="deep Port Scanners"]
[ENTER]
Изображение
"За мен най-лошото в България е чудесното наслаждение, което тук имат хората да се преследват един друг и да развалят един другиму работата."
К.Иречек, 13.12.1881

Аватар
error_404
Глобален модератор
Мнения: 350
Регистриран на: 22 Дек 2012 10:58

dyn2stat on new ROS 6.XX

Мнение от error_404 »

System > Script

Код за потвърждение: Избери целия код

:foreach i in=[/ip firewall address-list find dynamic=yes] do={
   :local w [/ip firewall address-list get $i address];
   /ip firewall add rem [/ip firewall add find address=$w]
   /ip firewall add add list="Blocked IP's" address=$w
}
optionally System > Scheduler to make run on schedule!
Изображение
"За мен най-лошото в България е чудесното наслаждение, което тук имат хората да се преследват един друг и да развалят един другиму работата."
К.Иречек, 13.12.1881

Публикувай отговор