Linux Netfilter 内核参数调优
Netfilter 是linux 内在的一个软件框架,用来记录管理网络数据包,Netfilter提供了5个hook 来记录管理网络包。
Netfilter进行包的管理,则需要记录每个连接的状态信息。这就是nf_conntrack的工作内容。
PREROUTING, 所有包都会经过这个hook
LOCAL INPUT, 进入本机的包会经过这个hook
FORWARD, 不进入本机的包,做转发的包会经过这个hook
LOCAL OUTPUT, 从本机出去的包会经过这个hook
POSTROUTING, 所有出去的包都会经过这个hook
一:ip_conntrack 与 nf_conntrack_ipv4 是一个相同的包,ip_conntrack是linux 2.6内核以前的名称。
基础云平台 > Linux Netfilter 内核参数调优 > image2021-9-28 13:47:46.png
二:调整一对参数,系统小于4G内存的 net.netfilter.nf_conntrack_buckets 默认值是16384, 大于4G内存的默认值是 65535,对于大于4G内存且并发比较大的系统建议调整为262144;同时net.netfilter.nf_conntrack_max默认就是65535;
基于线上都是CentOS7 x86_64 大于4G内存的系统,如果并发大建议这样设置(并发小于1W的,使用默认值)
32G内存推荐:
内存使用最大值:1048576* 376 + 262144 * 16 = 398458880(byte)=380MiB
net.netfilter.nf_conntrack_buckets = 131072
net.netfilter.nf_conntrack_max = 1048576
96G 内存推荐:
net.netfilter.nf_conntrack_buckets = 262144
net.netfilter.nf_conntrack_max = 2310720
内存使用最大值:2310720 * 376 + 262144 * 16 = 873025024(byte)=833MiB
计算公式: total_mem_used(bytes) = conntrack_max * sizeof(struct nf_conntrack) + conntrack_buckets * sizeof(struct list_head)
CONNTRACK_MAX = RAMSIZE (in bytes) / 65535 / 2 计算模型:(64(G) * 102410241024/65535/2)(2(G) * 102410241024/16384/2)
CONNTRACK_BUCKETS= CONNTRACK_MAX/8
基于线上都是CentOS7 x86_64:sizeof(struct nf_conntrack): 376 sizeof(struct list_head): 16
调整以上参数,是为了在大量tcp 并发的情况下,解决tcp不能连接及报nf_conntrack:table full dropping packet;
重点:执行echo “262144” > /sys/module/nf_conntrack/parameters/hashsize 才能修改net.netfilter.nf_conntrack_buckets = 262144 通过sysctl.conf 定义不生效会报错。
重点:如果系统没有启用nf_conntrack模块,可以忽略以上调优,K8S集群都是要求开启NAT此模块的,可以根据具体系统内存调整。
cat /proc/sys/net/netfilter/nf_conntrack_buckets
cat /proc/sys/net/netfilter/nf_conntrack_max
为了不让net.netfilter.nf_conntrack_max条目快速迭代,调整必要的参数,专门对TCP挥手做调整
条目路径:/proc/net/nf_conntrack
默认参数
net.netfilter.nf_conntrack_tcp_timeout_established = 432000 (5天)
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
调优参数
net.netfilter.nf_conntrack_tcp_timeout_established = 84600 (1天)
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 30
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 60
记录状态
ipv4 2 tcp 6 299 ESTABLISHED src=192.168.1.1 dst=192.168.1.6 sport=58747 dport=22 src=192.168.1.6 dst=192.168.1.1 sport=22 dport=58747 [ASSURED] mark=0 secctx=system_u:object_r:unlabeled_t:s0 zone=0 use=2
Linux Netfilter 内核参数调优相关推荐
- java linux 调用32位so_Linux上TCP的几个内核参数调优
Linux作为一个强大的操作系统,提供了一系列内核参数供我们进行调优.光TCP的调优参数就有50多个.在和线上问题斗智斗勇的过程中,笔者积累了一些在内网环境应该进行调优的参数.在此分享出来,希望对大家 ...
- linux内核参数调优,缓冲区调整,tcp/udp连接管理,保持,释放优化,gossary,terms
linux内核参数调优,缓冲区调整,tcp/udp连接管理,保持,释放优化,gossary,terms changing a readonly file (linu single user mode) ...
- Linux云计算架构-系统调优【CPU、IO、网络、内核参数调优】
文章目录 Linux云计算架构-系统调优[CPU.IO.网络.内核参数调优] 1. CPU调优 2. IO调优 3. 网络调优 3.1 网络冗余(主备模式) 3.2 负载均衡模式 4. 内核参数调优 ...
- Linux内核参数调优以应对SYN攻击
今天继续给大家介绍Linux运维相关知识,本文主要内容是Linux内核参数调优以应对SYN攻击. 一.SYN攻击简介 所谓SYN攻击,即利用TCP三次握手原理,向服务器发送大量的SYN数据包,却不响应 ...
- Linux Page Cache参数调优在kafka中的应用
文章目录 完整优化方案地址: 一.优化背景 二.基本概念 1.什么是Page Cache? 2.读Cache 3.写Cache 4.Page Cache缓存查看工具 三.参数调优 1.如何查看Page ...
- CentOS7 内核版本3.10 内核参数调优参考
查看网络上大部分内核参数文档,整理出如下内容,如有错误请指正,过程很辛苦,转载请附上原地址. 前言 常用的Linux内核参数,具体优化值要参考应用场景. 通过/var/log/message查看系统日 ...
- CPU-IO-网络-内核参数调优
一. 有关使用CPU资源的调优 1. nice概述 在LINUX系统中,Nice值的范围从-20到+19(不同系统的值范围是不一样的),正值表示低优先级,负值表示高优先级,值为零则表示不会调整该进程的 ...
- Linux内核参数调优
用法: vim /etc/sysctl.conf#修改内容sysctl -p #生效 相关参数仅供参考,具体数值还需要根据机器性能,应用场景等实际情况来做更细微调整. net.core.netdev_ ...
- linux中tcp连接内核参数调优somaxconn
永久生效: vim /etc/sysctl.conf net.core.somaxconn=32768 sysctl -p 立即生效: sysctl -w net.core.somaxconn=327 ...
最新文章
- 那些进入 Alexa 排名前 250 的 WordPress 网站
- 8. An Introduction to MCMC for Machine Learning (1)
- MySQL为关联表添加数据
- .Net Core应用框架Util介绍(四)
- 前端学习(2784):首页轮播图的渲染
- mysql 静态表 是不是 myisam_mysql的静态表和动态表的区别,MyISAM和InnoDB的区别
- Qt关于Tcp通信步骤的总结
- vue生成静态html文件_vue单文件组件,如何生成.html文件
- android studio安装教程完整,Android Studio 安装配置方法完整教程【小白秒懂】
- 关于GTID模式下备份时 --set-gtid-purged=OFF 参数的实验【转】
- 数据结构Java版之排序算法(二)
- MySQL 入门(六)—— 索引
- Ubuntu下VLC播放器安装配置以及VLC常用快捷键记录
- 单相半桥两电平电压型逆变器的正弦脉宽调制(SPWM)——Matlab程序
- memory exhausted mysql 42000 1064
- android app权限_如何限制Android App权限
- 洛谷P3354 [IOI2005]Riv 河流——“承诺”DP
- 个人评测酷盘 kanbox 网络硬盘的使用体验
- CentOS 7.2 安装 Oracle 11g 报错:Error in invoking targ
- 城市交通指挥与应急疏导广播系统解决方案