Iptables是有状态机制的防火墙,通过conntrack模块跟踪记录每个连接的状态,通过它可制定严密的防火墙规则。
可用状态机制:

1
2
3
4
5
#http://blog.onovps.com
NEW #新连接数据包
ESTABLISHED #已连接数据包
RELATED #和出有送的数据包
INVALID #无效数据包

conntrack默认最大跟踪65536个连接,查看当前系统设置最大连接数:
1
cat /proc/sys/net/ipv4/ip_conntrack_max

查看当前跟踪连接数:
1
cat /proc/net/ip_conntrack|wc -l

当服务器连接多于最大连接数时会出现kernel: ip_conntrack: table full, dropping packet的错误。
解决方法,修改conntrack最大跟踪连接数:
1
2
vim /etc/sysctl.conf #添加以下内容
net.ipv4.ip_conntrack_max = 102400

立即生效:
1
sysctl -p

为防止重启 Iptables后变为默认,还需修改模块参数:
1
2
vim /etc/modprobe.conf #添加以下内容
options ip_conntrack hashsize=12800 #值为102400/8

一劳永逸的方法,设置 Iptables禁止对连接数较大的服务进行跟踪:
1
2
3
4
#http://blog.onovps.com
iptables -A INPUT -m state --state UNTRACKED,ESTABLISHED,RELATED -j ACCEPT
iptables -t raw -A PREROUTING -p tcp --dport 80 -j NOTRACK
iptables -t raw -A OUTPUT -p tcp --sport 80 -j NOTRACK

http://blog.onovps.com/archives/iptables-conntrack-max.html

标签: iptables, iptables最大跟踪数, conntrack

转载本站文章请注明:来源欧诺VPS博客
本文链接:http://blog.onovps.com/archives/iptables-conntrack-max.html

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