流量整形 - 控制突发时间和速率 - 在 Debian 服务器上

流量整形 - 控制突发时间和速率 - 在 Debian 服务器上

我在 Debian 服务器上运行一个繁忙的网站,该网站利用 Shorewall 进行大部分流量管理。

我需要想办法调整超额流量,以便所有用户都能在 60 秒内达到最高 1MB/s 的速度。但是,如果任何源 IP 在 60 秒后继续使用该速度,则应将其调整回 256kb/s。

这是为了放慢速度(但不阻挡!)我的许多用户喜欢使用下载机器人来抓取我们资产目录的大部分内容,但对于普通用户则保持全速。

我不想不断将用户代理添加到黑名单中,因为新的机器人用户代理经常出现,有些甚至会撒谎。我只想控制每个源 IP 在超过一定时间后占用过多带宽的任何东西。

我认为这可能可以通过 Shorewall 实现。但是我不明白如何根据他们的 TC 文档实现我的具体要求。我是那种通过从一个好的例子向后推导就能快速理解事情的人,但是详细的技术文档和很少的相关示例对于设置非常复杂的工具没有多大帮助。

如果有比 Shorewall 更好的软件可以完成这项任务,我很乐意使用可以从 Debian 稳定版中安装的任何其他软件。

谢谢!

A

答案1

使用 iptables 匹配此类流量(例如使用 hashlimit/limit),然后定位 CLASSIFY。同时在 tc 中创建一个类(将被整形为 256kbit/s),您将在其中对这些流量进行分类。

相关内容