概述
本文主要介绍Windows服务器无法发送TCP请求访问外网的排查思路。
详细信息
ECS实例是Windows 2008系统,长时间运行后,网站无法打开,重启服务器后网站可以打开,检查程序和应用环境日志没有异常,确认是ECS实例的问题。
排查步骤
-
登录服务器,通过如下排查步骤,排除网络问题,确认系统内部TCP协议栈出现问题。
-
Ping外网地址能Ping通。
-
远程桌面正常。
-
开启telnet功能,详情请参见更多信息。执行
telnet 80
命令,确认端口不通,并在系统内部抓包,确认服务没有响应SYN报文。 -
系统内部也无法telnet外部端口。
-
- 使用
netstat
命令看不到端口数量,确认TCP动态端口已用完。 - 执行如下命令,调整到55000个端口。
netsh int ipv4 set dyn tcp 10000 55000
Windows动态端口说明
在Windows Vista和Windows Server 2008之前的系统中动态的客户端端口范围是1025到5000,在Windows Vista和Windows Server 2008系统的环境中,为了遵守IANA的约定,把范围扩展成49152到65535。
-
执行如下命令,查看动态端口。
netsh int ipv4 show dynamicport tcp
系统显示类似如下。
说明:
-
启动端口:从这个端口开始。
-
端口数:动态端口数量。
-
启动端口加上端口数不大于65535。
-
-
执行如下命令,配置动态端口数量。
netsh int ipv4 set dyn tcp [$Start_Num] [$Num_Range]
说明:
-
[$Start_Num]为启动端口。
-
[$Num_Range]为端口数。
-
-
执行如下命令,查看动态端口,确认配置动态端口数量正常。
netsh int ipv4 show dynamicport tcp
系统显示类似如下。
更多信息
以下是开启telnet功能的步骤。
单击右下角Windows图标,单击控制面板,单击程序和功能,单击打开或关闭 Windows 功能。在弹出的窗口中,勾选Telnet服务端和Telnet客户端,单击确定即可。
适用于
-
云服务器ECS
文档内容是否对您有帮助?