阿里云SLB使用Windows 2008/Windows 2012时TCP端口不通

Linux使用LVS DR或者阿里云的SLB TCP模式转发时,需要关闭rp_filter参数,否则会造成健康检查正常,但是端口不通的情况。
随着Windows系统的升级,在Windows2008以上版本, 也有了这样类似功能的参数weakhostsend(中文版系统叫弱主机),如果弱主机发送接收被禁用,就会导致阿里云TCP协议的SLB转发异常。win/linux下这个参数的功能是类似的,都是为了 防止跨接口转发数据包。

我们来测试一下:

1

2

SLB VIP: 101.201.178.107

ECS 公网IP: 123.57.147.200

SLB配置,前后端都是用TCP协议的3389,如下:

查看目前的配置

01 PS C:\Users\Administrator> netsh interface ipv4 show interface 本地连接
02  
03 接口 本地连接 参数
04 ----------------------------------------------
05 IfLuid                             : ethernet_14
06 IfIndex                            : 14
07 状态                               : connected
08 跃点数                             : 10
09 链接 MTU                           : 1500 字节
10 可访问时间                         : 41000 毫秒
11 基本可访问时间                     : 30000 毫秒
12 重传间隔                           : 1000 毫秒
13 DAD 传输                           : 3
14 站点前缀长度                       : 64
15 站点 ID                            : 1
16 转发                               : disabled
17 播发                               : disabled
18 邻居发现                           : enabled
19 邻居无法访问检测                   : enabled
20 路由器发现                         : dhcp
21 受管理的地址配置                   : enabled
22 其他有状态的配置                   : enabled
23 弱主机发送                         : enabled
24 弱主机接收                         : enabled
25 使用自动跃点数                     : enabled
26 忽略默认路由                       : disabled
27 播发的路由器生存时间               : 1800 秒
28 播发默认路由                       : disabled
29 当前跃点限制                       : 0
30 强制 ARPND 唤醒模式                : disabled
31 定向 MAC 唤醒模式                  : disabled
32 ECN 功能                           : application

通过SLB的IP可以正常远程登录ECS:

修改本地连接的配置,禁用掉若主机发送接收

1 netsh interface ipv4 set interface "本地连接" weakhostreceive=disable
2 netsh interface ipv4 set interface "本地连接" weakhostsend=disable


这时候直接访问ECS的IP还是可以正常远程的,但是通过SLB的VIP已经无法远程了,如下图:

修复也很简单,将网卡的 weakhostreceive/ weakhostsend 启用即可:

1 netsh interface ipv4 set interface "本地连接" weakhostreceive=enable
2 netsh interface ipv4 set interface "本地连接" weakhostsend=enable

服务器上多块网卡,都需要看一看这个设置。

时间: 2025-01-21 17:38:21

阿里云SLB使用Windows 2008/Windows 2012时TCP端口不通的相关文章

阿里云如何扩容数据盘(Windows 实例)

阿里云如何扩容数据盘(Windows 实例) 随着业务的增长,您的磁盘容量可能无法满足数据存储的需要,这时您可以扩容磁盘. 本文档介绍的方法只适用于数据盘 .如果要扩容系统盘 ,需要采用更换系统盘的方式.请参考 更换系统盘. 扩容须知 扩容前 建议在扩容磁盘之前手动创建快照,以备份数据. 磁盘上如果正在执行创建快照的操作,则此时不允许进行扩容操作. 只做磁盘容量的扩容,不做文件系统的扩容. 支持普通盘的扩容,不支持本地盘(本地磁盘.本地 SSD 盘)的扩容. 挂载在实例上的数据盘,只有实例 为

阿里云SLB漏选“健康检查正常的http状态码”导致url重定向失败问题处理

背景:           一客户将线下电商网站迁移到阿里云上,公网出口使用阿里云SLB,SLB后端实例为ECS(webserver)web服务使用nginx.后端APP服务器使用了tomcat:tomcat根目录为xxx,应用程序放在其根目录下的一个二级目录AAA,要求公网用户通过域名访问时能直接重定向到二级目录AAA,而不需要手动输入AAA路径来访问网站. 网络示意图如下: 问题出现:       首先按照正常的配置流程完成后,在浏览器中通过域名加路径的方式能够正常访问,当在nginx上做过

