本帖最后由 山东_化敬允 于 2023-12-5 17:12 编辑
一、项目背景: 三台AD设备组建高可用性集群,配置应用负载,虚拟服务IP与现网APP地址相同;
二、原始需求: 内网APP应用运行在一台服务器,考虑到业务处理和性能等方面问题,现在每个业务新增多台服务器分流,后端APP服务器地址更改为未占用IP。通过AD设备实现多个业务应用负载,并将虚拟服务IP、端口改为原APP对外IP、端口;
三、问题现象描述: 在AD设备线下完成所有配置,并禁用虚拟服务;但是上线后终端测试和AD抓包查看可以收到未启用虚拟服务的数据包(禁用虚拟服务,业务接口浮动IP未添加此虚拟服务IP);
四、问题排查: 1、终端使用ping命令测试虚拟服务IP,发现禁用虚拟服务状态下,icmp请求是有响应的;
2、终端查看ARP表,发现可以学习到禁用虚拟服务IP/MAC信息;
3、经确定发现配置虚拟服务后会在虚拟IP中自动生成刚才配置的IP,在7021版本后存在虚拟IP(ARP/ND:虚拟IP没有配置在网口的前提下,可以响应ARP/ND); 自动生成的虚拟IP会默认响应ARP/ND和icmp,会发送免费ARP报文,此IP路由会加入现网网络中,导致访问原APP业务的请求会转发到AD设备;
4、禁用虚拟IP中ARP/ND和icmp后进行测试发现访问不通; 禁用虚拟IP中ARP/ND和icmp;
终端ping测试;
终端刷新ARP表后查看发现没有此虚拟IP/MAC信息;
自7.0.21往后版本在配置虚拟服务时都会自动生成虚拟IP,虚拟IP中的ARP/ND和icmp默认是响应状态,即使虚拟服务在禁用状态下,此虚拟IP也会外发免费ARP报文,并响应icmp; 如果需要做预配置,不仅需要禁用虚拟服务,还需要在虚拟IP中禁用ARP/ND功能选项; |