我希望能够限制我的服务器上的SSH带宽。 即每个sshd过程应该被限制在200Kb / s或类似的东西。
scp具有这个function,但是ssh更适合响应交互使用,似乎没有这个选项。 然而,我想结合-D(SOCKS代理)function和某种限制stream量的function。
有没有这方面的select?
我不确定信任用户是否是等式的一部分,但是trickle对于限制给定命令的速度非常方便。 当我从家里上传包裹的时候,当我忘了这样的东西的时候,吸食魔兽的室友会注意到,因为它几乎支配了pipe道。
有几个选项。
通常的做法是在服务器和客户端之间的防火墙/路由器的端口22上实现QoS。
如果他们在同一个本地networking(即它们之间没有路由器或防火墙),我相信你可以使用IPTables来限制带宽到端口22 … 看看这里有关如何做到这一点的更多信息。
你可以看看像iprelay :
User-space bandwidth shaping TCP proxy daemon iprelay can shape the TCP traffic forwarded through it to a specified bandwidth and allow this bandwidth to be changed on-the-fly. Multiple data streams to different sockets may be shaped to the same total bandwidth, much like a traffic shaping router would. However, this application runs in user space, and works by acting as a TCP proxy.
使用tc来实现HTBstream量整形将是值得的。 我对一个类似问题的解决scheme是使用http://sourceforge.net/projects/htbinit/上的htb.init脚本
我在限制来自端口22的stream量的基础上进行了设置,但是您也可以使用iptables来标记/压缩随后根据标记进行处理的数据包。