由于TCP协议缺陷被恶意利用Syn-Flood***,Linux内核调整这些参数可缓解这类***:

net.ipv4.tcp_syncookies = 1

#启用syncookies

net.ipv4.tcp_max_syn_backlog = 8192

#SYN队列长度

net.ipv4.tcp_synack_retries=2

#SYN ACK重试次数

Linux服务器作为网关或代理时TIME-WAIT较多,可通过以下参数优化调整:

net.ipv4.tcp_fin_timeout = 30

#主动关闭方FIN-WAIT-2超时时间

net.ipv4.tcp_keepalive_time = 1200

#TCP发送keepalive消息的频度

net.ipv4.tcp_tw_reuse = 1

#开启TIME-WAIT重用

net.ipv4.tcp_tw_recycle = 1

#开启TIME-WAIT快速回收

net.ipv4.ip_local_port_range = 1024 65000

#向外连接的端口范围

net.ipv4.tcp_max_tw_buckets = 5000

#最大TIME-WAIT数量,超过立即清除

net.ipv4.tcp_syn_retries = 2

#SYN重试次数

其它一些参数优化:

net.ipv4.tcp_rmem = 4096 87380 4194304

#TCP接收缓冲大小,对应最小、默认、最大

net.ipv4.tcp_wmem = 4096 16384 4194304

#TCP发送缓冲大小,对应最小、默认、最大

net.core.rmem_max = 16777216

#最大发送套接字缓冲区大小

net.core.wmem_max = 16777216

#最大接收套接字缓冲区大小

net.core.netdev_max_backlog = 262144

#当网络接口接收速率比内核处理快时允许发到队列的数据包数目

net.core.somaxconn = 262144

#系统同时发起的TCP连接娄,超过导致连接超时或重传