开发者社区> 问答> 正文

linux如何调优设置启用TCP SYN cookie

linux如何调优设置启用TCP SYN cookie

展开
收起
Dynastys 2021-11-03 15:34:00 1398 0
2 条回答
写回答
取消 提交回答
  • 网络规划设计师、敏捷专家、CISP、ITSS服务经理、ACA全科目、ACP4项、ACE、CBP、CDSP、CZTP等。拥有 PRINCE2 Foundation/Practitioner、CCSK、ITIL、ISO27001、PMP等多项国际认证。 专利5+、期刊10+、知识产权师。核心期刊审稿人。

    您好,高流量大并发TCP性能内核参数调优是一个整体过程。如果您是这个场景,请参考如下配置模板,如果你当初是修改net.ipv4.tcp_syncookies这个配置的话,写入sysctl.conf中,sysctl -p即可。

    fs.file-max = 51200
    #提高整个系统的文件限制
    
    net.ipv4.tcp_syncookies = 1
    #表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
    
    net.ipv4.tcp_tw_reuse = 1
    #表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
    
    net.ipv4.tcp_tw_recycle = 0
    #表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭;
    #为了对NAT设备更友好,建议设置为0。
    
    net.ipv4.tcp_fin_timeout = 30
    #修改系統默认的 TIMEOUT 时间。 
    
    net.ipv4.tcp_keepalive_time = 1200
    #表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。
    
    net.ipv4.ip_local_port_range = 10000 65000 
    #表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为10000到65000。(注意:这里不要将最低值设的太低,否则可能会占用掉正常的端口!)
    
      
    net.ipv4.tcp_max_syn_backlog = 8192
    #表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。
    
      
    net.ipv4.tcp_max_tw_buckets = 5000
    #表示系统同时保持TIME_WAIT的最大数量,如果超过这个数字,TIME_WAIT将立刻被清除并打印警告信息。
    
    #额外的,对于内核版本新于**3.7.1**的,我们可以开启tcp_fastopen:
    net.ipv4.tcp_fastopen = 3
    
    2021-11-03 15:48:55
    赞同 1 展开评论 打赏
  • 追加/etc/sysctl.conf

    Use TCP syncookies when needed

    net.ipv4.tcp_syncookies = 1

    2021-11-03 15:42:17
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载