Switch A、Switch B和Switch C连接了20.1.1.0/24和30.1.1.0/24两个网段,在交换机上配置静态路由以实现两个网段的互通,并配置路由备份以提高网络的可靠性。
Switch A作为20.1.1.0/24网段内主机的缺省网关,在Switch A上存在两条到达30.1.1.0/24网段的静态路由,下一跳分别为Switch B和Switch C。这两条静态路由形成备份,其中:
· 下一跳为Switch B的静态路由优先级高,作为主路由。该路由可达时,Switch A通过Switch B将报文转发到30.1.1.0/24网段。
· 下一跳为Switch C的静态路作为备份路由。
· 在Switch A上通过静态路由、Track与BFD联动,实时判断主路由是否可达。当主路由不可达时,BFD能够快速地检测到路由故障,使得备份路由生效,Switch A通过Switch C和Switch B将报文转发到30.1.1.0/24网段。
同样地,Switch B作为30.1.1.0/24网段内主机的缺省网关,在Switch B上存在两条到达20.1.1.0/24网段的静态路由,下一跳分别为Switch A和Switch C。这两条静态路由形成备份,其中:
· 下一跳为Switch A的静态路由优先级高,作为主路由。该路由可达时,Switch B通过Switch A将报文转发到20.1.1.0/24网段。
· 下一跳为Switch C的静态路作为备份路由。
· 在Switch B上通过静态路由、Track与BFD联动,实时判断主路由是否可达。当主路由不可达时,BFD能够快速地检测到路由故障,使得备份路由生效,Switch B通过Switch C和Switch A将报文转发到20.1.1.0/24网段。
图1-6 静态路由、Track与BFD联动配置组网图
(1) 按照图1-6创建VLAN,在VLAN中加入对应的端口,并配置各VLAN接口的IP地址,具体配置过程略。
(2) 配置Switch A
# 配置到达30.1.1.0/24网段的静态路由:下一跳地址为10.2.1.2,优先级为缺省值60,该路由与Track项1关联。
<SwitchA> system-view
[SwitchA] ip route-static 30.1.1.0 24 10.2.1.2 track 1
# 配置到达30.1.1.0/24网段的静态路由:下一跳地址为10.3.1.3,优先级为80。
[SwitchA] ip route-static 30.1.1.0 24 10.3.1.3 preference 80
# 配置BFD echo报文的源地址为10.10.10.10。
[SwitchA] bfd echo-source-ip 10.10.10.10
# 创建和BFD会话关联的Track项1,检测Switch A是否可以与静态路由的下一跳Switch B互通。
[SwitchA] track 1 bfd echo interface vlan-interface 2 remote ip 10.2.1.2 local ip 10.2.1.1
(3) 配置Switch B
# 配置到达20.1.1.0/24网段的静态路由:下一跳地址为10.2.1.1,优先级为缺省值60,该路由与Track项1关联。
<SwitchB> system-view
[SwitchB] ip route-static 20.1.1.0 24 10.2.1.1 track 1
# 配置到达20.1.1.0/24网段的静态路由:下一跳地址为10.4.1.3,优先级为80。
[SwitchB] ip route-static 20.1.1.0 24 10.4.1.3 preference 80
# 配置BFD echo报文的源地址为1.1.1.1。
[SwitchB] bfd echo-source-ip 1.1.1.1
# 创建和BFD会话关联的Track项1,检测Switch B是否可以与静态路由的下一跳Switch A互通。
[SwitchB] track 1 bfd echo interface vlan-interface 2 remote ip 10.2.1.1 local ip 10.2.1.2
(4) 配置Switch C
# 配置到达30.1.1.0/24网段的静态路由:下一跳地址为10.4.1.2。
<SwitchC> system-view
[SwitchC] ip route-static 30.1.1.0 24 10.4.1.2
# 配置到达20.1.1.0/24网段的静态路由:下一跳地址为10.3.1.1。
[SwitchB] ip route-static 20.1.1.0 24 10.3.1.1
(5) 验证配置结果
# 显示Switch A上Track项的信息。
[SwitchA] display track all
Track ID: 1
Status: Positive
Duration: 0 days 0 hours 0 minutes 32 seconds
Notification delay: Positive 0, Negative 0 (in seconds)
Reference object:
BFD Session:
Packet type: Echo
Interface : Vlan-interface2
Remote IP : 10.2.1.2
Local IP : 10.2.1.1
# 显示Switch A的路由表。
[SwitchA] display ip routing-table
Routing Tables: Public
Destinations : 9 Routes : 9
Destination/Mask Proto Pre Cost NextHop Interface
10.2.1.0/24 Direct 0 0 10.2.1.1 Vlan2
10.2.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.3.1.0/24 Direct 0 0 10.3.1.1 Vlan3
10.3.1.1/32 Direct 0 0 127.0.0.1 InLoop0
20.1.1.0/24 Direct 0 0 20.1.1.1 Vlan5
20.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
30.1.1.0/24 Static 60 0 10.2.1.2 Vlan2
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
以上显示信息表示,BFD检测的结果为下一跳地址10.2.1.2可达(Track项状态为Positive),主路由生效,Switch A通过Switch B将报文转发到30.1.1.0/24网段。
# 在Switch B上删除VLAN接口2的IP地址。
<SwitchB> system-view
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] undo ip address
# 显示Switch A上Track项的信息。
[SwitchA] display track all
Track ID: 1
Status: Negative
Duration: 0 days 0 hours 0 minutes 32 seconds
Notification delay: Positive 0, Negative 0 (in seconds)
Reference object:
BFD Session:
Packet type: Echo
Interface : Vlan-interface2
Remote IP : 10.2.1.2
Local IP : 10.2.1.1
# 显示Switch A的路由表。
[SwitchA] display ip routing-table
Routing Tables: Public
Destinations : 9 Routes : 9
Destination/Mask Proto Pre Cost NextHop Interface
10.2.1.0/24 Direct 0 0 10.2.1.1 Vlan2
10.2.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.3.1.0/24 Direct 0 0 10.3.1.1 Vlan3
10.3.1.1/32 Direct 0 0 127.0.0.1 InLoop0
20.1.1.0/24 Direct 0 0 20.1.1.1 Vlan5
20.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
30.1.1.0/24 Static 80 0 10.3.1.3 Vlan3
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
以上显示信息表示,BFD检测的结果为下一跳地址10.2.1.2不可达(Track项状态为Negative),备份路由生效,Switch A通过Switch C和Switch B将报文转发到30.1.1.0/24网段。
# 主路由出现故障后,20.1.1.0/24网段内的主机仍然可以与30.1.1.0/24网段内的主机通信。
[SwitchA] ping -a 20.1.1.1 30.1.1.1
PING 30.1.1.1: 56 data bytes, press CTRL_C to break
Reply from 30.1.1.1: bytes=56 Sequence=1 ttl=254 time=2 ms
Reply from 30.1.1.1: bytes=56 Sequence=2 ttl=254 time=1 ms
Reply from 30.1.1.1: bytes=56 Sequence=3 ttl=254 time=1 ms
Reply from 30.1.1.1: bytes=56 Sequence=4 ttl=254 time=2 ms
Reply from 30.1.1.1: bytes=56 Sequence=5 ttl=254 time=1 ms
--- 30.1.1.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 1/1/2 ms
# Switch B上的显示信息与Switch A类似。主路由出现故障后,30.1.1.0/24网段内的主机仍然可以与20.1.1.0/24网段内的主机通信。
[SwitchB] ping -a 30.1.1.1 20.1.1.1
PING 20.1.1.1: 56 data bytes, press CTRL_C to break
Reply from 20.1.1.1: bytes=56 Sequence=1 ttl=254 time=2 ms
Reply from 20.1.1.1: bytes=56 Sequence=2 ttl=254 time=1 ms
Reply from 20.1.1.1: bytes=56 Sequence=3 ttl=254 time=1 ms
Reply from 20.1.1.1: bytes=56 Sequence=4 ttl=254 time=1 ms
Reply from 20.1.1.1: bytes=56 Sequence=5 ttl=254 time=1 ms
--- 20.1.1.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 1/1/2 ms