在linux系统中处理TIME_WAIT连接过多

简介:

网络连接状态说明:

CLOSED             无连接是活动的或正在进行

LISTEN               务器在等待进入呼叫

SYN_RECV         个连接请求已经到达,等待确认

SYN_SENT         用已经开始,打开一个连接

ESTABLISHED     常数据传输状态

FIN_WAIT1          用说它已经完成

FIN_WAIT2          一边已同意释放

ITMED_WAIT       待所有分组死掉

CLOSING           边同时尝试关闭

TIME_WAIT         一边已初始化一个释放

LAST_ACK         待所有分组死掉

 

1.查看系统有TIME_WAIT多少个连接

[root@AY140528120357495c4bZ ~]# netstat -antup | grep 'TIME_WAIT' | wc -l
1570
[root@AY140528120357495c4bZ ~]#

 

2.修改内核参数关闭TIME_WAIT连接

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 = 1      --表示开启TCP连接中TIME-WAIT sockets的快速回收.默认为0,表示关闭.

net.ipv4.tcp_fin_timeout = 30     --修改系統默认的 TIMEOUT 时间

[root@AY140528120357495c4bZ ~]# vim /etc/sysctl.conf

net.ipv4.tcp_syncookies = 1    
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30

[root@AY140528120357495c4bZ ~]#

 

3.使用配置生效

[root@AY140528120357495c4bZ ~]# sysctl  -p | grep tcp
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
[root@AY140528120357495c4bZ ~]#

 

4.查看修改内核后的TIME_WAIT连接

[root@AY140528120357495c4bZ ~]# netstat -antup | grep 'TIME_WAIT' | wc -l
9
[root@AY140528120357495c4bZ ~]#










本文转自 z597011036 51CTO博客,原文链接:http://blog.51cto.com/tongcheng/1607428,如需转载请自行联系原作者
目录
相关文章
|
3天前
|
存储 缓存 网络协议
Linux系统之ARP命令的基本使用
【7月更文挑战第2天】Linux系统之ARP命令的基本使用
13 2
|
2天前
|
缓存 网络协议 算法
【Linux系统编程】深入剖析:四大IO模型机制与应用(阻塞、非阻塞、多路复用、信号驱动IO 全解读)
在Linux环境下,主要存在四种IO模型,它们分别是阻塞IO(Blocking IO)、非阻塞IO(Non-blocking IO)、IO多路复用(I/O Multiplexing)和异步IO(Asynchronous IO)。下面我将逐一介绍这些模型的定义:
|
2天前
|
SQL 自然语言处理 网络协议
【Linux开发实战指南】基于TCP、进程数据结构与SQL数据库:构建在线云词典系统(含注册、登录、查询、历史记录管理功能及源码分享)
TCP(Transmission Control Protocol)连接是互联网上最常用的一种面向连接、可靠的、基于字节流的传输层通信协议。建立TCP连接需要经过著名的“三次握手”过程: 1. SYN(同步序列编号):客户端发送一个SYN包给服务器,并进入SYN_SEND状态,等待服务器确认。 2. SYN-ACK:服务器收到SYN包后,回应一个SYN-ACK(SYN+ACKnowledgment)包,告诉客户端其接收到了请求,并同意建立连接,此时服务器进入SYN_RECV状态。 3. ACK(确认字符):客户端收到服务器的SYN-ACK包后,发送一个ACK包给服务器,确认收到了服务器的确
|
3天前
|
缓存 监控 Linux
Linux系统之smem命令的基本使用
【7月更文挑战第1天】Linux系统之smem命令的基本使用
22 2
|
9天前
|
域名解析 网络协议 Linux
Linux系统下DNS配置指南
Linux系统下DNS配置指南
23 1
|
2天前
|
Linux 网络安全 虚拟化
Ngnix04系统环境准备-上面软件是免费版的,下面是收费版的,他更快的原因使用了epoll模型,查看当前Linux系统版本, uname -a,VMWARE建议使用NAT,PC端电脑必须使用网线连接
Ngnix04系统环境准备-上面软件是免费版的,下面是收费版的,他更快的原因使用了epoll模型,查看当前Linux系统版本, uname -a,VMWARE建议使用NAT,PC端电脑必须使用网线连接
|
2天前
|
Ubuntu Linux
Linux软件安装-Linux系统靠yum命令安装软件,yum命令是一个RPM包软件管理器,用于自动化安装配置Linux软件,.rpm是Linux包下的软件,yum install下载 wget re
Linux软件安装-Linux系统靠yum命令安装软件,yum命令是一个RPM包软件管理器,用于自动化安装配置Linux软件,.rpm是Linux包下的软件,yum install下载 wget re
|
2天前
|
Linux Windows
Linux01---目录结构,Linux系统下只有一个最顶级的树/,Windows系统有盘符概念,而Linux系统没有盘符概念,整个系统都在/根目录下,Linux 系统写法 /user/local
Linux01---目录结构,Linux系统下只有一个最顶级的树/,Windows系统有盘符概念,而Linux系统没有盘符概念,整个系统都在/根目录下,Linux 系统写法 /user/local
|
2天前
|
安全 Linux 网络安全
部署07--远程连接Linux系统,利用FinalShell可以远程连接到我们的操作系统上
部署07--远程连接Linux系统,利用FinalShell可以远程连接到我们的操作系统上
|
2天前
|
Linux 虚拟化 数据安全/隐私保护
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD