1、一般情况下,ECMP常用的常见是,针对很远的目的地址,下一跳分别是路由器的不同出端口,而路由器的不同端口是不同网段的,也就是说,下一跳是不同的网段地址。
但是,在连接到终端服务器时,常常会采用多个服务器组集群,然后对外提供VIP实现高可靠性,不过,此时这些服务器是相同网段,也就是说从路由器的下一跳端口上需要配置多个相同网段的IP地址。
组网图如下:
2、组网图说明,LSW2和LSW3模拟的是两台服务器,这两台服务器配置了相同的VIP(3.0.0.1),不过物理ip是不同的,一个是2.0.0.10, 一个是2.0.0.11,
通过LSW1这台交换机,连接R1和这两台服务器,在R1上配置了等价路由,下一跳分别是这两台服务器的物理ip.
R1设备配置:
#
ip route-static 3.0.0.1 255.255.255.255 2.0.0.11
ip route-static 3.0.0.1 255.255.255.255 2.0.0.10
#
3、正常情况下,从R1上发起ping 3.0.0.1的操作,可以ping通,经过抓包发现,此时R1只会针对第一条静态路由,尝试到达3.0.0.1, 即使这两个下一跳都能到达,也只会用第一条进行ping包操作。
4、如果第一条路径发生故障,无法通过第一个下一跳进行到达,路由器也不会尝试第二条可达的路径。
为了解决这个问题,需要配置NQA和静态路由的联动,把NQA的结果作为静态路由选路的条件,配置如下,通过下面的配置后,只要有任意一条路可达,路由都是通的。
#
ip route-static 3.0.0.1 255.255.255.255 2.0.0.11 track nqa admin server2
ip route-static 3.0.0.1 255.255.255.255 2.0.0.10 track nqa admin server1
#
nqa test-instance admin server1
test-type icmp
destination-address ipv4 2.0.0.10
frequency 10
interval seconds 3
timeout 2
probe-count 2
start now
nqa test-instance admin server2
test-type icmp
destination-address ipv4 2.0.0.11
frequency 10
interval seconds 3
timeout 2
probe-count 2
start now
#