Jump to content
Калькуляторы

Firewall dst. limit - вопрос

Хочу поставить на исходящий трафик лимиты на PPS.

Если трафик превышает лимит, то он разрешается, но логгируется.

Сделал так:

/ip firewall filter
 add action=accept chain=output comment="OUT: wan (rate limit)" dst-limit=1,1,dst-address/1s out-interface-list=wan
 add action=accept chain=output comment="OUT: lan (rate limit)" dst-limit=1000,1000,dst-address/1s out-interface-list=lan
 add action=log chain=output comment="OUT: DEFAULT" log=yes

По идее, если на исходящий трафик на wan-интерфейсах превышает 1 пакет в секунду, то я должен увидеть его в логах.

Но в логах я его не вижу, даже если запускаю два окна терминала, в каждом из которых запускаю пинг на 8.8.8.8.

Share this post


Link to post
Share on other sites

1. Цепочка выход, какое-то условие по пакетам в сек, действие - разрешить

2. Цепочка выход, какие-то условия по пакетам в сек, действие - разрешить

3. Цепочка выход, ни одного условия, действие - писать в лог

 

Так с чего бы ему что-то вообще писать в лог?

Share this post


Link to post
Share on other sites

Я так понимаю, что dst-limit срабатывает, если частота срабатывания правила (а в данном случае это равнозначно PPS) не превышает установленный лимит.
То есть первые два правила срабатывают, если PPS не превышает пороговое значение.

А если первые два правила не срабатывают (то есть PPS превышает пороговое значение), то срабатывает третье правило и пишет в лог.

Разве не так?

Share this post


Link to post
Share on other sites

Нет, не так. Все вкладки, кроме последней - условия, при котором должно сработать правило. А последняя вкладка - соответственно, действие

 

/ip firewall filter
add action=accept chain=output dst-limit=100,5,dst-address/1m40s log=yes log-prefix="rate limit exceeded"

Вот так будет работать для 100 пакетов в сек для dst-address

Share this post


Link to post
Share on other sites

И да, должен быть выключен fasttrack, инче в эти правила просто ничего не попадет

Share this post


Link to post
Share on other sites

То есть dst-limit срабатывает, когда частота выполнения правил превысит установленный лимит, а не когда она в пределах установленного лимита?

Я поначалу так и думал. Но когда для пробы поставил rate=1, то правило не срабатывало.

А вот когда для rate=1 действием поставил accept, а вот уже для следующего дефолтного правила поставил log, тогда стало работать именно так, как я планировал: как только исходящий трафик превышал два pps (я это делал запуском пинга в двух окнах терминала), эти пакеты начали появляться в логе; когда пинг был один, в логах было пусто.

 

10 часов назад, jffulcrum сказал:

должен быть выключен fasttrack

Само собой.

У меня действие fasttrack только для транзитных пакетов включается (цепочка forward), в input или output его нет.

Или речь о глобальном выключении fasttrack?

Share this post


Link to post
Share on other sites

18 часов назад, DeLL сказал:

Вот так будет работать для 100 пакетов в сек для dst-address

Не похоже.

Добавил такое правило:

/ip firewall filter add action=log chain=output comment="OUT: lan rate limit" dst-limit=1000000,1000000,dst-address/1m log=yes log-prefix="[rate lan] " out-interface-list=lan

Оно срабатывать не должно, потому что миллиона PPS на микротике явно нет.

Однако оно срабатывает и сыпет в логи сообщениями.

 

Так что указание в правиле dst-limit действует не как срабатывание на превышение лимита, а как условие, что лимит не превышен.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now