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

То есть 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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.