[转帖]iptables ip_conntrack_max 调整

iptables,ip,conntrack,max,调整 · 浏览次数 : 0

小编点评

**概念:** * `CONNTRACK_MAX`:允许的最大跟踪连接条目数量,默认值为 2^16(65536)。 * `HASHSIZE`:每个哈希表条目数量,默认值为 `CONNTRACK_MAX / 8`。 * `buckets`:哈希表的数量。 * `bytes per conntrack`:每个连接条目所需的字节数。 **实战:** 1. **修改 `net.ipv4.ip_conntrack_max` 参数:** - `vi /etc/sysctl.conf` 并设置 `net.ipv4.ip_conntrack_max = 10485762`。 - `vi /etc/modprobe.conf` 并设置 `options ip_conntrack hashsize=131072`。 2. **重启 iptables 服务:** - `service iptables restart` **注意:** - `HASHSIZE` 在 i386 架构上为 `CONNTRACK_MAX / 8`。 - `buckets` 和 `bytes per conntrack` 仅在 iptables 启动时在日志中显示。 - 只修改 `net.ipv4.ip_conntrack_max` 参数,重启 iptables 服务不会影响 `HASHSIZE` 和 `buckets` 的设置。

正文

https://www.diewufeiyang.com/post/583.html 

 

一、概念

====================

-允许的最大跟踪连接条目:CONNTRACK_MAX(默认值是 2^16=65536 )

-存储跟踪连接条目列表的哈西表的大小:HASHSIZE

-每个哈西表的条目(叫一个bucket),包含了一个链接起来的跟踪连接条目

-哈希表大小HASHSIZE,表现为 条目bucket的多少,在iptables启动时在日志中会显示。

图表形象解释:

 

例如,系统默认配置下,启动 iptables 时的信息如下:

ip_conntrack version 2.4 (8192 buckets, 65536 max) - 304 bytes per conntrack

二、实战:调大 conntrack_max 参数(2.6内核)

====================================================================

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

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

# service iptables restart 

# tail /var/log/messages 

Feb 27 04:02:02 dispatcher syslogd 1.4.1: restart. 

Feb 27 17:45:01 dispatcher auditd[3924]: Audit daemon rotating log files 

Mar 1 11:47:13 dispatcher kernel: Removing netfilter NETLINK layer. 

Mar 1 11:47:13 dispatcher kernel: ip_tables: (C) 2000-2006 Netfilter Core Team 

Mar 1 11:47:13 dispatcher kernel: Netfilter messages via NETLINK v0.30. 

Mar 1 11:47:13 dispatcher kernel: ip_conntrack version 2.4 (131072 buckets, 1048576 max) - 228 bytes per conntrack

注:只修改 net.ipv4.ip_conntrack_max = 1048576 ,重启iptables服务,messages信息中 (8192 buckets, 65536 max) 不变。

与[转帖]iptables ip_conntrack_max 调整相似的内容:

[转帖]iptables ip_conntrack_max 调整

https://www.diewufeiyang.com/post/583.html 一、概念 -允许的最大跟踪连接条目:CONNTRACK_MAX(默认值是 2^16=65536 ) -存储跟踪连接条目列表的哈西表的大小:HASHSIZE -每个哈西表的条目(叫一个bucket),包含了一个链接起

[转帖]iptables规则链执行顺序

https://www.cnblogs.com/yum777/articles/8514636.html iptables 是采用规则堆栈的方式来进行过滤,当一个封包进入网卡,会先检查 Prerouting,然后检查目的 IP 判断是否需要转送出去,接着就会跳到 INPUT 或 Forward 进行

[转帖]iptables命令详解和举例(完整版)

1、防火墙概述 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种。无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘。而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略,规则,以达到让它对出入网络的IP、数据进行检测。 目前市面上比较

[转帖]Linux下使用 ipset 封大量IP及ipset参数说明

https://www.cnblogs.com/xiaofeng666/p/10952627.html Linux使用iptables封IP,是常用的应对网络攻击的方法,但要封禁成千上万个IP,如果添加成千上万条规则,对机器性能影响较大,使用ipset能解决这个问题。 iptables 包含几个表,

[转帖]ubuntu下配置iptables、ufw端口转发

iptables 端口转发(CentOS) 注意:一来一去 在中转服务器操作 iptables -t nat -A PREROUTING -p tcp --dport [端口号] -j DNAT --to-destination [目标IP]iptables -t nat -A POSTROUTIN

[转帖]CentOS 7 下用 firewall-cmd / iptables 实现 NAT 转发供内网服务器联网

https://www.cnblogs.com/hope250/p/8033818.html 自从用 HAProxy 对服务器做了负载均衡以后,感觉后端服务器真的没必要再配置并占用公网IP资源。而且由于托管服务器的公网 IP 资源是固定的,想上 Keepalived 的话,需要挤出来 3 个公网 I

[转帖]ipset命令介绍与基本使用

一. 介绍 ipset命令是用于管理内核中IP sets模块的,如iptables之于netfilter。ipset字面意思是一些IP地址组成一个集合(set)。但是ipset用于用于存储IP地址,整个子网,端口号(TCP/UDP),MAC地址,网络接口名或者上述这些的组合。ipset主要是由ipt

[转帖]iptables开放指定端口

https://www.jianshu.com/p/5b44dd20484c 由于业务的需要, MySQL,Redis,mongodb等应用的端口需要我们手动操作开启 下面以 MySQL 为例,开启 3306 端口的远程访问,其他端口类似。 方式一:通过修改iptables文件方式 编辑配置文件 #

[转帖]iptables 执行清除命令 iptables -F 要非常小心的

使用 /sbin/iptables -F 要小心,搞不好,你就马上同服务器断开连接了 以下是来自 http://wiki.ubuntu.org.cn/IptablesHowTo 上的说明 可以通过/sbin/iptables -F清除所有规则来暂时停止防火墙: (警告:这只适合在没有配置防火墙的环境

[转帖]iptables的四表五链与NAT工作原理

本文主要介绍了iptables的基本工作原理和四表五链等基本概念以及NAT的工作原理。 1、iptables简介 我们先来看一下netfilter官网对iptables的描述: iptables is the userspace command line program used to config