1, 問題拓撲:
2, 環境描述:
R1,R2,R3作爲OSPF的NSSA區域,建立OSPF鄰居.
R2作爲NSSA區域的ABR, 將外部路由4.4.4.0 重分發到OSPF NSSA area 1裏面去。讓內部R1和R3都可以學習到到外部4.4.4.0的路由通過OSPF.
路由器2的配置爲:
router ospf 1
log-adjacency-changes
area 1 nssa no-summary
redistribute connected metric-type 1 subnets
network 192.168.1.0 0.0.0.255 area 1
network 192.168.100.0 0.0.0.255 area 1
3, 問題描述:
R3路由器,在R3上面show ip route 會發現,到達4.4.4.0網段有兩個下一跳:192.168.1.1和192.168.2.2,竟然變成負載均衡了. 而客戶不想要負載均衡的方式.
下面是在R3上面show 的到4.4.4.0的路由。
而客戶也不能理解爲什麼R3上面到4.4.4.0爲什麼會變成負載均衡, 客戶理解應該是:
R3: 到4.4.4.0 , 只有一條路由,下一跳是192.168.1.1.
4,問題原因以及原理:
問題出在R2配置上面. 首先,在R2這個ABR上面。
具體原理如下:
對於R3來說,NSSA區域計算Metric的特性如下:
5, 要實現非負載均衡的解決方案是將ABR R2上面的loopback接口network進OSPF區域.
即可解決這個問題.最後實現的效果就是R3到4.4.4.0這個外部路由的路由條目只有一條,並且是最優秀路由,原理如下:
R2上面配置修改:
router ospf 1
log-adjacency-changes
area 1 nssa no-summary
redistribute connected metric-type 1 subnets
network 2.2.2.2 0.0.0.0 area 1
network 192.168.1.0 0.0.0.255 area 1
network 192.168.100.0 0.0.0.255 area 1
!
最後在R3上面,show ip route 4.4.4.0可以發現,只有一條路由到4.4.4.0,並且是最優路由,
另外一條因爲metric大,根本就不會裝到路由表中去:
圖中可以看到,R3上面show ip route 4.4.4.0的metric是22.
實際上就是下面圖中20+2的結果:
那麼看看另外一條路徑的metric到底是多少?
這裏可以看到是23.
20+(R3到R1的metric=1)+(R1到R2的metric=1)+(R2 loopback本身還有一跳1)=23.
最終達到了不進行負載均衡的目的.