阿里云服务器ECS实例多次出现无法连接内网或外网服务器的端口的解决方法
问题描述
ECS实例上多次出现无法连接内网和外网服务器的端口(任意端口都无法连接),但是能ping通,等待一段时间后,又会自动恢复。在查看系统日志时,发现以下信息。
TCP/IP无法建立传出连接,因为选定的本地终结点最近用于连接到相同的远程终结点。当以高速率打开和关闭传出连接时,会导致所有可用的本地端口被使用,并迫使TCP/IP重新使用本地端口进行传出连接,此时通常会产生这种错误。为了最大限度地降低数据受到损坏的风险,在给定的本地终结点和给定的远程终结点之间的连续连接中,TCP/IP标准需要等待一段最短的时间段。
解决方案
阿里云提醒您:
•如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
•如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
•如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
1.您需要在操作系统层面修改TCP的端口限制,即需要修改注册表,将TcpTimeWaitDelay调整为30s,MaxUserPort调整为65500。这样可以增加操作系统层面的TCP连接数,因为如果TCP连接数已满,新的连接就无法建立。
说明:具体调整的数据请以实际环境为准。
2.修改注册表需要重启服务器使配置生效,若不重启服务器,只能尝试临时增加端口数量。打开cmd终端,执行以下命令,临时增加端口数量。
netsh int ipv4 set dyn tcp [$Start_Num] [$Num_Range]
说明:
▫[$Start_Num]为启动端口。
▫[$Num_Range]为端口数。
我有话说: