HCNP Routing&Switching之IS-IS路由聚合和認證

1874發表於2021-09-17

  前文我們瞭解了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的配置

HCNP Routing&Switching之IS-IS路由聚合和認證
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 1
View Code

  R2的配置

HCNP Routing&Switching之IS-IS路由聚合和認證
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 1
View 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和明文認證模式一樣;

相關文章