alibek Posted September 25, 2023 · Report post Хочу поставить на исходящий трафик лимиты на 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 Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
DeLL Posted September 25, 2023 · Report post 1. Цепочка выход, какое-то условие по пакетам в сек, действие - разрешить 2. Цепочка выход, какие-то условия по пакетам в сек, действие - разрешить 3. Цепочка выход, ни одного условия, действие - писать в лог Так с чего бы ему что-то вообще писать в лог? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted September 25, 2023 · Report post Я так понимаю, что dst-limit срабатывает, если частота срабатывания правила (а в данном случае это равнозначно PPS) не превышает установленный лимит. То есть первые два правила срабатывают, если PPS не превышает пороговое значение. А если первые два правила не срабатывают (то есть PPS превышает пороговое значение), то срабатывает третье правило и пишет в лог. Разве не так? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
DeLL Posted September 25, 2023 · Report post Нет, не так. Все вкладки, кроме последней - условия, при котором должно сработать правило. А последняя вкладка - соответственно, действие /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 Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
jffulcrum Posted September 25, 2023 · Report post И да, должен быть выключен fasttrack, инче в эти правила просто ничего не попадет Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted September 26, 2023 · Report post То есть dst-limit срабатывает, когда частота выполнения правил превысит установленный лимит, а не когда она в пределах установленного лимита? Я поначалу так и думал. Но когда для пробы поставил rate=1, то правило не срабатывало. А вот когда для rate=1 действием поставил accept, а вот уже для следующего дефолтного правила поставил log, тогда стало работать именно так, как я планировал: как только исходящий трафик превышал два pps (я это делал запуском пинга в двух окнах терминала), эти пакеты начали появляться в логе; когда пинг был один, в логах было пусто. 10 часов назад, jffulcrum сказал: должен быть выключен fasttrack Само собой. У меня действие fasttrack только для транзитных пакетов включается (цепочка forward), в input или output его нет. Или речь о глобальном выключении fasttrack? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted September 26, 2023 · Report post 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 Ответить с цитированием Share this post Link to post Share on other sites More sharing options...