我遇到的情况是,服务器同时发出大量来自大型all服务器的请求。目前,我没有控制请求的数量或请求的速度,从应用程序这样做。这些网络服务器的响应超出了互联网线所能处理的范围。(基本上,我们是在自己上发布一个DoS )。
我将在应用程序级别得到解决这个问题的推送,但是目前,我是否可以使用Linux服务器上的流量整形来控制这个问题呢?我知道我只能塑造出站流量,但是也许有一种方法可以减缓TCP的响应,这样对方就能检测到拥塞,这会对我的情况有所帮助吗?如果tc有类似的情况,配置可能是什么样子的?
这个想法是,流量控制可以帮助我控制哪些数据包在到达我的路由器之前被丢弃。
发布于 2010-03-17 13:52:07
您应该能够对限制tcp连接进行评级,如果远程服务器正在遵守tcp数据包传输和接收规则,那么您应该能够对限制进行评级以避免dos。
我在HTB http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm上取得了很好的成功
如果您更熟悉cisco,那么您可以在网关上而不是在服务器上实现qos策略
使用qos是一个比iptables更好的解决方案--限制,它确保了可用带宽的有效利用。没有一条溪流会被饿死,每条溪流都会受到公平对待。
HTB是相当高级的,您可以首先使用其他一些qos方法来处理qos的工作方式。编写qos规则很容易,但要证明它们实际上正在执行的是所有用例,则要困难得多。
发布于 2010-03-17 13:32:32
我想你可以用iptables和“-限制”,也可以用散列(或者用最近的-秒-hitcount)。当然只是暂时的解决办法。
发布于 2010-03-18 15:09:34
使用trickle怎么样?它也可以作为trickled运行,用于全局带宽整形http://www.linux.com/archive/feed/61293 (实际上是我自己发现的:-)
https://serverfault.com/questions/123371
复制相似问题