前文我們了解了IS-IS路由滲透和開銷相關話題,回顧請參考https://www.cnblogs.com/qiuhom-1874/p/15302382.html;今天我們來聊一聊IS-IS路由聚合和認證相關話題;
IS-IS路由聚合(匯總)
路由聚合又稱路由匯總,從字面理解就是把多個明細路由聚合(匯總)為一條路由;我們知道在ospf里路由匯總是優化LSDB、路由表的一種手段;在ospf中路由的匯聚只能在abr或asbr上進行匯總;而對于IS-IS來講,匯總路由是只可以在本地生成LSP的路由器上做,主要作用是優化路由表;
實驗:如下拓撲,配置IS-IS

R1的配置
sys sys R1 int g0/0/0 ip add 12.0.0.1 24 isis 1 net 1212.0000.0000.0001.00 is-le level-1 int g0/0/0 isis en 1View Code
R2的配置
sys sys R2 int g0/0/0 ip add 12.0.0.2 24 int lo 1 ip add 172.16.0.2 24 int lo 2 ip add 172.16.1.2 24 int lo 3 ip add 172.16.2.2 24 int lo 4 ip add 172.16.3.2 24 isis 1 net 1212.0000.0000.0002.00 is-le level-1 int g0/0/0 isis en 1 int lo 1 isis en 1 int lo 2 isis en 1 int lo 3 isis en 1 int lo 4 isis en 1View Code
驗證:在R1上查看對應路由表,看看R1是否能夠學習到達R2lo介面的路由

提示:可以看到R1能夠通過isis正常學習到R2lo介面路由;
在R2上將L1的路由匯總

驗證:在R1上查看isis路由,看看是否能夠學習到一潭訓總的路由?

提示:可以看到在R1上對應原來的明細路由沒有了,學習到對應匯總路由;
IS-IS匯總路由環路的產生
默認情況下,匯總后的路由是包含對應明細路由,所以對應路由器學習到匯總路由,和某明細路由通信是完全沒有問題;但是,匯總路由中某一條明細路由掛掉后,匯總路由還是存在的,它不會自動洗掉,只有當對應匯總路由包含的明細路由都宕掉以后,對應匯總路由才會被洗掉;這樣一來對于學習到匯總路由的一方來說,它要去訪問對方的某明細路由,在正常情況下如果對應明細路由掛掉,對應通信會丟包,即環路不會產生;但是如果匯總路由的路由器有一條預設路由指向學習匯總路由的路由器,此時就會產生環路;
驗證:洗掉R2的lo1介面,在R1上查看對應路由表,看看匯總路由是否會被洗掉?

在R1上查看isis 路由表看看對應匯總路由是否被洗掉?

提示:可以看到但R2的lo1介面掛掉以后,對應R1上的匯總路由不會受到影響;
驗證:現在在R1上pingR2的lo1介面地址,看看是否能夠ping通?是否有環路?

提示:可以看到現在R1是ping不通R2的lo1介面,對應也沒有環路;
驗證:在R2上新建一條預設路由,下一跳指向R1,再次在R1上ping或tracert R2的lo介面地址,看看有什么變化?

再次在R1上ping R2 的lo1介面地址,看看有什么變化?

提示:可以看到現在R1pingR2的lo1介面地址是ping不通的,但是R1pingR2的lo1介面地址是產生了環路;
NULL0口路由
null0口是路由器上的一個特殊邏輯介面,該介面不轉發任何資料,類似liunx里的/dev/null設備,俗稱黑洞介面;任何資料發送給null0介面都會被丟棄;為了防止IS-IS路由匯聚以后產生環路,在IS-IS匯聚路由時我們可以指定是否生成一條NULL0介面路由;其實不光是IS-IS路由匯聚存在這種問題,ospf、RIP、bgp都存在這種情況;所以我們在匯聚路由時應該考慮可能產生環路的情況;
IS-IS路由匯聚生成NULL0口路由

提示:IS-IS生成null0介面路由,只需在匯聚路由配置后面加上generate_null0_route這個引數,對應IS-IS匯聚路由時,會自動在路由表產生一潭訓聚后的路由其出介面指向null0介面的路由;
驗證:在R2上查看路由表,看看對應null0路由是否生成?

