禁用ICMP不可达答复

我正在使用Debian 6 – 64位操作系统,并且我的服务器通过udp协议不时被淹没/淹没。 我基本上托pipe游戏服务器,我的防火墙设置为允许端口上的数据包速率限制,但有时每IP的速率是低的,但IP数量更多,所以我的服务器发送传出icmp不可达答复到攻击IP好处,但更扼杀/饱和港口。

我正在寻找如何禁用此function。 实际上被攻击的端口是通过防火墙被允许的,我不能禁用它们,尽pipe它可以解决这个问题。 我运行了一些端口范围的服务器,所以我不能一直接受这些端口一个接一个,并决定允许我可能需要的总端口范围。

我在看一些内核的能力来阻止这个?

为防止发送ICMP不可达数据包,可以使用netfilter(iptables)将其删除:

iptables -I OUTPUT -p icmp --icmp-type destination-unreachable -j DROP 

更好的方法是首先通过在inputstream量上使用DROP目标而不是REJECT(或者内核networking堆栈将创build不可达回复而不是netfilter)来防止它们生成,

我不认为这会解决你的问题, 您需要确定DDoS的影响; 是饱和networking还是消耗系统资源(CPU /内存等)。 如果是networking,那么将回复静音可能会稍微有所帮助,但是您仍然会在线路上收到传入的数据包。

iptables目标REJECT导致ICMP不可达响应被发送。 改变你的目标到DROP将导致传入的数据包被隐藏黑洞。