華爲路由與交換--路由控制複習筆記

 在企業網絡的設備通信中,常面臨一些非法流量訪問的安全性及流量路徑不優等問題,故爲保證數據訪問的安全性、提高鏈路帶寬利用率,就需要對網絡中的流量行爲進行控制,如控制網絡流量可達性、調整網絡流量路徑等。而當面對更加複雜、精細的流量控制需求時,就需要靈活地使用一些工具來實現,本次博客主要介紹一些有關流量控制的常用工具及其使用場景

1.控制網絡流量可達性。 

爲保證網絡安全性,客戶常提出一些部門之間不可互訪的需求,如下圖所示:市場部不可以訪問財務部和研發部,公司總部不能訪問研發部

 

 2.調整網絡流量路徑。

如下圖所示,根據OSPF協議計算生成的路由,市場部和財務部訪問公司總部都選擇通過一條開銷最小的路徑,即使該路徑發生擁塞也如此,而另外一條路徑的鏈路帶寬則一直處於空閒狀態,這樣就造成了帶寬浪費的問題。

解決:控制流量的可達性,有兩種方式:直接與間接

直接方式:直接針對流量進行過濾----流量工程
間接方式:對路由進行控制篩選---路由策略

 解決方案一:可通過修改路由條目(即對接收和發佈的路由進行過濾)來控制流量可達性,這種方式稱爲路由策略

解決方案二:可使用Traffic-Filter工具對數據進行過濾,這種方式稱爲流量過濾 

在解決方案一中,可以利用Filter-Policy工具對RTAOSPF引入的路由和RTC寫入路由表的路由進行過濾:首先使用ACL或IP-Prefix List工具匹配目標流量;然後在協議視圖下,利用Filter-Policy向目標流量發佈策略

 也可以利用Route-Policy工具,在RTA引入直連路由時對路由進行過濾:首先使用ACL或IP-Prefix List工具來匹配目標流量;然後在協議視圖下,利用Route-Policy對引入的路由條目進行控制

 路由策略的實現分爲兩個步驟

