前言:在企業網絡中,常面臨非法流量訪問及流量路徑不優的問題,為了保護數據訪問的安全性、提高鏈路帶寬的利用率,需要對網絡中的流量行為控制,如控制網絡流量可達性,調整網絡流量路徑。
如何控制流量可達性?
方案一:對接收和發布的路由進行過濾來控制可達性,路由策略
方案二:使用Traffic-filter工具對數據進行過濾,流量過濾
什么是路由策略?
通過一系列的工具或者方式對路由進行各種控制的策略,這個策略可以影響路由的產生,發布和選擇等,進而影響報文的轉發路徑
在ip網絡中,路由策略的用途主要有兩個方面:對路由信息過濾和修改路由屬性。
如圖,如果使用流量過濾,使市場部的流量不能訪問財務部。會有極大的局限性,若是在RTA上做traffic-filter,流量會經過RTC RTB再在RTA上被過濾極大的浪費鏈路帶寬。若在RTC入口做traffic-filter,可能RTC不是由你進行管理的。而且流量過濾針對每一個報文進行過濾,極大的浪費設備性能,所以建議使用路由策略來進行對流量的可達性進行控制。
路由策略使用的工具:
條件工具:把路由匹配出來 ,acl ip-prefix
策略工具:匹配抓取的路由,執行各種各樣的策略。router-policy
調用工具:把策略應用到某個具體的協議中。 filter-policy import-route
配置思路:配置filter-policy不讓192.168.1.0路由發出給到AR1
[AR2-rip-1]filter-policy 2000 export -----對所有接口發出的路由做過濾
[AR2-rip-1]ACL 2000
[AR2-acl-basic-2000]rule PER S 192.168.2.0 0
filter-policy 2000 export static import-route static 對引入的靜態路由實現過濾,本地不存在LSDB
當過濾本地接口的路由時
filter-policy 2000 export 針對鏈路狀態路由協議無效,鏈路狀態路由協議發送的是LSA
filter-policy 2000 import 針對鏈路狀態協議有效,不過是在加表實現過濾,本地LSDB中依舊有此鏈路狀態
ACL的局限性?ACL只能抓取路由的前綴,不關心掩碼信息,如果兩條路由擁有相同的前綴,ACL無法分別抓取
前綴列表的優勢?相比ACL來說既能匹配前綴也能抓取掩碼,前綴列表不能用於流量過濾。
[AR1]ip ip-prefix test index 10 permit 192.168.1.0 24 ///匹配單條路由
[AR1]ip ip-prefix test index 10 permit 192.168.1.0 24 ge 25 // 代表前24bit固定,掩碼在25-32之間
[AR1]ip ip-prefix test index 10 permit 192.168.1.0 24 ge 25 le 28 //前24bit固定,掩碼在25-28之間
[AR1]ip ip-prefix test index 10 permit 0.0.0.0 le 32 //匹配所有路由
[AR1]ip ip-prefix test index 10 permit 0.0.0.0 0 //匹配默認路由
[AR1]ip ip-prefix test index 10 permit 0.0.0.0 ge 32 //匹配所有主機路由
前綴列表和 ACL的區別?
ACL既能基於數據報文進行過濾也能基於路由條目過濾 。 前綴列表只能基於路由條目過濾
ACL用於路由過濾的時候只能抓取路由前綴 前綴列表能匹配路由前綴也能匹配掩碼信息
router-policy:不僅能匹配路由條目,並且可以對路由條目的某些屬性就進行修改
應用點:1.路由引入時,通過route-policy可以實現路由的過濾和屬性的修改
2.可以作為filter-policy的匹配條件
3.BGP中實施路由策略的工具
組成:1.名字:用於標識唯一的route-policy
2.匹配模式:permit 和deny
3.節點號:類似acl中的rule。一個route-policy有多個節點組成,按照節點號從小到大匹配。唯一匹配
4.匹配語句:if-match語句,定義匹配某些條件,一個節點中可以匹配多個if-match語句,關系為邏輯或。不配置if-match戴白哦匹配所有
5.執行語句:apply語句,指定動作。如修改路由cost tag 路由類型等。一個節點可以配置多個apply語句,關系為邏輯與
工具關系總結:
route-policy配置實驗
引入 192.168.1.0 cost 100 type 1 引入 192.168.2.0 cost 200 type 2 引入192.168.3.0 cost 300 tag 999
由於filter-policy只能對路由的發出和接收做過濾,此時只能用到route-polict工具
步驟一:配置接口,雙方啟用ospf
步驟二:配置acl ,匹配這三條路由用於if-match。注,使用三條acl語句分別匹配出這三條路由
步驟三:創建route-policy
AR2]route-policy sto permit node 10 // 創建route-policy 名字為sto,匹配node10節點的語句
[AR2-route-policy]if-match acl 2000 //匹配acl 2000的流量
[AR2-route-policy]apply cost 100 //將acl2000的流量sot改為100
[AR2-route-policy]apply cost-type type-1
[AR2-ospf-1]import-route static route-policy sto //最后在OSPF進程下調用route-policy
注:route-policy默認存在拒絕所有語句。 所以 route-policy sto per node 1000 此語句為匹配所有
[AR2-ospf-1]import-route static route-policy sto ?
cost Set cost
tag Specify route tag
type Metric type of the imported external routes
在引入時,也能修改cost值,當策略沖突,匹配route-policy的路由按照route-policy修改。如果路由匹配route-policy,但是沒有修改屬性,按import-route修改
調整網絡流量路徑:通過路由策略和策略路由的方式都可實現
當使用OSPF時,上面的帶寬比下面的更好,此時由於OSPF選路機制,下面的鏈路會處於空閑的狀態得不到利用。
使用路由策略來實現調整路徑時,可以將上面的cost與下面的cost改為一致,此時會負載
使用策略路由來實現時,可以將鏈路利用率最大化。因此最優。
策略路由:可以人為制定轉發策略,匹配報文的某些特性,根據特征進行報文轉發路徑的控制。
優點:根據用戶需求,人為的制定轉發策略,增強報文轉發路徑選擇的靈活性和可控性
使不同的數據報文,從不同的鏈路上發送出去,增加鏈路的利用率。
策略路由的種類:接口策略路由,只能針對經過接口的流量生效 本地策略路由 ,只能針對自身產生的流量生效
該場景下,pc訪問8.8.8.8會基於流負載 ,鏈路利用率得不到最大化,可以配置策略路由,使1.0走100M 2.0走50M
策略路由是基於MQC 模塊化QOS命令行來完成配置
流分類:將滿足某種特征的流量匹配出來,,,,相當於acl,前綴列表
流行為:配置一種動作,,類似apply ,如重定向到某一個借口發送
流策略:把了流分類和流行為關聯一起
策略路由只能應用在imbound方向
配置步驟
1.定義acl用於給流分類匹配條件
[AR3-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255
2.定義流分類
AR3]traffic classifier 1.0
[AR3-classifier-1.0]if-match acl 2000
3.定義流行為
[AR3]traffic behavior ar1
[AR3-behavior-ar1]redirect ip-nexthop 10.0.13.1 //定義下一跳為10.0.13.1
4.定義流策略將流分類與流行為關聯
AR3]traffic policy 100
[AR3-trafficpolicy-100]classifier 1.0 behavior ar1
5.將策略路由應用在接口上
[AR3-GigabitEthernet0/0/0]traffic-policy 100 inbound
2.0的流量配置與上述大同小異。
當需要對設備本身產生的流量進行控制轉發路徑時。需要用到本地策略路由
驗證時,多改幾次ip,更改流的五元組,驗證其不是基於流負載分擔。