linux内核参数配置(持续更新)

我们可以在sysctl.conf中看到linux的配置 这里可以修改内核参数来达到功能优化的目的

**

修改对外连接的端口

默认32768
**
net.ipv4.ip_local_port_range

**

修改syn等待队列长度

默认为1024
用来修改可以容纳等待连接的网络连接数。
**
net.ipv4.tcp_max_syn_backlog
**

关闭ipv6:

**
首先可以通过ifconfig查看是否开启了ipv6(ifconfig route netstat 命令不多说)
运行netstat会发现没有相关的ipv6了
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

**

防止放大攻击

**:黑客利用DNS服务器 使得被攻击者因泛滥的流量而变得不堪重负(应答包比请求包大),最终导致拒绝服务

net.ipv4.icmp_echo_ignore_broadcasts = 1 防止拒绝服务攻击,设置为1来忽略这些子网广播消息

**

开启syn cookie 防止syn攻击

可以少量防止syn攻击:一般客户端发送syn给服务器后会导致服务器开启数据区(估计是为了在半连接状态下可以存储来自客户端的数据吧)—改成–》服务器接受syn之后返回这个syn计算出来的cookie 在下次接受时对比 成功才最终建立连接
**
net.ipv4.tcp_syncookies = 1

**

表示开启重用

允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
需要有tcp_timestamps
解决端口65535问题 TIME_OUT过多直接影响处理能力
**
net.ipv4.tcp_tw_reuse = 1

**

开启快速回收

表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭;
**
net.ipv4.tcp_tw_recycle = 1

**

修改timeout时间

修改系統默认的 TIMEOUT 时间。
**
net.ipv4.tcp_fin_timeout

**

修改发送keepalive

主要在长链接情况下 服务器端用来探测连接的对端是否存活 在此时间后发送
**
net.ipv4.tcp_keepalive_time

**

发送探测客户端是否存活的次数

配合tcp_keepalive_time
**
tcp_keepalive_probes

**

探测消息发送的频率

乘以次数就是用来判断是否死亡的总时间
**

tcp_keepalive_intvl
**

系统可以同时保持的timewait连接的数量

在 TIME_WAIT达到你所设置的 tcp_max_tw_buckets 时就不会有新的 TIME_WAIT状态的连接 产生了。
在内存大的时候当然可以适当增大这个值
**
net.ipv4.tcp_max_tw_buckets

**

尚未收到客户端ack确认信息的连接的最大值

即半连接最大值
**
net.ipv4.tcp_max_syn_backlog

**

每次软中断处理的网络包个数

会影响软中断次数?
**

net.core.netdev_budget
**

当个别接口接收包的速度快于内核处理速度时允许的最大的包序列

**

net.core.netdev_max_backlog
**

指服务端所能accept即处理数据的最大客户端数量,即完成连接上限

**
net.core.somaxconn
**

服务器端在放弃连接前重传2次握手 syn+ack的包的数量

**

net.ipv4.tcp_synack_retries

**

内核放弃建立连接之前允许客户端发送SYN包的数量

用来定义客户端主机发送第一次握手syn后 一直得不到反馈的最大超时时间
**
tcp_syn_retries
**

系统中最多可以有多少TCP套接字不被关联到任何一个用户文件句柄上

超过设置的值就会复位并警告 可防止简单的DOS攻击
**

net.ipv4.tcp_max_orphans

发布了63 篇原创文章 · 获赞 44 · 访问量 6232

猜你喜欢

转载自blog.csdn.net/weixin_40695328/article/details/104028650