linux系统内核参数说明
net.ipv4.tcp_syncookies = 1
#开启SYN Cookies,当出现SYN等待队列溢出时,启用cookies来处理
kernel.msgmnb = 65536
#每个消息队列的最大字节限制
kernel.msgmax = 65536
#每个消息队列默认的最大字节限制
kernel.shmmax = 4294967295
#单个内存片段的最大共享空间单位字节
kernel.shmall = 268435456
#系统一次可以使用的共享内存总量单位为页
net.ipv4.tcp_tw_reuse = 1
#开启重复使用,允许TIME-WAIT socket重新用于tcp连接
net.ipv4.tcp_tw_recycle = 1
#开启TIME-WAIT连接的快速回收
net.ipv4.tcp_fin_timeout = 30
#表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间
net.ipv4.tcp_syn_retries = 2
#内核放弃建立连接之前发送SYN包的数量
net.ipv4.tcp_synack_retries=1
#内核放弃连接前发送syn+ack包的数量
net.ipv4.tcp_keepalive_time = 30
#当keepalive启用时,tcp发送keepalive的频度
net.ipv4.tcp_orphan_retries = 3
#本端试图关闭TCP连接之前重试多少次
net.ipv4.tcp_keepalive_probes = 5
net.core.netdev_max_backlog = 3000
#该参数决定了,网络设备接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目
net.ipv4.tcp_synack_retries = 2
# 为了打开对端的连接,内核需要发送一个SYN并附带一个回应前面一个SYN的ACK。
#也就是所谓三次握手中的第二次握手。这个设置决定了内核放弃连接之前发送SYN+ACK包的数量
fs.file-max=65535
#文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量
net.ipv4.ip_local_port_range = 1024 65535
#网络连接可以使用的端口范围
net.ipv4.tcp_max_syn_backlog = 8192
#网络连接可以等待的队列数
net.ipv4.tcp_max_tw_buckets = 5000
#表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息
net.core.rmem_max = 8388608
#接收套接字缓冲区大小的最大值单位字节
net.core.wmem_max = 8388608
#发送套接字缓冲区大小的最大值单位字节
net.core.rmem_default = 65536
#接收套接字缓冲区大小的缺省值单位字节
net.core.wmem_default = 65536
#发送套接字缓冲区大小的缺省值单位字节
net.ipv4.tcp_mem = 8388608 8388608 8388608
#低于net.ipv4.tcp_mem[0]值,TCP没有内存压力.
#低于net.ipv4.tcp_mem[1]值,进入内存压力阶段.
#高于net.ipv4.tcp_mem[2]值,TCP拒绝分配socket.
#上述内存单位是页,而不是字节
net.ipv4.tcp_rmem = 4096 87380 8388608
net.ipv4.tcp_wmem = 4096 65536 8388608
# 避免放大攻击
net.ipv4.icmp_echo_ignore_broadcasts = 1
# 开启恶意icmp错误消息保护
net.ipv4.icmp_ignore_bogus_error_responses = 1
# 开启SYN洪水攻击保护
net.ipv4.tcp_syncookies = 1
# 开启并记录欺骗,源路由和重定向包
net.ipv4.conf.all.log_martians = 1
net.ipv4.conf.default.log_martians = 1
# 处理无源路由的包
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
# 开启反向路径过滤
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
# 确保无人能修改路由表
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0
# 不充当路由器
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
# 开启execshild
kernel.exec-shield = 1
kernel.randomize_va_space = 1
# IPv6设置
net.ipv6.conf.default.router_solicitations = 0
net.ipv6.conf.default.accept_ra_rtr_pref = 0
net.ipv6.conf.default.accept_ra_pinfo = 0
net.ipv6.conf.default.accept_ra_defrtr = 0
net.ipv6.conf.default.autoconf = 0
net.ipv6.conf.default.dad_transmits = 0
net.ipv6.conf.default.max_addresses = 1
# 优化LB使用的端口
# 增加系统文件描述符限制
fs.file-max = 65535
# 允许更多的PIDs (减少滚动翻转问题); may break some programs 32768
kernel.pid_max = 65536
# 增加系统IP端口限制
net.ipv4.ip_local_port_range = 2000 65000
# 增加TCP最大缓冲区大小
net.ipv4.tcp_rmem = 4096 87380 8388608
net.ipv4.tcp_wmem = 4096 87380 8388608
# 增加Linux自动调整TCP缓冲区限制
# 最小,默认和最大可使用的字节数
# 最大值不低于4MB,如果你使用非常高的BDP路径可以设置得更高
# Tcp窗口等
net.core.rmem_max = 8388608
net.core.wmem_max = 8388608
net.core.netdev_max_backlog = 5000
net.ipv4.tcp_window_scaling = 1