之前写了一篇关于 CentOS7 的内核优化,因为设置项的条目较多,没有一一添加注解,今天我们专门针对 /etc/sysctl.conf 中包含的优化设置项进行详解。
修改内核配置文件
刷新配置文件
关 IPv6
1 2
| net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
|
避免放大攻击
1
| net.ipv4.icmp_echo_ignore_broadcasts = 1
|
开启恶意的 ICMP 错误消息保护
1
| net.ipv4.icmp_ignore_bogus_error_responses = 1
|
关闭路由转发
1 2 3
| net.ipv4.ip_forward = 0 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0
|
开启反向路径过滤
1 2
| net.ipv4.conf.all.rp_filter = 1 net.ipv4.conf.default.rp_filter = 1
|
处理无源路由的包
1 2
| net.ipv4.conf.all.accept_source_route = 0 net.ipv4.conf.default.accept_source_route = 0
|
关 SysRq 功能
Core 文件名添加 PID 作为扩展名
1
| kernel.core_uses_pid = 1
|
开 SYN 洪水攻击保护
1
| net.ipv4.tcp_syncookies = 1
|
修改消息队列长度
1 2
| kernel.msgmnb = 65536 kernel.msgmax = 65536
|
设置最大内存共享段大小 bytes
1 2
| kernel.shmmax = 68719476736 kernel.shmall = 4294967296
|
TIME_WAIT 的数量默认为 180000
1 2 3 4 5 6 7 8 9
| net.ipv4.tcp_max_tw_buckets = 6000 net.ipv4.tcp_sack = 1 net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_rmem = 4096 87380 4194304 net.ipv4.tcp_wmem = 4096 16384 4194304 net.core.wmem_default = 8388608 net.core.rmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216
|
每个网络接口接收数据包速率比内核处理这些包的速率快时允许送到队列数据包的最大数目
1
| net.core.netdev_max_backlog = 262144
|
限制仅仅是为防止简单的 DoS 攻击
1
| net.ipv4.tcp_max_orphans = 3276800
|
未收到客户端确认信息的连接请求最大值
1 2
| net.ipv4.tcp_max_syn_backlog = 262144 net.ipv4.tcp_timestamps = 0
|
内核放弃建立连接之前发送 SYNACK 包数量
1
| net.ipv4.tcp_synack_retries = 1
|
内核放弃建立连接之前发送 SYN 包数量
1
| net.ipv4.tcp_syn_retries = 1
|
开 TIME_WAIT 快速回收
1
| net.ipv4.tcp_tw_recycle = 1
|
允许将 TIME_WAIT Sockets 重新用于新 TCP 连接
1 2 3
| net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_mem = 94500000 915000000 927000000 net.ipv4.tcp_fin_timeout = 1
|
当 KeepAlive 起用的时候 TCP 发送 KeepAlive 消息的频度缺省是 2 小时
1
| net.ipv4.tcp_keepalive_time = 30
|
允许系统打开端口范围
1
| net.ipv4.ip_local_port_range = 1024 65000
|
修改防火墙的表大小默认 65536
1 2
| net.netfilter.nf_conntrack_max = 655350 net.netfilter.nf_conntrack_tcp_timeout_established = 1200
|
条评论