荣耀之链论坛

?找回密码
?立即注册
搜索
12
返回列表 发新帖
楼主: admin
打印 上一主题 下一主题

centos 当软路由

[复制链接]

550

主题

957

帖子

4420

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4420
11#
?楼主| 发表于 2019-2-10 22:15 | 只看该作者
http://www.linuxdiyf.com/linux/29259.html

最后一步:使内部的电脑可以使用pptp
安装这几个模块
modprobe nf_nat_pptp注意:服务器重启以后就需要重新安装这个模块
可以放在启动脚本里面自动执行

550

主题

957

帖子

4420

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4420
12#
?楼主| 发表于 2019-6-29 21:07 | 只看该作者
centos 6.10
修改nf_conntrack_tcp_timeout_established时间
默认是5天,感觉太长了,改为7200秒
cd /proc/sys/net/netfilter
其他的感觉都不用改,就下面两个可能需要改

cat nf_conntrack_tcp_timeout_established??这个是调节连接如果不发送数据最长存在时间,我感觉默认的5天太长了,我的应用基本上不需要这么长,改为7200吧,openwrt就是这个数值,2个小时不发送数据的链接我感觉就是可能是死链接了

cat nf_conntrack_max
这个是最多的转发条数,默认是65536,足够用了,没有必要增加了




#修改转发相关参数
https://yq.aliyun.com/articles/555502
sysctl -a | grep nf_conntrack
优化参数
状态跟踪表的最大行数的设定,理论最大值 CONNTRACK_MAX = RAMSIZE (in bytes) / 16384 / (ARCH / 32)
以64G的64位操作系统为例,CONNTRACK_MAX = 64*1024*1024*1024/16384/2 = 2097152
即时生效请执行:
sysctl –w net.netfilter.nf_conntrack_max = 524288??(16G)
sysctl -w net.netfilter.nf_conntrack_tcp_timeout_established=7200??#等号不能有空格
阿里云的建议是调为下面这样
net.netfilter.ip_conntrack_tcp_timeout_established??=??3600? ?
net.netfilter.nf_conntrack_tcp_timeout_close_wait??=??60? ?
net.netfilter.nf_conntrack_tcp_timeout_fin_wait??=??120? ?
net.netfilter.nf_conntrack_tcp_timeout_time_wait??=??120




550

主题

957

帖子

4420

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4420
13#
?楼主| 发表于 2019-7-21 11:22 | 只看该作者
我自己的服务器设定是这样的
sysctl -w net.netfilter.nf_conntrack_tcp_timeout_fin_wait=30
sysctl -w net.netfilter.nf_conntrack_tcp_timeout_time_wait=30
sysctl -w net.netfilter.nf_conntrack_tcp_timeout_close_wait=15
sysctl -w net.netfilter.nf_conntrack_tcp_timeout_established=300


查看已经活跃的转发链接
cat /proc/net/nf_conntrack


我是根据这个文章来弄的
https://www.cnblogs.com/xiangsikai/p/9525287.html

Linux 跟踪连接netfilter 调优
Netfilter介绍

? ? linux内核中的netfilter是一款强大的基于状态的防火墙,具有连接跟踪(conntrack)的实现。conntrack是netfilter的核心,许多增强的功能,例如,地址转换(NAT),基于内容的业务识别(l7, layer-7 module)都是基于连接跟踪。

? ? nf_conntrack模块在kernel 2.6.15(2006-01-03发布) 被引入,支持ipv4和ipv6,取代只支持ipv4的ip_connktrack,用于跟踪连接的状态,供其他模块使用。

主要参数介绍

复制代码
# 哈希表大小(只读)(64位系统、8G内存默认 65536,16G翻倍,如此类推)
net.netfilter.nf_conntrack_buckets

# 最大跟踪连接数,默认 nf_conntrack_buckets * 4
net.netfilter.nf_conntrack_max
net.nf_conntrack_max
复制代码
注:跟踪的连接用哈希表存储,每个桶(bucket)里都是1个链表,默认长度为4KB
注:netfilter的哈希表存储在内核空间,这部分内存不能swap
注:哈希表大小 64位 最大连接数/8??32 最大连接数/4
注:32位系统一条跟踪几率约为300字节。
注:在64位下,当CONNTRACK_MAX为 1048576,HASHSIZE 为 262144 时,最多占350多MB
状态查看

1、查找:buckets哈希表大小,max最大几率的连接条数

# netfilter模块加载时的bucket和max配置:
sudo dmesg | grep conntrack
结果
2、查找:哈希表使用情况

# 前4个数字分别为:当前活动对象数、可用对象总数、每个对象的大小(字节)、包含至少1个活动对象的分页数
grep conntrack /proc/slabinfo
结果
3、查找:当前跟踪的连接数

sudo sysctl net.netfilter.nf_conntrack_count
cat /proc/net/nf_conntrack | wc -l
4、跟踪连接详细信息

cat /proc/net/nf_conntrack
结果说明
连接跟踪调优

