Милсдари,нужен скрипт:
защита от ddos следующего вида
На тике есть ip. на него прилетают пакеты/соединения. Анализируем кол-во пакетов/соединений. Если достигнут лимит - вносим этот ip ( который на микротике ) в address-list list=ddos с каким-то timeout.
Далее работает скрипт с каким-то интервалом.
Этот скрипт должен чекнуть наличие IP в address-list list=ddos и занести этот IP в routing filter и bgp networks
bgp networks:
ip address/32 dis=no
bgo filter:
chain=bgp-out prefix=ipfromaddersslist action-accept set-bgp-communities=test
ddos block firewall+address list+bgp filter
-
- Сообщения: 9
- Зарегистрирован: 29 мар 2017, 23:15
-
- Сообщения: 4095
- Зарегистрирован: 29 фев 2016, 15:26
- Откуда: Минск
Re: ddos block firewall+address list+bgp filter
Я так понимаю, сети /32 в мир не анонсируются, поэтому фильтр трогать не надо (в нём просто будет правило: всё, что /32 - в блэкхол).
Синхронизация адрес-листа с networks:
Синхронизация адрес-листа с networks:
Код: Выделить всё
# пробегаем по адрес-листу, добавляем в networks адреса
:foreach i in=[ /ip firewall address-list find list="ddos" ] do={
:local net ([ /ip firewall address-list get $i address ]."/32");
:if ([ :len [ /routing bgp network find network=$net ] ] = 0) do={
/routing bgp network add network=$net;
}
}
# пробегаем по networks, удаляем лишние
:foreach i in=[ /routing bgp network find network~"/32\$" ] do={
:local addr [ /routing bgp network get $i network ];
:set addr [ :pick $addr 0 [ :find $addr "/" ] ];
:if ([ :len [ /ip firewall address-list find list="ddos" address=$addr ] ] = 0) do={
/routing bgp network remove $i;
}
}
-
- Сообщения: 9
- Зарегистрирован: 29 мар 2017, 23:15
Re: ddos block firewall+address list+bgp filter
/ip firewall filter
add chain=forward connection-state=new action=jump jump-target=block-ddos
add chain=block-ddos dst-limit=200,200,src-and-dst-addresses/10s action=return
add chain=block-ddos action=add-dst-to-address-list address-list=ddosed address-list-timeout=10m
как оптимизировать это правило,что бы оно работало только при входящих соединениях на пул адресов 10.10.10.0/24?
add chain=forward connection-state=new action=jump jump-target=block-ddos
add chain=block-ddos dst-limit=200,200,src-and-dst-addresses/10s action=return
add chain=block-ddos action=add-dst-to-address-list address-list=ddosed address-list-timeout=10m
как оптимизировать это правило,что бы оно работало только при входящих соединениях на пул адресов 10.10.10.0/24?
-
- Сообщения: 4095
- Зарегистрирован: 29 фев 2016, 15:26
- Откуда: Минск
Re: ddos block firewall+address list+bgp filter
Так ведь
add chain=forward dst-address=10.10.10.0/24 connection-state=new action=jump jump-target=block-ddos
add chain=forward dst-address=10.10.10.0/24 connection-state=new action=jump jump-target=block-ddos