问题描述:

微软的NLB(网络负载均衡)服务做两台Exchange CAS(Client Access Server)的集群,配置完NLB后发现同网段访问正常,跨网段都无法访问,甚至在NLB网段的网关上都无法访问。

拓扑如下:

故障截图:

处理过程:

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

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

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

根因

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

解决方案

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

建议与总结

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

 

Last modification:February 16, 2019
If you think my article is useful to you, please feel free to appreciate