每日一案例之:NLB的虚拟IP无法跨网段访问
问题描述
微软的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对应的报文的。
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。
赞 (0)