如何阻止 X 端口上新的传入 TCP 连接?需要使用 iptables。我实际上有一个有效的 iptables 命令,但即使 ip_conntrack_max 设置得非常高,我们总是达到 ip_conntrack_max。有没有办法在不跟踪的情况下做到这一点?
答案1
如果您想阻止尝试建立到给定端口的新会话,但仍允许数据包通过已建立的会话,则需要执行以下操作:
iptables -A INPUT -j DROP -p tcp --syn --目标端口端口
这应该允许从本地计算机发起的任何连接,恰好使用端口作为其本地端口号。
答案2
这应该可以阻止不涉及 conn_track 的流量:
iptables -A INPUT -j DROP -p tcp --destination-port <your port>
连接跟踪仅应在您指定-m state
或--state
在您的规则中执行其工作。
答案3
删除 --syn 将停止新连接,并且不应有任何半开连接需要跟踪。一般来说,在此-t raw -I PREROUTING
阶段可以进行“不跟踪”过滤。
答案4
您可以接受除 SYN 数据包之外的所有内容。一种方法是:
iptables -A INPUT -p tcp '!' --syn --destination-port <your-port> -j ACCEPT