提示:可以看到此時R2的路由表中自動生成了一潭訓聚后的路由,其出介面指向了NULL0介面;
驗證:現在在R1上tracert R2的lo1介面地址,看看是否還會有環路呢?

提示:現在可以看到R1tracert R2 的lo1介面地址,對應環路就沒有了;其主要原因R2有一條去往172.16.0.0/22的路由,其出介面指向了NULL0介面,破環路原R2在lo1介面掛掉以后,對應明細路由消失以后走默認路由的規則;
IS-IS路由匯聚后開銷取值
IS-IS路由聚合,對應開銷取所有被聚合路由中最小值;
驗證:修改R2的lo2、3、4介面開銷為5、10、15,看看對應匯總路由的開銷是多少?

在R1上查看對應匯總路由的開銷

提示:可以看到對應匯總路由的開銷是15,我們知道IS-IS介面默認開銷是10,而R1學習到的匯總開銷為15,根據上述拓撲我們可以知道,在R2上發送的匯總路由開銷為5(15-10,10是R1接收口的介面開銷);從上述實驗可以看到對應匯總路由的開銷是取被匯總的明細路由中開銷最小的路由開銷;
IS-IS認證
IS-IS認證有三種認證方式,分別是介面認證、區域認證和路由域認證;認證的模式也有三種,分別是明文認證、md5認證和密鑰鏈認證;
介面認證配置

提示:配置認證會導致鄰居關系down掉;配置介面認證我們只需要在對應介面下選擇對應的認證模式即可;這個和ospf一樣,兩邊認證密碼和模式必須一樣,對應鄰居關系才能正常建立;這種認證方式生效范圍是單個介面,L1和L2的報文都生效;
區域認證配置

提示:配置區域認證,我們需要在對應isis行程下使用如上命令進行配置;區域認證只對L1的報文生效,對L2無效;
路由域認證配置

提示:路由域認證也是在對應isis行程下進行配置,但路由域認證只對L2報文有效,對L1無效;
驗證:在R1上洗掉介面認證和區域認證,看看是否能夠和R2正常建立鄰居?

提示:可以看到在R1上只配置路由域認證,R2不配置認證,對應鄰居關系也能建立(前提是R1和R2都是L1,或者兩者建立的是L1的鄰居);這說明路由域認證對L1的報文不生效;
驗證:更改R1和R2的路由器型別為L2,修改R1的認證方式為區域認證,看看R1是否能夠和R2建立鄰居?
更改R2型別為L2

更改R1為L2,并在R1上洗掉路由域認證,配置區域認證

查看R1和R2是否建立鄰居?

提示:可以看到R1配置了區域認證,R2并沒有配置任何認證,對應鄰居是可以正常建立(前提是R1和R2的路由器型別為L2,或者他們建立的是L2的鄰居);其原因是區域認證只對L1報文生效,對L2報文無效;
Keychain認證模式
Keychain認證模式和md5和明文認證模式都不一樣,keychain翻譯過來是密鑰鏈;它允許一個密鑰鏈上配置多個密鑰,在不同的時間段發送和接收不同的密鑰進行認證;
Keychain密鑰鏈新建

提示:keychain支持定義發送和接收時間,所以在新建密鑰鏈時,我們需要指定對應時間模式是絕對模式還是相對模式,所謂絕對模式是明確的年月日時分,相對模式是描述經過多長時間;定義好密鑰鏈模式以后,在對應模式里我們可以配置不同的key id和密碼;上述命令表示新建一個名為test、模式為絕對模式的密鑰鏈,其中key id為1的密鑰是admin.com,key id為2 的密鑰為admin23.com;
絕對模式下配置密鑰鏈發送時間和接收時間

新建相對模式密鑰鏈,并配置密鑰和時間

提示:上述命令表示新建一個名為test1,模式為相對模式的密鑰鏈;其中id為1的密鑰為admin123.com,id為2的密鑰為123.com;對于密鑰2來說,它的發送時間是每周的周一、周五、周日;接收時間為每周一至周四;
IS-IS呼叫keychain密鑰鏈

提示:呼叫密鑰鏈可以在介面、區域和路由域,和配置MD5和明文認證模式一樣;
作者:Linux-1874 出處:https://www.cnblogs.com/qiuhom-1874/ 本文著作權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利.轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/300908.html
標籤:其他
