限制每个IP iptables的UDP连接

我想限制每个IP为特定的UDP端口连接。 我得到它的TCP工作,但不知何故,它不能在UDP上工作。 这些是我的规则:

对于TCP(工作)

iptables -A INPUT -p tcp --syn --dport 7787 -m connlimit --connlimit-above 3 -j REJECT --reject-with tcp-reset iptables -A INPUT -p tcp --syn --dport 7788 -m connlimit --connlimit-above 3 -j REJECT --reject-with tcp-reset 

对于UDP

 iptables -A INPUT -p udp --dport 7787 -m connlimit --connlimit-above 3 -j REJECT iptables -A INPUT -p udp --dport 7788 -m connlimit --connlimit-above 3 -j REJECT 

根据手册页应该工作(至less我是如何理解它),但我仍然有时被单个IP淹没。

你的问题没有意义,因为UDP并不真正具有“连接”。 只有一个conntrack条目被设置为每个源IP /端口。

我认为你真正想要的是基于hashlimit模块的东西。

那么这听起来非常合理,你的客户使用less于3 NFCT连接洪水你。