zoukankan      html  css  js  c++  java
  • ip_conntrack table full dropping packet解决方案

    在一台繁忙的服务器上,建议关闭ip_conntrack模块的加载;

    当我们开启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。

  • 相关阅读:
    使用RestTemplate发送post请求,请求头中封装参数
    LocalDateTime的一些用法
    java实现遍历文件目录,根据文件最后的修改时间排序,并将文件全路径存入List集合
    【Quartz】Quartz存储与持久化-基于quartz.properties的配置
    《分布式任务调度平台XXL-JOB》
    SpringBoot集成Quartz实现定时器
    springboot整合Quartz实现动态配置定时任务
    Java读取文件创建时间和最后修改时间
    杂七杂八快捷键🍿
    git命令笔记
  • 原文地址:https://www.cnblogs.com/jjzd/p/6438355.html
Copyright © 2011-2022 走看看