组网及说明
R1与R2通过两条专线相连,建立ospf属于nssa区域。R2有到达R3网段儿的两条静态路由。R2通过引入静态路由的方式将路由传递给R1。
R1 G0/0 192.168.1.1/24 R2 G0/0 192.1681.2/24
R1 G0/1 192.168.2.1/24 R2 G0/1 192.168.2.2/24
问题描述
客户希望两条专线为主备关系,备线路将cost改大,修改cost为1000,但是R1上查看路由选择的线路为备线。
<rt>dis ip routing-table
Destination/Mask Proto Pre Cost NextHop Interface
10.100.1.0/24 O_NSSA1 150 1001 192.168.2.2 GE0/1
10.100.100.0/24 O_NSSA1 150 1001 192.168.2.2 GE0/1
过程分析
R1上查看lsdb的详细信息
<rt1>dis ospf lsdb nssa
OSPF Process 1 with Router ID 1.1.1.1
Area: 0.0.0.0
Link State Database
Area: 0.0.0.30
Link State Database
Type : NSSA
LS ID : 10.100.100.0
Adv Rtr : 192.168.2.2
LS age : 986
Len : 36
Options : O NP
Seq# : 80000002
Checksum : 0xf762
Net Mask : 255.255.255.0
TOS 0 Metric: 1
E Type : 1
Forwarding Address : 192.168.2.2
Tag : 1
Type : NSSA
LS ID : 10.100.1.0
Adv Rtr : 192.168.2.2
LS age : 986
Len : 36
Options : O NP
Seq# : 80000002
Checksum : 0x3d80
Net Mask : 255.255.255.0
TOS 0 Metric: 1
E Type : 1
Forwarding Address : 192.168.2.2
Tag : 1
<rt1>
从rt1的lsdb信息看fa地址为192.168.2.2为备链路下一跳地址。路由器会将FA地址作为路由下一跳并进行迭代。如果是直连地址则直接选为下一跳。R2上有两个直连地址均宣告到ospf中,R2会随机选择一个地址作为FA地址。
解决方法
在R2上将loopback地址宣告进ospf。如果loopback接口和物理口都使能了ospf,用loopback接口地址填充FA。那R1根据lsdp中的fa地址作为下一跳进行spf计算就会根据ospf的链路cost值进行选路了。