运维服务小笔记

If not now,when?If not me,who?

八月 17th, 2015

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

861 views, Server, windows, by 川望.

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

我们来测试一下:

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

PS C:\Users\Administrator> netsh interface ipv4 show interface 本地连接

接口 本地连接 参数
----------------------------------------------
IfLuid                             : ethernet_14
IfIndex                            : 14
状态                               : connected
跃点数                             : 10
链接 MTU                           : 1500 字节
可访问时间                         : 41000 毫秒
基本可访问时间                     : 30000 毫秒
重传间隔                           : 1000 毫秒
DAD 传输                           : 3
站点前缀长度                       : 64
站点 ID                            : 1
转发                               : disabled
播发                               : disabled
邻居发现                           : enabled
邻居无法访问检测                   : enabled
路由器发现                         : dhcp
受管理的地址配置                   : enabled
其他有状态的配置                   : enabled
弱主机发送                         : enabled
弱主机接收                         : enabled
使用自动跃点数                     : enabled
忽略默认路由                       : disabled
播发的路由器生存时间               : 1800 秒
播发默认路由                       : disabled
当前跃点限制                       : 0
强制 ARPND 唤醒模式                : disabled
定向 MAC 唤醒模式                  : disabled
ECN 功能                           : application

通过SLB的IP可以正常远程登录ECS:
2
修改本地连接的配置,禁用掉若主机发送接收

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

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

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

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

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



Back Top

发表评论

电子邮件地址不会被公开。 必填项已用*标注

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。

无觅相关文章插件,快速提升流量