定義規則:首先要定義將要實施路由策略的路由信息的特徵,即定義一組匹配規則,可以以路由信息中的不同屬性作爲匹配依據進行設置,如目的地址、AS號等;(警察

應用規則:根據設置的匹配規則,再將它們應用於路由的發佈、接收和引入等過程中。(法官

就類似生活中警察會把小偷抓起來,但是對於這個小偷是否需要坐牢,或者是判刑是由法官來決定的事情,警察只是負責把小偷抓起來。

ACL可通過匹配報文的信息實現對報文的分類。 

格式如下:

acl 2001    #創建一個基本ACL#

rule 0 permit source 1.1.0.0  0.0.255.255   

 #在這個列表裏會允許源ip是1.1.0.0的流量通過,0.0.255.255是反子網掩碼,0代表精確匹配,1代表任意匹配,也就是說允許過去的源ip前面兩位必須是1.1,後面2位隨意,來自於1.1.x.x的流量都可以通過;permit--通過,deny--拒絕#

訪問控制列表ACL(Access Control List)是由permitdeny語句組成的一系列有順序規則的集合,它通過匹配報文的信息實現對報文的分類。

ACL的分類:

基本ACL:主要基於源地址、分片標記和時間段信息對數據包進行分類定義,編號範圍爲2000-2999

高級ACL:可以基於源地址、目的地址、源端口號、目的端口號、協議類型、優先級、時間段等信息對數據包進行更爲細緻的分類定義,編號範圍爲3000-3999

二層ACL:主要基於源MAC地址、目的MAC地址和報文類型等信息對數據包進行分類定義,編號範圍爲4000-4999

用戶自定義ACL:主要根據用戶自定義的規則對數據報文做出相應的處理,編號範圍爲5000-5999

一個ACL可以由多條“deny | permit”語句組成,每一條語句描述了一條規則。設備收到數據流量後,會逐條匹配ACL規則,看其是否匹配。如果不匹配,則繼續匹配下一條。一旦找到一條匹配的規則,就會執行規則中定義的動作,且不再繼續與後續規則進行匹配;如果找不到匹配的規則,則設備會對報文直接進行轉發。

需要注意的是,ACL中定義的這些規則可能存在重複或矛盾的地方。規則的匹配順序決定了規則的優先級,ACL通過設置規則的優先級來處理規則之間重複或矛盾的情形。 

ACL可以靈活地匹配IP地址的前綴,但無法匹配掩碼長度。

IP-Prefix List能夠同時匹配IP地址前綴及掩碼長度。 IP-Prefix List不能用於IP報文的過濾,只能用於路由信息的過濾。

示例:ip ip-prefix test index 10 permit 10.0.0.0 16 greater-equal 24 less-equal 28

IP地址範圍:10.0.0.0 – 10.0.x.x        24<= 掩碼長度 <=28 

前綴列表的組成及匹配規則:
前綴過濾列表由IP地址和掩碼組成,IP地址可以是網段地址或者主機地址,掩碼長度的配置範圍爲032
IP-Prefix List中的每一條IP-Prefix都有一個序列號index,匹配的時候將根據序列號從小到大進行匹配。
如果不配置IP-Prefixindex,那麼對應的index在上次配置的同名IP-Prefixindex的基礎上,以步長爲10進行增長。如果配置的IP-Prefix的名字與index都和已經配置了的一項IP-Prefix List的相同,僅僅只是匹配的內容不同,則該IP-Prefix List將覆蓋原有的IP-Prefix List
當所有前綴過濾列表均未匹配時,缺省情況下,存在最後一條默認匹配模式爲deny。當引用的前綴過濾列表不存在時,則默認匹配模式爲permit
前綴掩碼長度範圍:
前綴過濾列表可以進行精確匹配或者在一定掩碼長度範圍內匹配,並通過配置關鍵字greater-equalless-equal來指定待匹配的前綴掩碼長度範圍。如果沒有配置關鍵字greater-equalless-equal,前綴過濾列表會進行精確匹配,即只匹配掩碼長度爲與前綴過濾列表掩碼長度相同的IP地址路由;如果只配置了關鍵字greater-equal,則待匹配的掩碼長度範圍爲從greater-equal指定值到32位的長度;如果只匹配了關鍵字less-equal,則待匹配的掩碼長度範圍爲從指定的掩碼到關鍵字less-equal的指定值。

 

ip ip-prefix Pref1 index 10 permit 1.1.1.0  24 greater-equal 24 less-equal 24    像這種,greater-equal 24 less-equal 24”表示掩碼長度只能是24

 Filter-Policy能夠對接收或發佈的路由進行過濾,可應用於ISIS、OSPF、BGP等協議。

對協議接收的路由進行過濾:

      filter-policy { acl-number | ip-prefix ip-prefix-name } import

對協議發佈的路由進行過濾:

      filter-policy { acl-number | ip-prefix ip-prefix-name } export

應用各協議中的Filter-Policy工具可通過引用ACL或地址前綴列表,對接收、發佈和引入的路由進行過濾。  

Route-Policy是一種功能非常強大的路由策略工具,它可以靈活地與ACLIP-Prefix ListAs-Path-Filter等其它工具配合使用 (法官

 Route-Policy:

    route-policy route-policy-name { permit | deny } node node  允許/拒絕通過node 

  if-match {acl/cost/interface/ip next-hop/ip-prefix}   如果滿足後面的這些規則(acl/cost/interface/ip next-hop/ip-prefix)

  apply {cost/ip-address next-hop/tag}  就對這個路由進行應用(cost/ip-address next-hop/tag)

Route-Policy由若干個node構成,node之間是“或”的關係。且每個node下可以有若干個if-machapply子句,if-match之間是“與”的關係。

路由策略配置實現:如下圖所示,要求市場部不能訪問財務部和研發部,公司總部不能訪問研發部。

 在這裏我採用的動態路由協議是ospf協議,所有的路由器接口都屬於骨幹區域,在AR1上通過import-route 引入了直連路由,實現了全網互通,在這裏不做展示,現根據要求需要針對市場部不能訪問財務部和研發部,公司總部不能訪問研發部來做配置。

在沒有做路由策略之前,對於AR3的ospf路由表是這樣的,如下圖所示:

 AR4上的關於ospf的路由表是這樣的

 二者的路由表裏都有關於去往研發部的路由。

對於市場部和公司總部都不能訪問研發部,我們可以在AR1上做配置,將研發部的192.168.11.0 的路由過濾掉,

配置如下:

通過創建ip-prefix 111,來允許路由192.168.1.0和192.168.111.0,也就是財務部和資料部的路由可以通過,相反,研發部的路由就被過濾掉了,此時的ip-prefix 既做警察又做法官,把相應的路由進行匹配,匹配之後的動作是允許(permit),之後在通過filter-policy 在ospf的協議視圖下去調用ip-prefix,當你引入直連的時候,直連進入ospf,站在外部路由的角度去考慮,
是不是從ospf出去了,export出向去做一個過濾。

配置完成之後,在AR3和AR4上查看關於ospf的路由表,如下圖所示

會發現,原來存在在ospf路由表裏的192.168.11.0這個研發部的路由,被過濾掉了,相應的對於市場部和公司總部來說就不能訪問研發部的數據了。 

接下來,去滿足市場部不能訪問財務部的要求,我們可以通過ACL來做路由的過濾,ACL本身是用來過濾流量的,但是也可以用來過濾路由,但是在過濾路由的時候,缺省是拒絕其他所有的路由通過,當用ACL去過濾流量的時候,缺省是允許其他所有的流量通過,這個地方需要注意一下。

 我們可以在AR1上,通過acl來過濾財務部的路由,配置如下圖所示:

 

 同樣的,這裏的acl 既做警察又做法官,將來自財務部的192.168.1.0 的路由過濾掉,通過filter-policy 在ospf的協議視圖下應用在引入路由的方向上,同時還有一點需要注意,在acl過濾路由的時候,需要配置一條允許其他所有匹配上的路由通過,因爲缺省是拒絕,爲了防止其他的路由被篩選掉,需要配置一條允許其他所有的命令。

做完配置之後 ,可以在AR3上查看ospf的路由表

會發現,把來自財務部的路由192.168.1.0過濾掉了。 

 以上是通過ACL和ip-prefix既可以匹配流量,又可以執行動作來做配置的,下面我們來用另外一種方法,會使用到route-policy來執行動作,ACL和ip-prefix來匹配流量,也就是說,下面的acl和ip-prefix只是用來作爲警察的,而route-policy是用來作爲法官的。

如圖所示,是總體拓撲的概況

 通過配置route-policy 在AR3上的配置如下:

先通過配置ACL把財務部的路由匹配出來,這裏只是匹配,並不執行動作,

 通過route-policy來執行動作,如果滿足acl 2000的路由,執行的動作是deny(拒絕通過),在通過在ospf的協議視圖下去調用filter-policy工具執行route-policy shichang的動作(拒絕)

在AR1上的配置如下圖所示

首先通過ip-prefix去匹配來自研發部的路由192.168.4.0,這裏的ip-prefix只是作爲警察,並不是法官。還是通過route-policy來執行拒絕的動作,最後在ospf的協議視圖下在引入直連路由的時候,執行route-policy yanfa的動作即可。

 以上兩種方式採用的是間接的方式,通過路由策略來實現各個部門之間的訪問需求。

下面我們來了解一下采用直接的方式,通過過濾流量來實現各個部門之間的訪問需求。

基於自定義策略實現:使用Traffic-Filter工具對數據進行過濾。

如下圖所示,是客戶的網絡於要求

 

 採用流量過濾的方式,可以依靠高級acl來進行配置,如下圖所示:

在AR3上的配置,通過配置高級acl 來過濾掉(deny)來自192.168.1.0(市場部),去往財務部192.168.3.0 的流量,以及過濾掉來自市場部192.168.1.0,去往研發部192.168.4.0的流量。 

然後在AR3的入接口上通過使用traffic-filter工具來調用acl 3000.

 結果驗證

在AR3上查看關於ospf的路由表,會發現,去往財務部和研發部的路由還是正常存在的,

但是作爲市場部的pc1卻ping不同作爲財務部的pc3和作爲研發部的pc4 

 針對流量過濾,即使路由表裏有路由,數據流量還是被過濾掉,這是流量過濾的特點。

同樣的針對公司總部不能訪問研發部的配置,如下圖所示

在AR4上的配置

 

結果驗證:作爲公司總部的pc2是不能去訪問作爲研發部的192.168.4.4的。

 

在後期對網絡進行優化時,常出現調整網絡流量路徑的需求。 

 

解決方案一:可通過路由策略方式修改協議屬性來控制路由表條目,從而調整流量路徑。
解決方案二:可採用策略路由方式在查找路由表之前控制流量行爲。
解決方案一:採用路由策略方式,去修改開銷值即可,在此不做演示 
爲充分利用鏈路帶寬,現要求市場部訪問總部流量路徑爲RTA-RTB-RTD,財務部訪問總部流量路徑爲RTA-RTC-RTD

若採用解決方案一來實現以上需求,由於其只能依據數據包的目的地址做轉發策略,所以無法滿足需求;故當出現基於源地址、目的地址或基於應用層等一些複雜的控制需求時,就體現出其侷限性。

 解決方案二:採用策略路由方式

策略路由方式常採用Traffic-Policy工具來實現:
首先使用ACL工具匹配目標流量;
然後對目標流量定義行爲,如修改下一跳。

配置案例如下圖所示:

 

 在AR1上的配置,如下圖所示

先創建一個高級acl匹配上從市場部到公司總部的流量,然後通過traffic classifier 去定義一個類,這個類裏是需要和acl 3000做綁定,再通過traffic behavior 去標識動作,將下一跳改爲了10.0.12.2,之後,在traffic policy裏面將traffic classifier這個類和需要執行的動作traffic behavior做一個綁定,在入接口G0/0/0DE 入方向上執行traffic policy。

 

 結果測試,如下圖所示,作爲市場部的pc1在訪問公司總部的192.168.3.3的路徑下一跳是10.0.12.2.

 同樣的,在AR1上的配置,針對財務部去往公司總部的路徑的配置如下

 

 

 

 

結果驗證,發現作爲財務部的pc1去往公司總部的192.168.3.3的下一跳是 10.0.13.3.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章