深入内核 Netfilter 机制,编写高效的数据包匹配规则,并解决 conntrack 跟踪表溢出导致的网络丢包问题。
一、 iptables 防御 SYN Flood 与连接跟踪调优
# 调优 conntrack 跟踪表上限 sysctl -w net.netfilter.nf_conntrack_max=1048576 # 防御 SYN Flood 攻击规则 iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 3 -j ACCEPT iptables -A INPUT -p tcp --syn -j DROP # 阻断畸形数据包 iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP # 放行已建立状态的连接 (ESTABLISHED) iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT