路由重分發這一技術在現網環境中是一種很常見的技術,所以其地位也非常重要。很多教程在在講路由重分發的時候,只講了重分發的操作卻沒有說現網環境中的一些“講究”。所以,很多學員,包括一些技術講師也不知道的是,路由重分發是一種風險較高的操作,在現網環境的解決方案里,路由重分發也是講究頗多。這一切又一切的“講究”和“規矩”,都為了一個目的:把網絡設計得更高效,且能進一步降低風險。
路由重分發有兩種情況:
1、靜態路由重分發到動態路由內;
2、兩個路由協議相互重分發。
1
靜態路由重分發進動態路由
靜態路由往動態路由內重分發風險較小,但也有講究,這個講究有兩點:
1、盡量不要往動態路由的區域內再寫靜態路由,如果實在要寫,就不能重分發進動態了
2、重分發靜態路由到動態路由內,必須用Prefix-List+Route-MAP/Route-Policy劃定范圍
第一個講究怎么來理解呢?那就先看一下,什么叫做“往動態路由的區域內再寫靜態路由”
“往動態路由的區域內再寫靜態路由”會有什么問題呢?咋一看確實是沒有什么問題吧。如果是Cisco的設備,靜態路由的AD值為1,OSPF的AD值為110,寫靜態路由無非就是把R1到R2的流量給干預了一下。如果是華為/H3C的設備,靜態路由Pref值為60,OSPF內部路由的Pref值為10,靜態路由的優先級比OSPF內部路由低,這條路由用默認方式寫了也不生效。
且不說華為/H3C你寫這條靜態路由,用默認的AD值寫了不生效,寫了也屬于多此一舉。但要是你用Cisco的設備來寫呢?或者你把這條靜態路由的優先級調高了呢?
當然,如果R1上沒有靜態路由重分發到OSPF內也罷了,但如果R1上有靜態路由重分發到OSPF的配置呢?
此時,斷開R1和R2的OSPF鄰居,你就會立刻發現,讓R2再訪問R4時,就出現了如下的路由環路
你或許可以和我抬杠說:你這是極端環境,R1和R2要OSPF斷開才會有這樣的環路。但是在一個規模稍大的網絡環境里面,你能保證說設備的互聯鏈路100%不斷嗎?如果一條鏈路斷開就出現環路這樣的通信故障,那你設置那些冗余設備和冗余鏈路就一點意義都沒有了。
這個和現網環境有一個原則沖突:即使是冗余鏈路斷開一條,也不能讓任何位置的互訪出現問題。這里R1和R2的鏈路斷開,就讓R1和R4的互訪出了問題,這就違背原則了。
第二個講究:靜態路由重分發到動態路由時,必須有Prefix-List+Route-map/Route-Policy做控制,劃定范圍。
這個怎么理解呢?在不違背第一個講究的前提下,你要把靜態路由重分發到OSPF內,就必須要把靜態路由先用Prefix-List包含或標記TAG,在重分發靜態路由到OSPF的時候,掛Route-MAP,我們來看一下,Cisco設備的操作命令:
有人就會說了:你明知道這個設備上的所有靜態路由都要往動態路由里面重分發,干嘛要用前綴列表或TAG這么多此一舉呢?
要讓我對這個問題拿話來說的話,我只能這么回答你。
你或許知道開車,或坐副駕駛的時候要系安全帶,但是你又嫌系安全帶麻煩,想著反正這條路上沒叔叔也沒監控就懶得系了。然后再這條路上跑了幾十遍來回都沒事,于是你得到一個結論:不系安全帶其實也沒事,別被叔叔抓到就可以了。但是不怕一萬就怕萬一啊!后面的話我不說了,免得你說我咒你!
現網環境也是一樣,就算這個設備的靜態路由都要重分發進OSPF,但哪天這個網絡里面有演練需求或者是測試需求,需要暫時寫兩條測試用的靜態路由呢?這個靜態路由只需要這臺設備能通即可,你這時候有重分發,又沒過濾,是不是就把這條測試用的路由散發進全網了呢?還有,如果這臺設備上有往動態路由內部寫的靜態路由呢?
2
動態路由雙向重分發時
下面再看 一下動態路由相互重分發的時候,需要注意哪些問題呢?
在當前的網絡環境中,尤其是,為了提升業務的實時性,都會考慮到設置冗余設備。一般作為邊界的設備也會使用兩個:
雙點雙向重分發其實是一種隱患很大的操作,如果直接在兩個ASBR上做雙向重分發的操作且不帶任何控制的話,次優路由的出現是難免的。怎么說呢?
先來看一下次優路由是怎么產生的,下圖是一個RIP和OSPF雙向重分發的情景:
在這個場景內,你把OSPF外部路由的AD值調整到180,讓OSPF外部路由的AD值大于RIP的120的AD值,這是不是就完全能解決問題了呢?
其實也不盡然,因為你“敞著”讓OSPF和RIP之間的路由相互重分發,則完全有條件讓一條路由重分發進OSPF后,再次重分發到RIP內。這種情況路由從在ASBR-1上由A重分發進B,再從ASBR-2上由B再重分發到A,在有BGP存在重分發的情景下100%會存在。所以,在雙點雙向重分發時,還需要防的就是上述情況。
防止的方式也不難,在OSPF和RIP相互重分發的時候,OSPF進RIP后,帶TAG 10,再讓RIP重分發進OSPF的時候拒絕帶TAG 10的路由;反過來,RIP進OSPF后,帶TAG 20,再讓OSPF重分發進RIP的時候拒絕帶TAG 20的路由。
落地到配置命令上,就是這樣(上面是思科系列,下面是華為/H3C):
對任何雙向重分發的路由都適用
在實際的網絡環境中,對于路由雙點雙向重分發時,也可能兼顧著路由聚合與分流。為了減少次優路徑的風險,在實際的雙點雙向重分發時,只有一個方向是直接重分發的,而另一個方向則是采用Null0的大段靜態路由進行重分發。
3
根據場景調整重分發方案
具體到現網的場景中,又該如何確定重分發的操作方案呢?
場景一:A、B路由都不是BGP,若A路由協議位于核心位置,B路由位于分支位置(B內有連續的子網),則A重分發進B可以直接重分發,記得把B路由的AD值調大。而A則重分發含有B的Null0靜態路由
落地到配置命令上,就使用如下的配置命令(命令展示Cisco的配置命令。設路由協議A是OSPF 100,路由協議B是OSPF 50)
場景二,若路由A為BGP,路由B為IGP,則可以把BGP重分發進IGP。對IGP所在域的路由聚合后寫成Null0的靜態路由。再使用network命令發布到BGP內。
場景三,若A、B路由都不是BGP,且A、B路由協議域內的地位相當(都是骨干融合),則看A、B路由域誰的路由更容易聚合。若路由A內的路由是連續子網,而B內較為離散。則考慮將A的AD值或Pref數值調大,直接重分發B進A。而B則重分發Null0路由。
如果說A、B內的路由都非常離散,怎么辦呢?那也只能用之前說的,A、B都直接重分發,但帶上TAG進行過濾,防止由A重分發進B的路由,被再次重分發進A內了。
審核編輯:劉清
-
RIP
+關注
關注
0文章
31瀏覽量
10769 -
OSPF
+關注
關注
0文章
80瀏覽量
14903 -
MAP
+關注
關注
0文章
49瀏覽量
15164 -
BGP
+關注
關注
0文章
84瀏覽量
15353
原文標題:實戰干貨-現網環境中,路由重分發的標準解決方案
文章出處:【微信號:浩道linux,微信公眾號:浩道linux】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論