Можно ли создавать ежедневные квоты для конкретных веб-сайтов, основанные на продолжительности использования или трафика данных?

Мне интересно, можно ли установить на уровне маршрутизатора какое-либо правило, например, следующее; с помощью iptables, ipset или аналогичных инструментов. (У меня не очень большой опыт в этой области, извините, если следующее немного расплывчато)

Пример: Я хочу заблокировать твиттер после 30 минут использования (или 200 МБ данных) . Сброс счетчика каждые 24 часа. (Я не ищу правила, основанные на расписании, т.е. блокировать твиттер с 18:00 до 20:00)

Я предполагаю, что мне придется вычислять атрибуты "сеанса" вручную. Можно ли это сделать, регистрируя трафик, соответствующий данному сайту, используя брандмауэр, и вычисляя приблизительную продолжительность с помощью скрипта оболочки? Есть ли более простые способы?

Я понимаю комментарии по поводу того, что этот вариант использования не подходит для фильтрации на уровне пакетов. Но я не понимаю, чем подсчет пакетов на основе целевых адресов сильно отличается от, скажем, обычных правил брандмауэра для фильтрации пакетов на основе нежелательных адресов источника.

Для контекста, в других проектах: Некоторые вероятные (но неоптимальные) подходы с использованием счетчиков ipset были предложены в dd-wrt форумах. В проекте squid-cache также [wiki.squid-cache.org/Features/Quota]

PS: Есть расширения для браузера (stafocused , leechblock), которые могут делать это на уровне приложения, но я хочу реализовать это на уровне маршрутизатора/брандмауэра, потому что нет открытых исходных кодов, которые работают для всех моих устройств.

1
задан 8 March 2021 в 18:58

1 ответ

Основываясь на комментариях к вопросу, в Ubuntu нет никаких решений, которые могут сделать это.

0
ответ дан 18 March 2021 в 23:29

Другие вопросы по тегам:

Похожие вопросы: