海运的博客

Iptables之conntrack连接数跟踪模块及最大连接数配置

发布时间:June 7, 2012 // 分类:Iptables // No Comments

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

NEW #新连接数据包
ESTABLISHED #已连接数据包
RELATED #和出有送的数据包
INVALID #无效数据包

conntrack默认最大跟踪65536个连接,查看当前系统设置最大连接数:

cat /proc/sys/net/ipv4/ip_conntrack_max 
#新版方法
cat /proc/sys/net/netfilter/nf_conntrack_max

查看当前跟踪连接数:

cat /proc/net/ip_conntrack|wc -l
#新版方法
cat /proc/net/nf_conntrack | wc -l

当服务器连接多于最大连接数时会出现kernel: ip_conntrack: table full, dropping packet的错误。
解决方法,修改conntrack最大跟踪连接数:

vim /etc/sysctl.conf #添加以下内容
net.ipv4.ip_conntrack_max = 102400
#以下为新版方法
net.netfilter.nf_conntrack_max=102400
net.nf_conntrack_max=102400

立即生效:

sysctl -p

为防止重启Iptables后变为默认,还需修改模块参数:

vim /etc/modprobe.conf #添加以下内容
options ip_conntrack hashsize=12800 #值为102400/8

一劳永逸的方法,设置Iptables禁止对连接数较大的服务进行跟踪:

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
分类
最新文章
最近回复
  • 杰迪武士: 此文甚好甚强巨,依照此文在树莓派2 + Rasbian上部署成功 感谢博主美文共赏
  • 海运: ups不知有没选项可设置此参数,不过你可以在另外一台电脑上安装nut客户端自动关机。
  • kgami: 想请教一下,设置了的电脑自动关机之后,几秒后UPS怎么也跟着关机了,导致另外一台电脑没关机就断...
  • 海运: 写的很详细了啊,/etc/nut/hosts.conf用以nut-cgi连接nut服务器参数,...
  • ryan: 请问下nginx配置好了,怎么和这个nut链接呢?最后可视化管理这块能给个详细一点的教程么?谢谢。
  • 1: /etc/config/fstab配置文件 https://openwrt.org/zh/do...
  • 听雨看雪: 找了好久,终于找到UP主,给出的正确解决方案,太感谢了,困扰大半年的问题,重装了N道PVE系统...
  • zr: 大佬,这个bash-completion是从哪个源搞到的
  • 姚生: 要要下载
  • 阿东: 我在编译树莓派的时候也遇到同样的问题,后来发现是make menuconfig 的时候忘了带环...