Linux中tcp连接不释放怎么回事,处理方案是什么
Admin 2022-07-21 群英技术资讯 809 次浏览
解决方法:1、利用修改keepalive配置为合适的值可以快速释放端口连接,利用echo设置“设置tcp_keepalive_time”即可,语法为“echo "指定值" > /proc/sys/net/ipv4/tcp_keepalive_time”;2、编辑“/etc/sysctl.conf”文件,语法为“net.ipv4.tcp_keepalive_time=指定值”。
本教程操作环境:linux7.3系统、Dell G3电脑。
问题描述
在开发测试时发现断开与服务器端口后再次连接时拒绝连接。
分析:服务器上查看端口占用情况,假设端口为8080。
netstat -anp |grep 8080
发现端口8080端口显示被占用(ip为本机ip确定是上次连接)且状态为ESTABLISHED,然而实际上连接已经断开,但是服务端没有断开连接,查看TCP的keepalive配置。
sysctl -a |grep keepalive
发现为默认的配置
net.ipv4.tcp_keepalive_time = 7200 net.ipv4.tcp_keepalive_probes = 9 net.ipv4.tcp_keepalive_intvl = 75
默认情况下在连接空闲7200秒即2个小时后才会发送keepalive探测包来确认连接情况。
解决方案
解决:
1、通过修改keepalive配置为合适的值(如改为200秒)可以快速释放端口连接。
临时修改,通过echo设置tcp_keepalive_time。
echo "200" > /proc/sys/net/ipv4/tcp_keepalive_time
2、永久生效,编辑/etc/sysctl.conf,新增或修改为
net.ipv4.tcp_keepalive_time = 200
然后执行命令使修改后的配置生效
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
CentOS 6下yum 安装Samba文件服务器
linux中find命令有什么作用?find命令是用来在指定目录下查找文件的,那么find命令具体怎样使用呢?接下来小编就给大家介绍一下find命令的用法及要注意的问题。
1 useradd 命令:添加用户Linux 中使用 useradd 命令添加一个用户。这个命令很简单,简单到只使用 useradd USERNAME 就可以添加一个
linux中权限最大的账户是什么?一些朋友对于这个问题比较好奇,其实在inux中权限最大的账户是root,root具有系统所有的权限,因此一旦root密码遭到泄漏,后果可想而知,接下来我们就详细的了解一下root。
linux重启网卡命令有:1、命令【service network restart】;2、命令【ifconfig eth0 down / ifconfig eth0 up】;3、命令【ifdown eth0 / ifup eth0】。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008