Windows服务器无法发送TCP请求访问外网的排查思路的解决方法

作者阿里云代理 文章分类 分类:新闻快递 阅读次数 已被围观 3524

概述

本文主要介绍Windows服务器无法发送TCP请求访问外网的排查思路。

详细信息

ECS实例是Windows 2008系统,长时间运行后,网站无法打开,重启服务器后网站可以打开,检查程序和应用环境日志没有异常,确认是ECS实例的问题。

排查步骤

1.登录服务器,通过如下排查步骤,排除网络问题,确认系统内部TCP协议栈出现问题。

▫Ping外网地址能Ping通。

▫远程桌面正常。

▫执行telnet 80命令,确认端口不通,并在系统内部抓包,确认服务没有响应SYN报文。

▫系统内部也无法telnet外部端口。

2.使用netstat命令看不到端口数量,确认TCP动态端口已用完。

3.执行如下命令,调整到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。

1.执行如下命令,查看动态端口。

netsh int ipv4 show dynamicport tcp

系统显示类似如下。

1538188431412-286ff716-d6fb-4ca3-a517-fb8d994441e8.png

说明:

▫启动端口:从这个端口开始。

▫端口数:动态端口数量。

▫启动端口加上端口数不大于65535。

3.执行如下命令,配置动态端口数量。

netsh int ipv4 set dyn tcp [$Start_Num] [$Num_Range]

说明:

▫[$Start_Num]为启动端口。

▫[$Num_Range]为端口数。

4.执行如下命令,查看动态端口,确认配置动态端口数量正常。

netsh int ipv4 show dynamicport tcp

系统显示类似如下。

 1538191292750-72ef5b76-0a77-4aa1-9a50-8b272b66e00f.png

适用于

•云服务器ECS

阿里云代理商  阿里云合作伙伴

本公司销售:阿里云新/老客户,只要购买阿里云,即可享受折上折优惠!>

我有话说: