文档章节

Debian系统关闭iptables的conntrack跟踪

anglix
 anglix
发布于 2015/11/12 19:27
字数 419
阅读 388
收藏 1
点赞 1
评论 0

测试脚本

#!/bin/bash
# /opt/iptables-switch.sh status | disable | enable
ipt_mod_conf="/etc/modprobe.d/iptables.conf"
ipt_mod_list="ip_vs iptable_nat nf_nat_ipv4 ipt_MASQUERADE nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack iptable_filter ip_tables xt_tcpudp xt_multiport xt_length xt_addrtype x_tables"
nf_max=$(sysctl -e -n net.nf_conntrack_max)
nf_cur=$(sysctl -e -n net.netfilter.nf_conntrack_count)
ipt_hsize=$(grep 'MemTotal' /proc/meminfo | awk '{printf("%d",$2/16)}')
fuck_ipt_mod(){
echo '# disable iptables conntrack modules' > ${ipt_mod_conf}
for ipt_mod in ${ipt_mod_list}; do
	echo "blacklist ${ipt_mod}" >> ${ipt_mod_conf}
    modprobe -r ${ipt_mod}
done
}
clean_ipt_rule(){
iptables -F
iptables -Z
iptables -X
for ipt_table in $(cat /proc/net/ip_tables_names 2>/dev/null); do
    iptables -t ${ipt_table} -F
    iptables -t ${ipt_table} -Z
    iptables -t ${ipt_table} -X
done
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
}
ipt_enable(){
echo "options nf_conntrack hashsize=${ipt_hsize}" > ${ipt_mod_conf} # /sys/module/nf_conntrack/parameters/hashsize
for ipt_mod in ${ipt_mod_list}; do
	modprobe -q -r ${ipt_mod} && modprobe -a ${ipt_mod}
done
dmesg --reltime | grep nf_conntrack | tail -2 2>/dev/null
sysctl -e -w net.nf_conntrack_max=4194304
sysctl -e -w net.ipv4.netfilter.ip_conntrack_max=4194304
sysctl -e -w net.netfilter.nf_conntrack_max=4194304
sysctl -e -w net.netfilter.nf_conntrack_tcp_timeout_established=1200
sysctl -e -w net.netfilter.nf_conntrack_tcp_timeout_close_wait=60
sysctl -e -w net.netfilter.nf_conntrack_tcp_timeout_fin_wait=120
sysctl -e -w net.netfilter.nf_conntrack_tcp_timeout_time_wait=120
}
case "$1" in
status)
    if [[ -z ${nf_max} ]]; then
        echo 'nf_conntrack disabled.'
    else
        echo "nf_conntrack used: ${nf_cur}/${nf_max}."
    fi
    ;;
disable)
    clean_ipt_rule
    fuck_ipt_mod
    $0 status
    ;;
enable)
    ipt_enable
    $0 status
;;
*)
    echo "Usage: $0 {status|disable|enable}"
    exit 2
    ;;
esac
exit 0

开启防火墙

  • 启用防火墙,并监控 nf_conntrack 状态:
/opt/iptables.sh enable
watch -n 1 -d '/opt/iptables.sh status'

施加压力

  • 找台机器给 ssh 加压:
watch -n 0.1 -d 'curl -s demo.higkoo.com:22'

查看防火墙状态

故障重现

  • 由于测试压力小,手动调小 nf_conntrack_max
sysctl -w net.netfilter.nf_conntrack_max=20
  • 然后故障就重现了: 防火墙满了
  • 不用的话就 disable 防火墙,脚本中的 enable 会开启并做 iptables 优化
sudo /opt/iptables.sh status
sudo /opt/iptables.sh enable
sudo /opt/iptables.sh disable

脚本测试

啥也别说了,都写在脚本里了。

© 著作权归作者所有

共有 人打赏支持
anglix

anglix

粉丝 31
博文 35
码字总数 17615
作品 0
珠海
系统管理员
nf_conntrack: table full, dropping packet. 终结篇

