NLB的虚拟IP无法跨网段访问

发布时间:  2015-08-06 浏览次数:  1344 下载次数:  0
问题描述

最近的项目交付中需要使用微软的NLB(网络负载均衡)服务做两台Exchange CASClient Access Server)的集群,配置完NLB后发现同网段访问正常,跨网段都无法访问,甚至在NLB网段的网关上都无法访问。

拓扑如下:

故障截图:

 

处理过程

1.         首先尝试从网关S7700ping NLB虚地址10.16.68.254,发现不通。同网段都不通,最常见的原因就是没有对应的ARP记录。

2.         然后在网关上查看10.16.68.254ARP记录,发现果然没有学习到。

3.         在同网段某台服务器上通过arp –a查看10.16.68.254ARP记录,发现是组播MAC 03bf-xxxx-xxxx。一般在设备没有启用组播服务或者IGMP监听的情况下,网关设备是不处理组播ARP对应的报文的。

4.         由于S7700无法动态学习到,只能在网关上做静态ARP绑定,再次测试跨网段访问正常。

 

根因

根据MAC地址的规范,最高位是1时代表组播地址,0是为单播地址。所以0x03开头的地址为组播地址,网络设备在没有启用组播和IGMP侦听的情况下,网关设备不处理组播ARP对应的报文的。由于缺少二层ARP解析,造成三层无法ping通。

 

解决方案

通过在网关上手工静态绑定ARP记录。

建议与总结

根据MAC地址的规范,0x01,03,05,07开头的都是组播MAC地址,而我们最熟悉的组播MAC地址为01-00-5e开头,由此可能会造成思维定式,认为只有01-00-5e开头才是组播MAC

END