iptables的conntrack表满了导致访问网站很慢

恋英草1

恋英草1

2016-03-31 16:19

图老师小编精心整理的iptables的conntrack表满了导致访问网站很慢希望大家喜欢,觉得好的亲们记得收藏起来哦!您的支持就是小编更新的动力~

iptables的conntrack表满了导致访问网站很慢

   现象:突然发现访问网站很慢,服务器的cpu、内存和磁盘使用率都正常

  分析过程及解决方案:查询/var/log/message日志发现有这样的记录ip_conntrack table full dropping packet。kernel 用 ip_conntrack 模块来记录 iptables 网络包的状态,并保存到 table 里(这个 table 在内存里),如果网络状况繁忙,比如高连接,高并发连接等会导致逐步占用这个 table 可用空间,一般这个 table 很大不容易占满并且可以自己清理,table 的记录会一直呆在 table 里占用空间直到源 IP 发一个 RST 包,但是如果出现被攻击、错误的网络配置、有问题的路由/路由器、有问题的网卡等情况的时候,就会导致源 IP 发的这个 RST 包收不到,这样就积累在 table 里,越积累越多直到占满,满了以后 iptables 就会丢包,出现外部无法连接服务器的情况。

  解决方案:Iptables启动的是会在日志里提示当前的buckets和conntrack_max的值以及每条跟踪连接需要消耗多少内存:

iptables的conntrack表满了导致访问网站很慢 图老师

  也就是说304MB内存将支持1048576条跟踪连接记录,所以需要按照服务器的内存大小来配置合适的值。

  永久修改ip_conntrack_max和hashsize

  1) 增大 ip_conntrack_max(设置为 2^20,默认值是 2^16=65536)

  # vi /etc/sysctl.conf

  net.ipv4.ip_conntrack_max = 1048576

  2) 增大 hashsize (在i386架构上,HASHSIZE = CONNTRACK_MAX / 8)

  # vi /etc/modprobe.conf

  options ip_conntrack hashsize=131072

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

  然后重启 iptables 服务,在 messages中可以看到参数已生效:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

  # service iptables restart

展开更多 50%)
分享

猜你喜欢

iptables的conntrack表满了导致访问网站很慢

服务器
iptables的conntrack表满了导致访问网站很慢

iptables & wrap

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
iptables & wrap

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

iptables 的配置问题?

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
iptables 的配置问题?

建立支持移动设备访问的网站sitemap

Web开发
建立支持移动设备访问的网站sitemap

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

iptables 限制流量

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
iptables 限制流量

ssh配置存在问题导致登录和传输数据很慢

服务器
ssh配置存在问题导致登录和传输数据很慢

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Ubuntu 13.04双显卡安装NVIDIA GT630M驱动

Ubuntu 13.04双显卡安装NVIDIA GT630M驱动

怎么设置360浏览器右上角搜索引擎默认为百度搜索?

怎么设置360浏览器右上角搜索引擎默认为百度搜索?
下拉加载更多内容 ↓