配置公网IPv6静态路由FRR示例
通过配置公网IPv6静态路由FRR,可以快速检查链路故障。
配置思路
采用如下的思路配置公网IPv6静态路由FRR:
在DeviceD上配置下一跳分别为DeviceA和DeviceB的两条IPv6静态路由。
在DeviceD上为链路A配置较高的Preference值,使系统优选链路A。
在DeviceD上使能IPv6静态路由FRR功能,查看备份出接口和备份下一跳的信息。
配置静态BFD for IPv6静态路由,已达到快速检测故障的目的。
为了达到快速检测故障的目的,建议配置动态BFD for IPv6静态路由或配置静态BFD for IPv6静态路由。在现网中比较常用的是静态BFD for IPv6静态路由,因此本示例采用静态BFD for IPv6静态路由。
IPv6静态路由FRR去使能后,查看备份出接口和备份下一跳的信息。
操作步骤
- 配置各接口的IP地址,请参见配置文件
- 配置IPv6静态路由
# 在DeviceA上配置IPv6静态路由。
[~DeviceA] ipv6 route-static 2001:db8:5:: 64 GigabitEthernet0/1/2 2001:db8:1::1
[*DeviceA] ipv6 route-static 2001:db8:6:: 64 GigabitEthernet0/2/3 2001:db8:3::2
[*DeviceA] commit
# 在DeviceB上配置IPv6静态路由。
[~DeviceB] ipv6 route-static 2001:db8:5:: 64 GigabitEthernet0/1/1 2001:db8:2::1
[*DeviceB] ipv6 route-static 2001:db8:6:: 64 GigabitEthernet0/3/3 2001:db8:4::2
[*DeviceB] commit
# 在DeviceC上配置IPv6静态路由。
[~DeviceC] ipv6 route-static 2001:db8:5:: 64 GigabitEthernet0/2/3 2001:db8:3::1
[*DeviceC] ipv6 route-static 2001:db8:5:: 64 GigabitEthernet0/3/3 2001:db8:4::1
[*DeviceC] ipv6 route-static 2001:db8:1:: 64 GigabitEthernet0/2/3 2001:db8:3::1
[*DeviceC] ipv6 route-static 2001:db8:2:: 64 GigabitEthernet0/3/3 2001:db8:4::1
[*DeviceC] commit
# 在DeviceD上配置IPv6静态路由。
[~DeviceD] ipv6 route-static 2001:db8:6:: 64 GigabitEthernet0/1/2 2001:db8:1::2
[*DeviceD] ipv6 route-static 2001:db8:6:: 64 GigabitEthernet0/1/1 2001:db8:2::2
[*DeviceD] ipv6 route-static 2001:db8:3:: 64 GigabitEthernet0/1/2 2001:db8:1::2
[*DeviceD] ipv6 route-static 2001:db8:4:: 64 GigabitEthernet0/1/1 2001:db8:2::2
[*DeviceD] commit
[~DeviceD] quit
# 在DeviceD上查看IP路由表,两条IPv6静态路由形成负载分担。
<DeviceD> display ipv6 routing-table
Routing Table : _public_ Destinations : 13 Routes : 13 Destination : ::1 PrefixLength : 128 NextHop : ::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : InLoopBack0 Flags : D Destination : ::FFFF:127.0.0.0 PrefixLength : 104 NextHop : ::FFFF:127.0.0.1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : InLoopBack0 Flags : D Destination : ::FFFF:127.0.0.1 PrefixLength : 128 NextHop : ::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : InLoopBack0 Flags : D Destination : 2001:db8:1:: PrefixLength : 64 NextHop : 2001:db8:1::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/2 Flags : D Destination : 2001:db8:1::1 PrefixLength : 128 NextHop : ::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/2 Flags : D Destination : 2001:DB8:2:: PrefixLength : 64 NextHop : 2001:DB8:2::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/1 Flags : D Destination : 2001:DB8:2::1 PrefixLength : 128 NextHop : ::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/1 Flags : D Destination : 2001:DB8:3:: PrefixLength : 64 NextHop : 2001:DB8:1::2 Preference : 60 Cost : 0 Protocol : Static RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/2 Flags : D Destination : 2001:DB8:4:: PrefixLength : 64 NextHop : 2001:DB8:2::2 Preference : 60 Cost : 0 Protocol : Static RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/1 Flags : D Destination : 2001:db8:5:: PrefixLength : 64 NextHop : 2001:db8:5::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/3 Flags : D Destination : 2001:db8:5::1 PrefixLength : 128 NextHop : ::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/3 Flags : D Destination : 2001:db8:6:: PrefixLength : 64 NextHop : 2001:db8:2::2 Preference : 60 Cost : 0 Protocol : Static RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/1 Flags : D Destination : 2001:db8:6:: PrefixLength : 64 NextHop : 2001:db8:1::2 Preference : 60 Cost : 0 Protocol : Static RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/2 Flags : D Destination : FE80:: PrefixLength : 10 NextHop : :: Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : NULL0 Flags : D
- 修改IPv6静态路由的优先级
# 在DeviceD上修改IPv6静态路由的优先级。
<DeviceD> system-view
[~DeviceD] ipv6 route-static 2001:db8:6:: 64 GigabitEthernet0/1/2 2001:db8:1::2 preference 40
[*DeviceD] commit
[*DeviceD] quit
# 在DeviceD上查看路由表,可以看到IPv6静态路由的优先级被修改。
<DeviceD> display ipv6 routing-table
Routing Table : _public_ Destinations : 13 Routes : 13 Destination : ::1 PrefixLength : 128 NextHop : ::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : InLoopBack0 Flags : D Destination : ::FFFF:127.0.0.0 PrefixLength : 104 NextHop : ::FFFF:127.0.0.1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : InLoopBack0 Flags : D Destination : ::FFFF:127.0.0.1 PrefixLength : 128 NextHop : ::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : InLoopBack0 Flags : D Destination : 2001:db8:1:: PrefixLength : 64 NextHop : 2001:db8:1::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/2 Flags : D Destination : 2001:db8:1::1 PrefixLength : 128 NextHop : ::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/2 Flags : D Destination : 2001:DB8:2:: PrefixLength : 64 NextHop : 2001:DB8:2::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/1 Flags : D Destination : 2001:DB8:2::1 PrefixLength : 128 NextHop : ::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/1 Flags : D Destination : 2001:DB8:3:: PrefixLength : 64 NextHop : 2001:DB8:1::2 Preference : 60 Cost : 0 Protocol : Static RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/2 Flags : D Destination : 2001:DB8:4:: PrefixLength : 64 NextHop : 2001:DB8:2::2 Preference : 60 Cost : 0 Protocol : Static RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/1 Flags : D Destination : 2001:db8:5:: PrefixLength : 64 NextHop : 2001:db8:5::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/3 Flags : D Destination : 2001:db8:5::1 PrefixLength : 128 NextHop : ::1 Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/3 Flags : D Destination : 2001:db8:6:: PrefixLength : 64 NextHop : 2001:db8:1::2 Preference : 40 Cost : 0 Protocol : Static RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/2 Flags : D Destination : FE80:: PrefixLength : 10 NextHop : :: Preference : 0 Cost : 0 Protocol : Direct RelayNextHop : :: TunnelID : 0x0 Interface : NULL0 Flags : D
- 使能IPv6静态路由FRR功能
# 在DeviceD上使能静态路由FRR功能。
<DeviceD> system-view
[~DeviceD] ipv6 route-static frr
[*DeviceD] commit
[~DeviceD] quit
# 在DeviceD上查看备份出接口和备份下一跳信息。
<DeviceD> display ipv6 routing-table 2001:db8:6:: verbose
Routing Table : _public_ Summary Count : 1 Destination : 2001:db8:6:: PrefixLength : 64 NextHop : 2001:db8:1::2 Preference : 40 Neighbour : :: ProcessID : 0 Label : NULL Protocol : Static State : Active Adv Cost : 0 Entry ID : 0 EntryFlags : 0x00000000 Reference Cnt: 0 Tag : 0 Priority : medium Age : 28sec IndirectID : 0xFC000105 RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/2 Flags : D BkNextHop : 2001:db8:2::2 BkInterface : GigabitEthernet0/1/1 BkLabel : NULL BkTunnelID : 0x0 BkPETunnelID : 0x0 BkIndirectID : 0xFC0001
- 配置静态BFD for IPv6静态路由
配置BFD会话。
# 在DeviceD上配置与DeviceC之间的BFD会话。
<DeviceD> system-view
[~DeviceD] bfd
[*DeviceD-bfd] quit
[*DeviceD] bfd aa bind peer-ipv6 2001:db8:3::2 source-ipv6 2001:db8:1::1
[*DeviceD-bfd-session-aa] discriminator local 10
[*DeviceD-bfd-session-aa] discriminator remote 20
[*DeviceD-bfd-session-aa] commit
[~DeviceD-bfd-session-aa] quit
# 在DeviceC上配置与DeviceD之间的BFD会话。
<DeviceC> system-view
[~DeviceC] bfd
[*DeviceC-bfd] quit
[*DeviceC] bfd ab bind peer-ipv6 2001:db8:1::1 source-ipv6 2001:db8:3::2
[*DeviceC-bfd-session-ab] discriminator local 20
[*DeviceC-bfd-session-ab] discriminator remote 10
[*DeviceC-bfd-session-ab] commit
[~DeviceC-bfd-session-ab] quit
配置静态缺省路由并绑定BFD会话。
# 在DeviceD上配置静态路由绑定BFD会话aa。
[~DeviceD] ipv6 route-static 2001:db8:6:: 64 GigabitEthernet0/1/2 2001:db8:1::2 preference 40 track bfd-session aa
- 当链路A故障时,转发路径快速切换到链路B上
[~DeviceD] interface GigabitEthernet0/1/2
[~DeviceD-GigabitEthernet0/1/2] shutdown
[~DeviceD-GigabitEthernet0/1/2] commit
[~DeviceD-GigabitEthernet0/1/2] quit
[~DeviceD] quit
# 在DeviceD上,查看到达2001:db8:6::/64的路由信息。
<DeviceD> display ipv6 routing-table 2001:db8:6:: verbose
Routing Table : _public_ Summary Count : 1 Destination : 2001:db8:6:: PrefixLength : 64 NextHop : 2001:db8:2::2 Preference : 60 Neighbour : :: ProcessID : 0 Label : NULL Protocol : Static State : Active Adv Cost : 0 Entry ID : 0 EntryFlags : 0x00000000 Reference Cnt: 0 Tag : 0 Priority : medium Age : 43sec IndirectID : 0xFC000106 RelayNextHop : :: TunnelID : 0x0 Interface : GigabitEthernet0/1/1 Flags : D
配置文件
DeviceD的配置文件
# sysname DeviceD # bfd # interface GigabitEthernet0/1/1 undo shutdown ipv6 enable ipv6 address 2001:db8:2::1/64 # interface GigabitEthernet0/1/2 undo shutdown ipv6 enable ipv6 address 2001:db8:1::1/64 # interface GigabitEthernet0/1/3 undo shutdown ipv6 enable ipv6 address 2001:db8:5::1/64 # bfd aa bind peer-ipv6 2001:db8:3::2 source-ipv6 2001:db8:1::1 discriminator local 10 discriminator remote 20 # ipv6 route-static frr ipv6 route-static 2001:db8:6:: 64 GigabitEthernet0/1/2 2001:db8:1::2 preference 40 track bfd-session aa ipv6 route-static 2001:db8:6:: 64 GigabitEthernet0/1/1 2001:db8:2::2 ipv6 route-static 2001:db8:3:: 64 GigabitEthernet0/1/2 2001:db8:1::2 ipv6 route-static 2001:db8:4:: 64 GigabitEthernet0/1/1 2001:db8:2::2 # return
DeviceA的配置文件
# sysname DeviceA # interface GigabitEthernet0/1/2 undo shutdown ipv6 enable ipv6 address 2001:db8:1::2/64 # interface GigabitEthernet0/2/3 undo shutdown ipv6 enable ipv6 address 2001:db8:3::1/64 # ipv6 route-static 2001:db8:5:: 64 GigabitEthernet0/1/2 2001:db8:1::1 ipv6 route-static 2001:db8:6:: 64 GigabitEthernet0/2/3 2001:db8:3::2 # return
DeviceB的配置文件
# sysname DeviceB # interface GigabitEthernet0/1/1 undo shutdown ipv6 enable ipv6 address 2001:db8:2::2/64 # interface GigabitEthernet0/3/3 undo shutdown ipv6 enable ipv6 address 2001:db8:4::1/64 # ipv6 route-static 2001:db8:5:: 64 GigabitEthernet0/1/1 2001:db8:2::1 ipv6 route-static 2001:db8:6:: 64 GigabitEthernet0/3/3 2001:db8:4::2 # return
DeviceC的配置文件
# sysname DeviceC # bfd # interface GigabitEthernet0/1/2 undo shutdown ipv6 enable ipv6 address 2001:db8:6::1/64 # interface GigabitEthernet0/2/3 undo shutdown ipv6 enable ipv6 address 2001:db8:3::2/64 # interface GigabitEthernet0/3/3 undo shutdown ipv6 enable ipv6 address 2001:db8:4::2/64 # bfd ab bind peer-ipv6 2001:db8:1::1 source-ipv6 2001:db8:3::2 discriminator local 20 discriminator remote 10 # ipv6 route-static 2001:db8:5:: 64 GigabitEthernet0/2/3 2001:db8:3::1 ipv6 route-static 2001:db8:5:: 64 GigabitEthernet0/3/3 2001:db8:4::1 ipv6 route-static 2001:db8:1:: 64 GigabitEthernet0/2/3 2001:db8:3::1 ipv6 route-static 2001:db8:2:: 64 GigabitEthernet0/3/3 2001:db8:4::1 # return