我们有一台
Linux服务器充当我们办公室的路由器/防火墙.偶尔会有人上传一个占用我们所有带宽的大文件.我不想实现任何复杂的规则或流量整形,但我想知道是否有办法在现场减慢单个连接?我找到了
tcpnice,但它并没有减慢我测试中的传输速度.
解决方法
如果流量整形不能正确地为shell和活动上传形成流量(我认为它可以,但不确定),那么你可以:
a)在两个端口上运行ssh – 您可以优先考虑一个用于文件传输,一个用于交互式工作.
b)限制总ssh速率 – 唯一的问题是如果你填满链接的上传容量,如果你将速率限制在50kbps以下,ssh将很好地交互工作(这将迫使用户使用一些其他协议进行更大的文件传输)
c)如果可以,优先考虑源地址上的流量
此外,流量整形应该使流量更加平衡,不管单个连接不会垄断整个链路.
编辑:
这是一个使用bash脚本的example.它提到ssh确实将TOS设置为交互式到交互式,所以我认为Wondershaper利用了这一点.
如果您想要除Wondershaper之外的其他选项,请务必查看shorewall或pyshape.
Shorewall非常成熟,在灵活性,功能和简单性方面取得了很好的平衡.