问题描述:AD三角模式部署,AD接口地址、虚拟服务VIP地址和服务器真实地址均有IPV4和IPV6。配置完成后发现IPV6的节点池健康检测异常。AD上ping服务器真实IP会有告警异常,但核心上可以正常ping通。
拓扑:
排查过程:对一个服务器IP(2409:8087:3410:10:100::1167)进行抓包,发现AD进行ping6健康检测时使用了一个VIP(2409:8087:3410:10:100::112a)作为源IP来发包,AD上收不到服务器的回包,导致节点池异常。
原因:当接口存在多IP时,AD会使用第一个IP发包,此时接口上第一个地址为真实接口IPV4地址(39.135.226.2),所以IPV4的节点池正常。但是因为接口上需要同时配置IPV4和IPV6地址,当真实接口IPV6地址(409:8087:3410:10:100::1102)不能放在第一位时,AD对IPV6节点池发起健康检测时不会选取第一个IPV6地址而是选取最大的IPV6地址作为源地址,又因为这个IPV6地址是服务器群上的一个loopback地址,所以导致服务器给AD回包异常。
解决方法: (1)把VIP从接口中删除,只留下接口真实IP
(2)做ARP代理,代理VIP
(3)核心上做静态路由,把去往VIP的流量下一跳指向AD接口真实IP
以上三步完成后所有节点池正常,原来ping异常的服务器IP也能正常ping通 |