Формирование трафика - Контроль времени и скорости передачи - на сервере Debian

Я запускаю загруженный веб-сайт на сервере Debian, который использует Shorewall для большей части управления трафиком.

Мне нужно выработать способ формирования избыточного трафика, чтобы все пользователи могли развивать скорость до 1 МБ / с в течение, скажем, 60 секунд. Но любой исходный IP-адрес, который продолжает использовать эту скорость после 60 секунд, должен, например, вернуться к 256 Кбит / с.

Это должно замедлить (но не блокировать!) Ботов-загрузчиков, которые многие из моих пользователей любят использовать для захвата огромных разделов наших каталогов ресурсов, но при этом поддерживать постоянную скорость для обычных пользователей.

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

Я полагаю, что это, вероятно, можно сделать с помощью Shorewall. Однако я не понимаю, как реализовать мои конкретные требования на основе их документации TC. Я один из тех людей, которые быстро разбираются в работе с хорошим примером, но подробные технические документы с несколькими соответствующими примерами не очень помогают инструментам с очень сложной настройкой.

Я рад использовать любое другое программное обеспечение, которое я могу установить как пакет из стабильной Debian, если есть что-то лучше, чем Shorewall для этой задачи.

Спасибо!

1 ответ

Используйте iptables для сопоставления с такими потоками (например, используя hashlimit/limit) и затем выберите CLASSIFY. Также создайте класс в tc (который будет иметь форму 256 Кбит / с), в котором вы будете классифицировать эти потоки.

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