天天看點

HCNP Routing&Switching之路由控制-政策路由

HCNP Routing&Switching之路由控制-政策路由

政策路由和路由政策不同的是,路由政策是影響路由表來實作影響資料包的轉發,而政策路由它并不會影響路由表,它是通過政策來定義轉發封包的規則,即打破了傳統路由轉發資料包規則;預設情況下路由器是通過路由表來轉發資料,而定義了政策路由的路由器,它會優先根據政策路由來轉發資料,如果對應封包沒有被政策路由比對到,那麼對應封包會通過路由表來進行轉發;簡單講政策路由就是通過管理者定義規則來實作封包轉發,如果對應封包沒有被政策比對到,那麼它還是會根據路由表來進行轉發;

  前文我們了解了路由政策工具Route-Policy相關話題,回顧請參考https://www.cnblogs.com/qiuhom-1874/p/15322135.html;今天我們來聊一聊政策路由相關話題;

  政策路由(Policy Based Route 基于政策的路由,簡稱PBR);我們知道路由政策的核心就是通過過濾工具将要處理的路由過濾出來,然後使用政策或調用工具将過濾出來的路由做某些動作,比如拒絕或者允許;如果我們需要修改路由屬性,則使用政策工具Route-Policy,然後使用調用工具在某個動态路由程序下應用對應的路由政策;路由政策的作用是通過各種工具影響路由表,進而實作影響資料的轉發;我們今天說的政策路由和前邊的路由政策,它們都是可以實作影響資料的轉發,即政策路由和路由政策的最終目的是一樣的;政策路由和路由政策不同的是,路由政策是影響路由表來實作影響資料包的轉發,而政策路由它并不會影響路由表,它是通過政策來定義轉發封包的規則,即打破了傳統路由轉發資料包規則;預設情況下路由器是通過路由表來轉發資料,而定義了政策路由的路由器,它會優先根據政策路由來轉發資料,如果對應封包沒有被政策路由比對到,那麼對應封包會通過路由表來進行轉發;簡單講政策路由就是通過管理者定義規則來實作封包轉發,如果對應封包沒有被政策比對到,那麼它還是會根據路由表來進行轉發;

  政策路由應用場景

HCNP Routing&Switching之路由控制-政策路由

  提示:我們可以制定政策來實作學生網段通路外網走ISP1,教師網段通路外網通路ISP2;對應路由器的路由表對應網段的下一跳或出接口我們都可以不用管,直接根據自己的需求寫政策路由來描述對應流量的轉發過程;即我們可以根據制定政策路由實作資料包轉發根據對應資料包源位址選路(而路由表是通過目标位址,根本不看源位址);

HCNP Routing&Switching之路由控制-政策路由

  提示:政策路由除了可以實作通過源位址來選路以外,我們還可以通過不同應用來選路;比如上圖FTP的流量走s2/0,www流量走s2/1;對于路由政策我們根本無法做到根據不同應用流量來選路;

  路由政策和政策路由的差別

HCNP Routing&Switching之路由控制-政策路由

  提示:路由政策中,拒絕的将不會被通過,其原因是路由政策最終是影響路由表,然後對應資料包轉發已經是通過影響後的路由表,是以路由政策中明确拒絕的路由,對應路由表中也不會存在,沒有路由,很顯然資料包轉發也不能正常進行;但在路由政策中,拒絕的将做正常路由表轉發;因為政策路由它不會去修改路由表,是以沒有被政策路由比對上或者被拒絕的流量,都會再去根據路由表進行資料包轉發;路由政策和政策路由兩者最大的差別在于路由政策基于控制平面,為路由協定和路由表服務;而政策路由是基于轉發平面,為轉發政策服務;一個直接影響路由表,一個不影響路由表,隻影響滿足對應政策的資料轉發;

  政策路由規則

HCNP Routing&Switching之路由控制-政策路由

  提示:政策路由和路由政策規則文法都比較像,都有是以節點為機關,一個節點裡可以包含多個條件和apply 子句;都有名稱、比對模式和節點編号;節點與節點之間的關系是或關系;節點裡如果有多個條件或apply 子句,則它們的關系是與關系,即多個條件都必須同時滿足,同時對應apply子句也會同時都被執行;

  政策路由比對流程

HCNP Routing&Switching之路由控制-政策路由

  提示:政策路由的比對流程和路由政策的比對流程基本一樣,都是從上至下一次比對每個節點,如果被某一節點比對上以後,對應不再繼續向下比對,比對上的流量根據比對模式,如果比對模式是permit則執行apply子句;如果比對模式deny則按照普通封包根據路由表轉發;如果沒有被任何一個節點上的規則比對,對應封包也會按照普通封包根據路由表轉發;政策路由比對規則和路由政策比對規則唯一不同之處就是最後的預設規則,路由政策的預設規則是拒絕操作,而政策路由的預設規則是按照普通封包根據路由表轉發;即最後被政策路由拒絕或沒有被政策路由比對的封包最終都會當作普通封包根據路由表進行轉發處理;

  本地政策路由:本地政策路由是指經對本機下方的封包進行處理,對轉發到封包不起作用;

HCNP Routing&Switching之路由控制-政策路由

  提示:本地政策路由隻影響本機下發的封包,并不影響經過本機轉發的封包;

  接口政策路由:接口路由政策是指隻對轉發到封包起作用,對本地下發的封包不起作用;

