zoukankan      html  css  js  c++  java
  • 服务器上TIME_WAIT过多怎么处理

    正常情况下,TIME_WAIT是需要存在的

      为了保证客户端发送的最后一个ACK报文能够到达服务器,因为这个ACK可能丢失,从而导致处在LAST-ACK状态的服务器收不到对FIN-ACK的确认报文,服务器会超时重传这个FIN-ACK,接着客户端再重传一次确认,重新启动时间等待计时器,确保两端正确的断开连接,并且允许老的重复字节在网络中消逝

    一个MSL默认时长为两分钟

    但是如果服务器上TIME_WAIT过多会影响进程占用,使其他客户端无法正常连接,而且有可能正在遭受攻击,这时可以通过修改内核参数来调整

    [root@master ~]# cat /etc/sysctl.conf 
    # sysctl settings are defined through files in
    # /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
    #
    # Vendors settings live in /usr/lib/sysctl.d/.
    # To override a whole file, create a new file with the same in
    # /etc/sysctl.d/ and put new settings there. To override
    # only specific settings, add a file with a lexically later
    # name in /etc/sysctl.d/ and put new settings there.
    #
    # For more information, see sysctl.conf(5) and sysctl.d(5).
    net.ipv4.tcp_syncookies = 1      #开启SYN Cookies 当出现SYN等待队列溢出时启用 可防范少量SYN攻击
    net.ipv4.tcp_tw_reuse = 1       #开启重用 允许TIME-WAIT sockets重新用于新的TCP连接
    net.ipv4.tcp_tw_recycle = 1      #开启TCP连接中TIME-WAIT sockets的快速回收
    net.ipv4.tcp_fin_timeout = 30     #修改系统默认的TIMEOUT时间 单位/秒
    [root@master ~]# /sbin/sysctl -p   #让参数生效
  • 相关阅读:
    windows环境变量
    软件工程的一般过程和需要的文档
    linux find 命令查找文件和文件夹
    mybatis中mapUnderscoreToCamelCase自动驼峰命名转换
    人体湿气重有哪些表现? 细数湿气重的危害
    MySQL升级后1728错误解决方案
    linux清理Java环境
    无线投屏PC投电视
    report studio 交叉表占比
    Cognos审核模块的导入与设置
  • 原文地址:https://www.cnblogs.com/Xinenhui/p/14019689.html
Copyright © 2011-2022 走看看