计算公式
CONNTRACK_MAX(最大几率的连接条数) = 内存个数*1024*1024*1024/16384/2 = ***
Buckets(哈希表大小) = CONNTRACK_MAX/4 = ***(Byte字节)
跟踪数暂用最内存大小 = CONNTRACK_MAX * 300(Byte字节)= ***(Byte字节)
注:如果不能关掉防火墙,基本思路就是,调大nf_conntrack_buckets和nf_conntrack_max,调小超时时间。
注:除了有关联的参数,尽量一次只改一处,记下默认值,效果不明显或更差就还原。

1、哈希表桶大小 调优

注:net.netfilter.nf_conntrack_buckets 不能直接改(报错)

复制代码
# 临时生效
echo 262144 > /sys/module/nf_conntrack/parameters/hashsize
------------------------------------------------------

# 重启永久生效
新建文件:/etc/modprobe.d/iptables.conf
options nf_conntrack hashsize = 32768
复制代码
2、最大追踪连接数修改 调优

复制代码
# 临时生效
sudo sysctl -w net.netfilter.nf_conntrack_max=1048576
suod sysctl -w net.nf_conntrack_max=1048576

------------------------------------------------------

# 永久生效
# 添加修改内核配置文件(/etc/sysctl.conf)
net.netfilter.nf_conntrack_max=1048576
net.nf_conntrack_max=1048576

# 如果要马上应用配置文件里的设置:
sudo sysctl -p /etc/sysctl.conf
复制代码
3、响应时间 调优

复制代码
# 临时生效

# 主动方的最后1个状态。默认120秒
sudo sysctl -w net.netfilter.nf_conntrack_tcp_timeout_fin_wait=30
sudo sysctl -w net.netfilter.nf_conntrack_tcp_timeout_time_wait=30

# CLOSE_WAIT是被动方收到FIN发ACK,然后会转到LAST_ACK发FIN,除非程序写得有问题,正常来说这状态持续时间很短。#默认 60 秒
sudo sysctl -w net.netfilter.nf_conntrack_tcp_timeout_close_wait=15

# 理论上不用这么长,不小于 net.ipv4.tcp_keepalive_time 就行了。默认 432000 秒(5天)
sudo sysctl -w net.netfilter.nf_conntrack_tcp_timeout_established=300

-----------------------------------------------------

# 永久生效
# 修改内核配置文件(/etc/sysctl.conf)
net.netfilter.nf_conntrack_tcp_timeout_fin_wait=30
net.netfilter.nf_conntrack_tcp_timeout_time_wait=30
net.netfilter.nf_conntrack_tcp_timeout_close_wait=15
net.netfilter.nf_conntrack_tcp_timeout_established=300

# 如果要马上应用配置文件里的设置:
sudo sysctl -p /etc/sysctl.conf
复制代码
禁用连接跟踪模块

注:只要iptables还有规则用到nat和state模块,就不适合关掉netfilter,否则这些规则会失效。

# 条件举例
# 关掉netfilter会拿不到状态,导致每个请求都要从头到尾检查一次,影响性能:
# 例如这条默认规则(通常写在第1条或很靠前的位置):
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
禁用步骤

1、整理确认关闭该模块后不会影响功能

复制代码
# 1
# 查找相关模块
sudo lsmod | egrep "ip_table|iptable|nat|conntrack"

# 2
# 把带 -t nat 、-m state 的规则都干掉
# 或删掉 /etc/sysconfig/iptables 里相应内容
# 查看iptables规则
sudo iptables-save

# 3
# 编辑 iptables 配置文件
# 找到 IPTABLES_MODULES ,删掉跟conntrack有关的模块(如果有)
sudo vim /etc/sysconfig/iptables-config

# 4
# 停掉iptables
# Centos 6
sudo service iptables stop
# Centos 7
sudo systemctl stop iptables
复制代码
2、移除相关模块

复制代码
sudo rmmod iptable_nat
sudo rmmod ip6table_nat
sudo rmmod nf_defrag_ipv4
sudo rmmod nf_defrag_ipv6
# 移除相关模块
sudo rmmod nf_nat
sudo rmmod nf_nat_ipv4
sudo rmmod nf_nat_ipv6
sudo rmmod nf_conntrack
sudo rmmod nf_conntrack_ipv4
sudo rmmod nf_conntrack_ipv6
sudo rmmod xt_conntrack

--------------------------

# 开启相关模块
sudo modprobe iptable_nat
sudo modprobe ip6table_nat
sudo modprobe nf_defrag_ipv4
sudo modprobe nf_defrag_ipv6
sudo modprobe nf_nat
sudo modprobe nf_nat_ipv4
sudo modprobe nf_nat_ipv6
sudo modprobe nf_conntrack
sudo modprobe nf_conntrack_ipv4
sudo modprobe nf_conntrack_ipv6
sudo modprobe xt_conntrack

550

主题

957

帖子

4420

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4420
14#
?楼主| 发表于 2019-7-26 00:41 | 只看该作者
sysctl -w net.netfilter.nf_conntrack_tcp_timeout_established=300
sysctl -w net.netfilter.ip_conntrack_tcp_timeout_established=3600

nf表示是转发相关的(用于软路由的转发)
ip表示是服务器接收相关的
12
返回列表 发新帖
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

荣耀之链 ( 鄂ICP备13014567号-2 )

GMT+8, 2019-10-21 19:54bet36正规网址 , Processed in 0.016892 second(s), 18 queries .

Powered by Discuz! X3.4

? 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表