HCNP Routing&Switching之路由控制-政策路由

  提示:轉發封包是指不是本地發送的封包,像這類封包隻會被接口政策路由比對,本地政策路由不會去比對;簡單講,本地政策路由隻能比對本地下發的封包,而接口政策路由隻能比對被轉發的封包;

  實驗:如下拓撲,配置ospf

HCNP Routing&Switching之路由控制-政策路由

  R1的配置

HCNP Routing&Switching之路由控制-政策路由
HCNP Routing&Switching之路由控制-政策路由

View Code

  R2的配置

HCNP Routing&Switching之路由控制-政策路由
HCNP Routing&Switching之路由控制-政策路由

  client1的配置

HCNP Routing&Switching之路由控制-政策路由

  server1的配置

HCNP Routing&Switching之路由控制-政策路由
HCNP Routing&Switching之路由控制-政策路由
HCNP Routing&Switching之路由控制-政策路由

  驗證:檢視R1的路由表

HCNP Routing&Switching之路由控制-政策路由

  提示:可以看到R1學習到了192.168.21.0/24網段路由,且出接口和下一跳都有兩個;從上面的資訊可以看到R1去往192.168.21.0/24網段的流量會被172.16.0.0和172.17.0.0這兩條鍊路負載分擔;

  驗證:在R1上用ping指令測試,看看R1去往192.168.21.1的流量走哪一條鍊路?

HCNP Routing&Switching之路由控制-政策路由

  提示:左邊是R1 的g0/0/0口抓包,右邊是g0/0/1口抓包;可以看到R1tracert 192.168.21.1走的是172.17.0.2下一跳;

  在R1上指定政策路由,讓ping 192.168.21.1的流量下一跳是172.16.0.2

  在R1上建立acl比對去往192.168.21.1的流量

HCNP Routing&Switching之路由控制-政策路由

  在R1上建立政策路由,調用acl 3000,執行修改下一跳位址為172.16.0.2

HCNP Routing&Switching之路由控制-政策路由

  在R1上調用政策路由,再次ping 192.168.21.1 ,抓包看看對應封包會走那邊?

HCNP Routing&Switching之路由控制-政策路由

  提示:可以看到調用了政策路由以後,對應R1ping R2的流量就走g0/0/0口了;因為下一跳為172.16.0.2和R1的g0/0/0口直連;

  驗證:用用戶端ping服務端,看看對應流量是否會走172.16.0.2?

HCNP Routing&Switching之路由控制-政策路由

  提示:可以看到從用戶端轉發的流量并不會受本地政策的影響,它還是走沒有做本地政策前172.17.0.2的鍊路;從上面實驗可以看到本地政策路由對轉發的流量是不生效的;

  接口政策路由配置

  接口政策路由是通過流政策技術實作;流政策是指流分類和流行為關聯;流政策形成了子產品化配置最大優點是可以節省配置,支援比對修改;流分類我們可以了解為流量比對分類工具,它主要将對應流量抓去出來,進行分類;流行為我們可以了解為對流量的處理動作的描述;比如打标簽、重定向、負載分擔、封包分片、流量限速、流量統計等等;流政策就是調用流分類和流行為關聯的調用用工具,即我們在那個接口的那個方向應用流分類和流行為;

  實驗:還是上述實驗拓撲,使用流分類過濾FTP流量、調整FTP流量鍊路或www流量鍊路

  驗證:用用戶端通路服務端的FTP和HTTP服務,抓包看看對應流量是怎麼走的

HCNP Routing&Switching之路由控制-政策路由

  提示:可以看到FTP的流量來回都是走的G0/0/0口到達伺服器,HTTP的流量來回都是走g0/0/1口;

  在R1上建立ACL比對FTP流量

HCNP Routing&Switching之路由控制-政策路由

  在R1上建立流分類,調用acl name FTP

HCNP Routing&Switching之路由控制-政策路由

  提示:建立流分類,需要給流分類取一個名稱,以示區分其他流分類;在流分類裡用if-match 語句調用acl;這裡acl可以寫acl編号,或者是acl名稱;

  在R1上建立流行為

HCNP Routing&Switching之路由控制-政策路由

  提示:以上指令表示建立一個名為redirect-g0/0/1的流行為,具體動作是重定向下一跳位址為172.17.0.2;

  在R1上建立流政策

HCNP Routing&Switching之路由控制-政策路由

  提示:建立流政策就是把流分類和流行為進行關聯的過程;

  在R1的g0/0/2接口調用流政策filter-FTP-to-g0/0/1

HCNP Routing&Switching之路由控制-政策路由

  提示:接口政策路由隻能在接口的入方向調用,因為出方向的流量是經過路由表選路以後才能比對到;

  驗證:檢視路由器流政策應用的接口

HCNP Routing&Switching之路由控制-政策路由

  提示:可以看到我們建立的流政策在R1的g0/0/1口應用着;

  驗證:現在用用戶端通路服務端FTP服務,看看對應流量是否是我們流政策定義的走呢?

HCNP Routing&Switching之路由控制-政策路由

  提示:可以看到現在用戶端通路服務端FTP服務,對應流量不再從g0/0/0口發出,而是根據我們定義的流政策從g0/0/1口發出;

作者:Linux-1874

出處:https://www.cnblogs.com/qiuhom-1874/

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利.

繼續閱讀