阿里云SLB的特点

众所周知 在我们传统的运维里,给服务器负载均衡 传统的有DNS轮询,应用最广泛的当然是LVS/Nginx/Haproxy这些二层四层七层的负载均衡 据我所知,阿里云SLB 的核心架构就是使用的LVS+Tengine(淘宝基于Nginx二次开发的web软件 ,博主做过俩款软件测评,感觉只是针对速度来讲没有什么提升),它继承了俩款软件的许多特点,并且呢在俩款软件的基础上又增加了许多功能,简单的介绍下SLB的特点: 1,四层及七层协议 包括TCP/IP https http 2,自定义端口,每个服务监

阿里云SLB上http强制跳转到https问题处理

背景:    最近一客户有一个需求,需要将外网所有http访问请求强制跳转到https,公网出口使用阿里云SLB,证书放在SLB上,SLB后端实例为ECS(webserver)web服务使用nginx, 网络拓扑图如下: 问题:SLB上https:443端口监控检测失败,https跳转不成功 状态: 访问网站时浏览器报502错误 排查过程: 根据502错误,判断是后端实例有问题 1 查看nginx服务是否有正常启动 2.首先查看后端实例上是否有开启443端口 3 查看nginx重定向配置: 发现

阿里云SLB升级公告

尊敬的用户: 您好,为了更好的优化后端系统,阿里云SLB将于以下时间进行升级:5月26日23:00到5月27日05:00 6月2日23:00到6月3日05:00升级详情如下: 1.5月26日青岛Region(不含金融云)升级4层和7层转发模块: 2.6月2日青岛Region(不含金融云)升级控制系统,具备支持VPC能力:升级期间影响: 1.5月26日23:00到5月27日05:00青岛Region VIP 约有4-8次VIP闪断,需要访问VIP的客户端主动重连恢复: 2.6月2日23:00到6月

阿里云与Azure中创建Windows虚拟机的对比

1. 提供的操作系统 阿里云提供的Windows操作系统有:Windows Server 2003, Windows Server 2008, Windows Server 2008 R2 Azure提供的Windows操作系统有:Windows Server 2012 Datacenter, Windows Server 2008 R2 SP1 2. 虚拟机创建界面 阿里云创建虚拟机的界面: Azure创建虚拟机的界面: 查看本栏目更多精彩内容:http://www.bianceng.cnht

云计算之路-阿里云 vs Azure:创建Windows虚拟机

1. 提供的操作系统 阿里云提供的Windows操作系统有:Windows Server 2003, Windows Server 2008, Windows Server 2008 R2 Azure提供的Windows操作系统有:Windows Server 2012 Datacenter, Windows Server 2008 R2 SP1 2. 虚拟机创建界面 阿里云创建虚拟机的界面: Azure创建虚拟机的界面: 3. 远程连接创建好的虚拟机 阿里云: 虚拟机创建好之后,会发送手机短信

阿里云SLB健康检查的日志特殊处理

SLB健康检查的频率比较高,每秒都有好几个.日积月累就带来了大量web service的日志.一来浪费存储空间,二来消耗磁盘性能.除了官方建议的降低健康检查频率外,或许有一些变通的思维 1.如果对HTTP或者TCP转发协议不挑剔,换成TCP转发并不开启http健康检查就OK了. 优势:方便,控制台操作下就好了. 劣势:只是这样也失去了应用层异常的发现能力. 2.为健康检查单独建立一个没有开启日志的virtualhost,通过不同的端口或者hostname,让健康检查请求不会请求到业务host.

windows操作系统自带的TCP端口转发

因为工作中一个项目,总部与各个分部只有citrix服务器才能通讯,总部客户端想通过分部citrix访问分部内网资源.基本思路,通过程序修改获取的ICA文件中的IP地址和端口,将修改后的ICA文件返回给客户端,实现客户端通过连接本地citrix,自动跳转到另外一个网络的citrix.之前用的是haproxy,但是haproxy与程序交互不是很好,如果各个分部只有一台citrix服务器,事先静态写好还可以,但是一般分部会有多台citrix服务器,不能确定每次使用的是哪台citrix服务器,这样想通过