ip_conntrack table full dropping packet解决方案

  • A+
所属分类:Linux 运维案例

当我们开启iptables后,会有这么个现象发生,丢包。ping的话会断断续续的丢包,ifconfig 会看到网卡dropped:XXX一直在增加,messages日志有以下内容:

iptables

ip_conntrack表满导致的,iptables开启后会加载ip_conntrack模块,来跟踪包。默认情况下ip_conntrack_max大小为65536。

iptables导致ftp列表失败一例参见:pureftp读取目录列表失败解决

查看ip_conntrack最大大小:

查看当前ip_conntrack大小:

解决方法:

1. 更改ip_conntrack大小

这种解决方案,需要在每次iptables重启后,都要执行一遍sysctl -p, 也可以将sysctl -p写入到iptables启动脚本中。 不过ip_conntrack满的隐患还是存在的。

2. 不加载ip_conntrack模块

修改 /etc/sysconfig/iptables-config配置文件

/etc/sysconfig/iptables 不要配置状态的规则, 如:

设置了这些后,如果有设置方案1中内核参数,执行sysctl -p会报以下错误的:

error: "net.ipv4.netfilter.ip_conntrack_max" is an unknown key
error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_established" is an unknown key
error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait" is an unknown key
error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait" is an unknown key
error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait" is an unknown key

这种情况是因为没有加载ip_conntrack模块导致的。 这不正是我想要的么?

来看下是否加载了ip_conntrack模块:

iptables

推荐使用方案2。

如需转载请注明出处:ip_conntrack table full dropping packet解决方案  http://www.ttlsa.com/html/2303.html

weinxin
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:5   其中:访客  4   博主  0   引用   1

    • Jinnery 9

      楼主,用过这个方法吗: http://hi.baidu.com/farmerluo/item/f49bbdc0e390a52dee4665bb

      • Jinnery 9

        centos 6.5 默认已经是空了 IPTABLES_MODULES=""。 那在使用State 规则。会有什么影响吗

        • Jinnery 9

          你好,请问。为什么不能配置状态的规则呢。

          • fa 1

            很好

          • 来自外部的引用: 1

            • ubuntu / centos6 error: “net.ipv4.ip_conntrack_max” is an unknown key