alibek Posted September 25, 2023 Posted September 25, 2023 Хочу поставить на исходящий трафик лимиты на 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. Вставить ник Quote
DeLL Posted September 25, 2023 Posted September 25, 2023 1. Цепочка выход, какое-то условие по пакетам в сек, действие - разрешить 2. Цепочка выход, какие-то условия по пакетам в сек, действие - разрешить 3. Цепочка выход, ни одного условия, действие - писать в лог Так с чего бы ему что-то вообще писать в лог? Вставить ник Quote
alibek Posted September 25, 2023 Author Posted September 25, 2023 Я так понимаю, что dst-limit срабатывает, если частота срабатывания правила (а в данном случае это равнозначно PPS) не превышает установленный лимит. То есть первые два правила срабатывают, если PPS не превышает пороговое значение. А если первые два правила не срабатывают (то есть PPS превышает пороговое значение), то срабатывает третье правило и пишет в лог. Разве не так? Вставить ник Quote
DeLL Posted September 25, 2023 Posted September 25, 2023 Нет, не так. Все вкладки, кроме последней - условия, при котором должно сработать правило. А последняя вкладка - соответственно, действие /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 Вставить ник Quote
jffulcrum Posted September 25, 2023 Posted September 25, 2023 И да, должен быть выключен fasttrack, инче в эти правила просто ничего не попадет Вставить ник Quote
alibek Posted September 26, 2023 Author Posted September 26, 2023 То есть dst-limit срабатывает, когда частота выполнения правил превысит установленный лимит, а не когда она в пределах установленного лимита? Я поначалу так и думал. Но когда для пробы поставил rate=1, то правило не срабатывало. А вот когда для rate=1 действием поставил accept, а вот уже для следующего дефолтного правила поставил log, тогда стало работать именно так, как я планировал: как только исходящий трафик превышал два pps (я это делал запуском пинга в двух окнах терминала), эти пакеты начали появляться в логе; когда пинг был один, в логах было пусто. 10 часов назад, jffulcrum сказал: должен быть выключен fasttrack Само собой. У меня действие fasttrack только для транзитных пакетов включается (цепочка forward), в input или output его нет. Или речь о глобальном выключении fasttrack? Вставить ник Quote
alibek Posted September 26, 2023 Author Posted September 26, 2023 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 действует не как срабатывание на превышение лимита, а как условие, что лимит не превышен. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.