“连接跟踪表已满,开始丢包”!相信不少用iptables的同学都会见过这个错误信息吧,这个问题曾经也困扰过我好长一段时间。此问题的解决办法有四种(nfconntrack 在CentOS 5 / kernel <= 2.6....

kisops ⋅ 2013/08/07 ⋅ 2

nf_conntrack的一些测试

查看nf_conntrack相关数值: cat /proc/sys/net/netfilter/nfconntrackmaxsysctl net.netfilter.nfconntrackbuckets cat /proc/sys/net/netfilter/nfconntracktcptimeoutestablishedcat /pro......

362475097 ⋅ 2017/01/15 ⋅ 0

iptables踩坑记

1:第一坑:众所周知nf_conntrack,下面会有介绍补坑方法。 2:连环坑: 要解决第一个坑,需要修改内核参数,如: net.netfilter.nfconntracktcptimeoutestablished = 600 net.netfilter.nfc...

wyl410505 ⋅ 2016/02/17 ⋅ 0

nf_conntrack: table full, dropping packet 连接跟踪表已满,开始丢包 的解决办法

nf_conntrack: table full, dropping packet 连接跟踪表已满,开始丢包 的解决办法 中午业务说机器不能登录,我通过USM管理界面登录单板的时候发现机器没有僵死,然后一看日志,g一下子就明白...

a591244761 ⋅ 2014/04/11 ⋅ 0

关于ip_conntrack跟踪连接满导致网络丢包问题的分析

我们的线上web服务器在访问量很大时,就会出现网络连接丢包的问题,通过dmesg命令查看日志,发现如下信息: kernel: ip_conntrack: table full, dropping packet.kernel: printk: 1 messages...

南非蚂蚁 ⋅ 2016/01/22 ⋅ 0

Centos内核报错error: “net.ipv4.netfilter.ip_conntrack_max” is an unknown key

1.安装时,rehl5一般都是在定制完系统后才开始格式化盘,安装相关的包,而rhel6则格式化完硬盘才开始定制系统。 2.rhel6修改ifcfg-eth0文件,保存后网络会马上生效,而不会像以前版本修改后改...

fireweb ⋅ 2014/09/10 ⋅ 0

解决系统日志: kernel: printk: xxxx messages suppressed.问题

服务器症状:LAMP架构服务,早上网站打不开,ssh登录连接不上服务器,能ping通,域名能解析 日志截图: 分析如下: 此问题出在TCP连接造成,由于安全考虑系统启用了iptables防火墙,有conntra...

技术小牛人 ⋅ 2017/11/12 ⋅ 0

conntrack-tools

conntrack-tools 是一组 Linux 的工具,让系统管理员可与连接跟踪系统进行交互,为 iptables 提供状态包检测,包含用户空间守护进程 conntrackd 以及命令行下的接口程序 conntrack...

匿名 ⋅ 2012/05/27 ⋅ 0

连接跟踪详解

简介 状态机制是iptables中特殊的一部分,其实它不应该叫状态机制,因为它只是一种连接跟踪机制。但 是,很多人都认可状态机制这个名字。文中我也或多或或少地用这个名字来表示和连接跟踪相同...

面码 ⋅ 2014/04/30 ⋅ 0

nf_conntrack满之解决方法

问题: 没有占用多少流量,但是网络连接很慢,ping超时。已发现被大量不同的机器访问导致tcp连接数非常高,nf_conntrack满了 nfconntrack满之解决方法 (2016-08-09 17:27:36) 转载▼ vim /var...

luoguo ⋅ 2017/04/28 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Gitee 生成并部署SSH key

1.如何生成ssh公钥 你可以按如下命令来生成 sshkey: ssh-keygen -t rsa -C "xxxxx@xxxxx.com" # Generating public/private rsa key pair...# 三次回车即可生成 ssh key 查看你的 ...

晨猫 ⋅ 49分钟前 ⋅ 0

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

Java正无穷大、负无穷大以及NaN

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。 思考:为什么会出现这种情况呢?这是哪里...

young_chen ⋅ 昨天 ⋅ 0

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

实验楼—MySQL基础课程-挑战3实验报告

按照文档要求创建数据库 sudo sercice mysql startwget http://labfile.oss.aliyuncs.com/courses/9/createdb2.sqlvim /home/shiyanlou/createdb2.sql#查看下数据库代码 代码创建了grade......

zhangjin7 ⋅ 昨天 ⋅ 0

一起读书《深入浅出nodejs》-node模块机制

node 模块机制 前言 说到node,就不免得提到JavaScript。JavaScript自诞生以来,经历了工具类库、组件库、前端框架、前端应用的变迁。通过无数开发人员的努力,JavaScript不断被类聚和抽象,...

小草先森 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部