![用于僵尸网络(UDP 洪水)保护的 iptables 规则](https://linux22.com/image/796737/%E7%94%A8%E4%BA%8E%E5%83%B5%E5%B0%B8%E7%BD%91%E7%BB%9C%EF%BC%88UDP%20%E6%B4%AA%E6%B0%B4%EF%BC%89%E4%BF%9D%E6%8A%A4%E7%9A%84%20iptables%20%E8%A7%84%E5%88%99.png)
我的服务器目前正在遭受大规模 UDP 攻击。我托管了几个游戏服务器,主要是 Tf2、CS:GO、CS 1.6 和 CS:Source,我的 1.6 服务器正在遭受洪流攻击。我尝试了 iptables 中的不同规则,但似乎都没有奏效。我的带宽费率为 100mbps,但我收到的洪流速度为 500+mbps。这是最新 tcpdump 的日志 ->http://pastebin.com/HSgFVeBs 数据包长度在一天中会发生变化。只有我的游戏服务器端口通过 UDP 数据包被淹没 - 27015、27016、27018。是否有任何 iptables 规则可以阻止这种情况?
答案1
唯一能帮到你的 iptable 规则就是丢弃所有进入这些端口的流量。但问题是你的服务也会中断。你唯一能做的就是与你的 ISP 联系,让他们丢弃所有进入的 UDP 流量,以免它们到达你这里。
答案2
如果您有单独的(或分离的)游戏用户登录方式(不是通过 UDP),您可以拒绝所有 UDP 端口,并设置一种动态允许已登录用户源地址的方法。正如 Lucas Kauffman 所说,您需要在上游执行此操作以避免您的链接饱和。安排上游允许您在已登录的源主机上进行动态允许会更加复杂。您可能需要运行自己的路由器(可以处理 500mbps 的攻击),以便进行动态过滤。