

摘要:策略路由可以根據用戶實際需求配置的規則來進行路由轉發,對滿足設定規則的數據包,執行相對應設置的轉發,采用新華三的仿真軟件HCL模擬網絡環境,針對TCP協議設置了策略路由,在實驗環境中分別配置了轉發策略和本地策略路由,并進行了相應的測試,驗證了配置策略路由后對TCP流量進行分流的效果,對企業網絡用戶規劃策略路由具有一定的參考價值。
關鍵詞:策略路由;HCL;仿真:TCP
中圖分類號:TP393 文獻標識碼:A
文章編號:1009-3044(2020)22-0067-02
開放科學(資源服務)標識碼(OSID):
1 基本概念
1.1策略路由的定義
策略路由( POLICY based-routing PBR):匹配目的IP或源IP來進行的轉發的策略路由;轉發層面的事件,操作對象是數據包,匹配的是數據流;策略路由比所有路由的優先級都高,包括直連路由;只對本地轉發表有效,影響下一跳。
1.2 報文轉發的流程
沒有配置策略路由的數據包轉發流程如下:
路由器收到數據包,根據數據包中的目的IP地址,查找路由表進行轉發,
1)查到匹配的路由條目,按匹配長度最長的路由進行轉發。
2)如果找不到路由條目,如果配置的默認路由,通過默認路由轉發。
3)如果沒有默認路由,丟棄報文。
配置策略路由后數據包的轉發流程如下:
1)策略路的優先級高,先根據設置的策略路由轉發。
2)如果沒有匹配的節點,或者存在匹配節點,但是指導數據包進行轉發失敗的時候,則會根據路由表內除默認路由以外的其他路由來對數據包進行轉發。
3)如果數據包轉發失敗,則按照PBR設定的默認下一跳地址來指導數據包轉發。
4)如果轉發數據包失敗,則按照缺省路由轉發數據包。
1.3策略路由和路由策略的主要區別
路由策略是按照數據包的屬性,使用策略影響路由發布、接收或修改路由的參數而改變路由發現的結果,改變的是路由表,基于策略控制路由的引入、接收和發布,基于控制平面,為路由表和路由協議服務,路由策略和路由協議結合完成策略。
策略路由不改變路由表,優先級高于路由表,轉發數據包時,優先根據路由策略進行轉發,路由策略沒有匹配的規則,才按照路由表進行轉發;基于策略控制數據包的轉發,可以不按路由表轉發,而按照配置的策略轉發,轉發失敗后再查路由表轉發,基于轉發平面,為轉發策略服務,需要手工逐跳進行配置來保證數據包按配置的策略進行轉發。
1.4策略路由的類型
轉發策略路由:對網絡設備轉發的報文起作用。
本地策略路由:僅對網絡設備自身產生的數據包有作用。
2 策略路由的實現
2.1 配置策略
1)建立策略節點。
2)設定策略節點所要匹配的規則。
3)設定策略節點執行的動作。
策略設定報文要匹配的規則,及匹配指定規則以后要對報文執行阻止或允許的操作。
由若干或一個帶編號的節點組成策略,節點的基本構成如下:
(1)用節點編號標識每個節點。優先級越高的節點序號越小,將會優先執行優先級相對較高的節點。
(2)每個節點具體的內容由if-match和apply來設置。if-match指定此節點要匹配的規則,apply子句用來指定此節點執行的動作,一個節點內允許配置多條if-match語句,但只能配置一條相同類型if-match語句,只有最近一次的設置生效。同一個節點內的各種類型if-match語句之間的關系是“與”的關系,即數據包一定匹配該節點全部if-match語句才是滿足此節點的匹配規則。一個節點沒有設置if-match語句,則任何報文都滿足此節點的匹配規則,依據數據包滿足全部if-match語句的情況來進行后續的處理。同一個節點可以設定若干條apply語句,但設定的apply語句不一定都執行。
(3)所有節點對數據包的處理方式由匹配的模式來決定。匹配的模式有deny(阻止)和permit(允許)兩種。
網絡設備應用路由策略后,設備會按照策略中指定的匹配規則及對應執行的操作,來對數據包轉發:設備將依據優先級從高到低的次序來匹配配置的各節點,若數據包滿足這個節點配置的匹配規則,此節點執行所對應的動作;若數據包不滿足節點匹配規則,則按照優先級的次序繼續進行下一個節點的匹配;若數據包與策略中所有節點的匹配規則都不滿足,則按照路由表進行數據包的轉發。
2.2 應用策略
1)選擇至少一項任務進行配置
2)對本地產生的報文應用策略
3)對接口轉發的數據包應用策略
4)在指定接口上應用轉發策略
3 策略路由部署
3.1 網絡拓撲
企業網絡連接互聯網有兩個出口,分別連接聯通和電信,聯通的鏈路是IOOM的帶寬,電信的帶寬較低,只有10M,如果路由器配置浮動路由,電信的鏈路只能作為備份鏈路,造成資源浪費,而采用路由策略可以實現不同的流量走不同的路徑,把鏈路帶寬充分利用,本實驗采用華三云實驗室(H3C CloudLab,簡稱HCL)來搭建網絡拓撲,HCL是一款基于圖形化界面全真網絡仿真軟件,此軟件可以完成H3C公司多種型號虛擬網絡設備的組成的虛擬網絡搭建,測試H3C公司Comware V7系列平臺的網絡設備的實用工具。HCL的PC不支持Telnet,本實驗采用Host連接真實機進行測試,通過配置路由策略實現局域網TCP協議的流量走ISP 1的鏈路,其他流量走ISP2的鏈路具體實現
(1)基本配置
R1的配置:
[RI] interfaceGigabitEthernet0/0//進入接口
[R1-GigabitEthernetO/O]ip address 172.16.1.1 24//配置IP地址
[R1-GigabitEthernet0/0] interfaceSerial l/0//進入接口
[R1-Seriall/O]ip address 2.2.2.1 24//配置IP地址
[R1-Seriall/0] interfaceGigabitEthernetO/1//進人接口
[R1-GigabitEthernetO/l]ip address l.1.1.1 24//配置IP地址
[H3C]ip route-static 0.0.0.0 0 1.1.1.2//配置默認路由
[H3C]ip route-static 0.0.0.0 0 2.2.2.2 preference 100//配置浮動路由
[Rl]acl basic 2000//設置ACL
[RI-acl-ipv4-basic-2000]rule permit source 172.16.1.00.0.0.255//定義NAT轉換的地址
[R1-acl-ipv4-basic-2000lquit
[R1 interfaceGigabitEthernet0/1//進入接口
[R1-GigabitEthernetO/l]nat outbound 2000//配置EasyIP
[R1-GigabitEthemet0/1] interfaceSerial l/0//進入接口
[R1-Seriall/O]nat outbound 2000//配置Easy IP
ISP1的配置:
[ISPI] interfaceGigabitEthernet 0/0//進入接口
[ISPI-GigabitEthernetO/O]ip address l.1.1.2 24//配置IP地址
[ISPI-GigabitEthernetO/O]quit
[ISPl]telnet server enable//啟用telnet服務
[ISPl]user-interface vty 0 4
[ISPI-line-vty0-4lset authentication password simple123456 11配置telnet口令
[ISPI-line-vty0-4]user-role network-admin//設置用戶角色的權限
ISP2的配置:
[ISPl] interface GigabitEthernet 0/0
[ISPI-GigabitEthernetO/Olip address 2.2.2.2 24
[ISPI-GigabitEthernetO/O]quit
[ISPl]telnet server enable//啟用telnet服務
[ISPl]user-interface vty 0 4
[ISPI-line-vty0-4lset authentication
password simple123456//配置telnet口令
[ISPI-line-vty0-4]user-role network-admin//設置用戶角色的權限
測試:Host可以telnet到ISPI和ISP2,都可以pmg通兩個ISP的接口。
(2)配置基于TCP協議的策略路由
[H3C]acl advanced 3000//定義ACL
[H3 C-acl-ipv4-adv-3000]rule permit tcp//匹配TCP報文
[H3C-acl-ipv4-adv-3000lquit
[H3Clpolicy-based-route tcp permit node 10//定義10號節點
[H3C-pbr-tcp-lO]if-match acl 3000
[H3C-pbr-tcp-lO]apply next-hop l.1.1.2//指定TCP報文下一跳地址為1.1.1.2
(3)在接口上應用轉發策略路由
[H3C-pbr-tcp-lO]int g0/0
[H3C-GigabitEthernetO/O]ip policy-based-route tcp//接口上應用轉發路由策略
測試結果:
通過Host上測試,Host可以telnet登錄到ISPI,telnet登錄ISP2失敗,Host可以Ping通ISP2的接口,telnet是基于TCP協議的應用,而Ping使用的是ICMP協議,轉發路由策略生效。
路由器上測試,在R1上telnet登錄ISP1和ISP2均可以正常登錄,說明轉發路由策略對路由器本身產生的TCP報文不產生效果。
(4)應用本地策略路由
[Rl]ip local policy-based-route tcp //應用本地策略路由
經測試:路由器上telnet登錄ISPI正常,telnet登錄ISP2失敗,R1可以Ping通ISP2的接口,本地策略路由生效。
4 結語
通過HCL仿真測試策略路由,測試了轉發策略路由和本地策略路由,策略路由可以根據協議、源IP或目的IP設置指定的下一跳和缺省的下一跳。可以根據企業用戶的需求進行相應的設置,但策略路由的缺點是占用設備資源較多,只要配置了策略路由,路由器就要根據設定的規則檢查數據包,會一直占用網絡設備的資源,建議在真實網絡環境中,盡量使用路由策略而減少使用策略路由來實現用戶需求。
參考文獻:
[1]朱麟,劉源.H3C路由與交換實踐教程[M].北京:電子工業出版社,2018.
[2]彭偉.基于策略路由部署的網絡多出口設計研究[J].湖南工程學院學報(自然科學版),2019,29(3):48-52.
[3]龔文濤,郎穎瑩.基于路由策略和策略路由的Web應用防護架構設計[Jl.計算技術與自動化,2018,37(2):95-99.
【通聯編輯:代影】
作者簡介:王獻宏(1969-),男,河南三門峽人,高級工程師,碩士,主要研究方向為計算機網絡、網絡安全。