1.tcp链接保持管理:
net.ipv4.tcp_keepalive_time = 7200
若是在该参数指定时间内某条链接处于空闲状态,则内核向远程主机发起探测
net.ipv4.tcp_keepalive_intvl = 75
内核向远程主机发送的保活探测的时间间隔
net.ipv4.tcp_keepalive_probes = 9
内核发送保活探测的最大次数,若是探测次数大于这个数,则判定远程主机不可达,则关闭该链接并释放本地资源
一个链接7200s空闲后,内核会每隔75秒去重试,若连续9次则放弃。这样就致使一个链接通过2h11min的时间才能被丢弃,下降该值可以尽可能减少
失效链接所占用的资源,而被新的链接所使用。
2.tcp链接管理:
net.core.netdev_max_backlog=3000
该文件表示在每一个网络接口接收数据包的速率比内核处理这些包的速率快时,容许送到队列的数据包的最大数目。
net.ipv4.tcp_max_syn_backlog = 1024
控制每一个端口的tcp syn的队列长度,来自客户端的链接请求须要排队,直至服务器接受,若是链接请求数大于该值,则链接请求会被丢弃,客户端没法
链接服务器,通常服务器要提升此值
net.ipv4.tcp_synack_retries = 5
控制内核向某个socket的ack,syn段从新发送响应的次数,下降此值能够尽早检测到来自远程主机的链接失败尝试
net.ipv4.tcp_retries2 = 15
控制内核向已创建链接的远程主机从新发送数据的次数,下降此值,能够尽早的检测链接失效
3.net.ipv4.tcp_syncookies = 1
SYN Cookie是对TCP服务器端的三次握手协议做一些修改,专门用来防范SYN Flood攻击的一种手段。它的原理是,在TCP服务器收到TCP SYN包并返回TCP SYN+ACK包时,不分配一个专门的数据区,而是根据这个SYN包计算出一个cookie值。在收到TCP ACK包时,TCP服务器在根据那个cookie值检查这个TCP ACK包的合法性。若是合法,再分配专门的数据区进行处理将来的TCP链接。
4.net.ipv4.tcp_tw_reuse = 1
表示开启重用。容许将TIME-WAIT sockets从新用于新的TCP链接,默认为0
net.ipv4.tcp_tw_recycle = 1
表示开启TCP链接中TIME-WAIT sockets的快速回收,默认为0
5.net.ipv4.tcp_fin_timeout = 60
缩短默认的timeout的时间
6. /proc/sys/net/ipv4/conf/*/accept_redirects
若是主机所在的网段中有两个路由器,你将其中一个设置成了缺省网关,可是该网关在收到你的ip包时发现该ip包必须通过另一个路由器,这时这个路由器就会给你
发一个所谓的“重定向”icmp包,告诉将ip包转发到另一个路由器。参数值为布尔值,1表示接收这类重定向icmp 信息,0表示忽略。在充当路由器的linux主机上缺
省值为0,在通常的linux主机上缺省值为1。建议将其改成0以消除安全性隐患。