一、路由策略原理
路由策略原理
- 路由策略概述
- 1.1.路由策略的作用
- 1.2.路由過濾的方法
- 1.3.路由過濾的工具
- 1.4.使用靜默接口過濾路由
- 1.5.地址前綴列表
- 1.6.地址前綴列表應用
- 1.7.Filter-policy
- 1.8.Filter-policy配置
- 1.9.Route-policy
- 1.10.Route-policy配置
——————————————————————————————————————————————————
路由策略概述
——————————————————————————————————————————————————
1.1.路由策略的作用
一提到路由策略,很多人就會想到策略路由,兩個看似相同的技術,實際上一點也不同。路由策略(Routing Policy)是為了改變網絡流量所經過的途徑而修改路由信息的技術,主要是通過改變路由屬性(包括可達性)來實現。策略路由(Policy Routing)是一種依據用戶特定的策略進行路由選路的機制。
兩者的區別:
路由策略:控制路由信息 。 基于控制平面,為路由協議和路由表服務。與路由協議結合完成策略。應用命令route-policy。
策略路由:基于策略的轉發,失敗后再查找FIB轉發。基于轉發平面,為轉發策略服務。應用命令policy-based-route。
為了實現路由策略,首先要定義實施路由策略的路由信息的特征,即定義一組匹配規則。可以路由信息中的不同屬性作為匹配依據進行設置,比如目的地址、發布路由信息的路由器地址等。匹配規則可以預先設置,然后將它們應用于路由的發布、接收和引入等過程的路由策略中。
路由器在運行路由協議后,通過路由協議進行路由信息的發布和接收。通常下,RIP會將自己的全部路由信息發布出去,同時接收鄰居路由器發來的所有路由信息。而OSPF也會發布自己產生的LSA,并接收鄰居發來的LSA,然后本地構建LSDB數據庫,根據LSDB計算路由。但是有時為了控制報文的轉發路徑,路由器在發布與接收路由信息時,可能需要實施一些策略,以便對路由信息進行過濾,只接收或發布滿足一定條件的路由信息。
如圖:路由器R1發布給AR2三條路由。R2出于安全方面考慮,并不想全部路由都發布給ISP,所以在AR2路由器上部署過濾。僅僅將192.168.3.0/24發布給ISP。
無論在企業還是在運營商網絡,路由策略應用的都比較普遍。如:某公司內網運行了路由協議,某些內部的路由信息不希望被外部所知道,這時可以采取路由過濾的方法把內部路由在網絡邊界上過濾掉。再如:某ISP因為某種原因,只想把某些特定的路由信息發給其客戶,就可以采用路由過濾的手段。
路由過濾的另一個好處是節省設備的鏈路資源,甚至保護網絡安全。廣域網鏈路帶寬是寶貴的網絡資源,大量的路由更新會占用網絡帶寬。例如:ISP間的interlnet路由多大10萬條,如果全更新一次,就會占用大量鏈路帶寬,消耗設備資源。如果采用路由策略,僅將必要的路由發布,則會減少帶寬的占用,減輕設備的負擔。
——————————————————————————————————————————————————
1.2.路由過濾的方法
路由策略主要有兩種應用方式:
1、路由引入過濾:路由協議在引入其他路由協議發現路由時,通過路由策略只引入滿足條件的路由信息。
2、路由發布或接收過濾:路由協議在發布或接收路由信息時,通過路由策略對路由信息進行過濾,只接收或發布滿足給定條件的路由信息。
在進行路由過濾時,通常還有以下幾種過濾方法:
1、過濾路由協議報文:路由器間通過交換路由協議報文而學習路由。如果將路由協議報文過濾,則路由器間無法學習路由,也就達到了過濾路由的目的,過濾路由協議報文后,所有的路由信息都被過濾。
2、過濾路由協議報文中攜帶的部分路由信息:路由協議報文包含了路由信息,路由信息攜帶了路由屬性(如目的地址、下一跳等),可以采取適當的過濾器來對其中某些路由信息進行過濾,而允許其他路由信息通過。
3、對從LSDB計算出來的路由信息進行過濾:如OSPF,首先交換LSA而生成本地LSDB數據庫,通過SPF算法計算路由,再把路由加入到路由表,從而可以對從LSDB計算出的路由信息進行過濾。
——————————————————————————————————————————————————
1.3.路由過濾的工具
可以通過在路由器上使用靜默接口來使路由器不發出協議報文,從而達到路由過濾的目的。也可以配置路由協議使用一些過濾器,對協議報文中的陸游信息進行過濾。
1、訪問控制列表
訪問控制列表包括針對IPV4報文的ACL和針對IPV6報文的ACL,用戶在定義ACL時可以指定地址和子網范圍,用于匹配路由信息的目的網段地址或下一跳地址。
2、地址前綴列表
地址前綴列表包括IPV4地址前綴列表和IPV6地址前綴列表。
地址前綴列表的作用類似ACL,但比它更靈活,且易于理解。在使用地址前綴列表過濾路由信息時,其匹配對象為路由信息的目的地址信息域。另外,用戶可以指定gateway選項,指明只接收某些路由器發布的路由信息。
3、AS路徑訪問列表(AS-PATH)
AS-PATH僅用BGP。在BGP路由信息中,包含自治系統路徑域。AS-PATH就是針對自治系統路徑域來指定匹配條件。
4、團體屬性列表(community-list)
僅用于BGP,在BGP路由信息包中,包含一個community屬性域,用來標識一個團體。community-list就是針對團體屬性域來指定匹配條件。
5、擴展團體屬性列表(excommunity-list)
僅用于BGP。BGP擴展團體屬性有兩種:1、用于VPN的Route-Target擴展團體,另一種則是Source Of Origin擴展團體。
6、路由策略(Route Policy)
路由策略是一種比較復雜的過濾器,不僅可以匹配路由信息的某些屬性,還可以在條件滿足時改變路由信息的屬性。路由策略可以使用前面幾種過濾器來定義自己的匹配規則。
一個路由策略可以由多個節點(node)構成,每個節點匹配檢查的一個單元。在匹配過程中,系統按節點序號升序依次檢查各個節點。每個節點可以由一組if-match和apply子句組成。if-match子句定義匹配規則,匹配對象是路由信息的一些屬性。同一節點中不同的if-match子句是與的關系,只有滿足節點內所有子句指定的匹配條件,才能通過該節點的匹配測試。apply子句指定動作,也就是通過節點匹配后,對路由信息的一些屬性進行設置。
一個路由策略的不同節點間是或的關系,如果通過了其中一節點,就意味著通過該路由策略,不再對其他節點進行匹配測試。
——————————————————————————————————————————————————
1.4.使用靜默接口過濾路由
靜默接口(Silent-interface)又稱為被動接口(Passive interface)。在路由器上配置靜默接口是一種簡單易用的過濾路由手段,通常在局域網,主機并不需要接收路由器發出的協議報文,為了安全起見,管理員也不希望路由器發送協議報文給不相干的設備或區域。
如圖:AR2與ISP相連的接口設置為靜默接口,使AR2在連接ISP的接口上不發送路由協議報文,意味著ISP學不到任何路由,從而過濾全部路由。
RIP中配置后,接口不發送路由更新;OSPF-ISIS配置后,接口不發送HELLO報文,不建立鄰居關系。但協議仍然把直連網絡的路由信息從其他接口發送出去。
RIP/OSPF命令:silent-interface。
ISIS命令:isis silent。
——————————————————————————————————————————————————
1.5.地址前綴列表
地址前綴列表其實就是ACL。。。。。
例: ip ip-prefix abc index 10 permit 1.0.0.0 8
ip ip-prefix abc index 20 permit 2.2.2.0 24
ip ip-prefix abc index 30 deny 3.0.0.0 8
這里要說的就是掩碼,指定掩碼,和掩碼范圍。
可以進行掩碼范圍的設置,范圍關系:
如果只配置了greater-equal,則掩碼范圍在greater-equal和32之間。greater-equal(大于等于)。
如果只配置了less-equal,則掩碼范圍在mask-length和less-equal之間。(小于等于)
如果同時配置了greater-equal,less-equal,則掩碼范圍就在greater-equal,less-equal之間。
如:指定ipaddress mask-length為0.0.0.0,只匹配默認路由。
指定ip-address mask-length為10.1.1.1 16,匹配網段10.1.0.0。
指定地址前綴范圍是0.0.0.0 0 less-equal32,匹配所有路由。
指定地址前綴范圍是10.1.1.0 16 greater-equal 24,則匹配10.1.0.0.網段內,掩碼長度24~32之間路由。
指定地址前綴范圍是10.1.1.0 16 less-equal24,則匹配10.1.0.0網段內,掩碼長度16~24之間路由。
指定地址前綴范圍是10.1.1.0 16 greater-equal 18 less-equal 30,則匹配10.1.0.0網段內,掩碼長度18-30之間路由。
——————————————————————————————————————————————————
1.6.地址前綴列表應用
定義了前綴列表,要對其進行應用才生效。
1、Route-Policy過濾器可以引用地址前綴列表作為匹配條件。
2、各路由協議可應用filter-policy命令引用地址前綴列表(也可以引用ACL列表),對接收和發布的路由進行過濾。
過濾接收的路由:fiter-policy import ,過濾發布:fiter-policy export。
對于距離矢量和鏈路狀態路由協議,fiter-policy命令操作過程不同。
距離矢量:基于路由表生成路由的,因此過濾器會影響:從鄰居接收的路由,向鄰居發送的路由。
鏈路狀態:基于鏈路狀態數據庫生成的,fiter-policy不影響鏈路狀態通告或鏈路狀態數據庫的完整性,因此im和ex的影響也不同。
import:只能決定哪些路由從協議路由表加入到本地IP路由表,即只影響本地IP路由表,而不影響協議路由表。
export:用來控制是否發布協議引入其他路由協議的路由,但不影響向其他路由器發布的鏈路狀態通告。
—————————————————————————————————————————————————
1.7.Filter-policy
Filter-policy又稱為過濾策略,是一種路由過濾器。在路由協議發送或接收路由時,通過在入口或出口使用Filter-policy,可以對路由進行過濾。Filter-policy可以使用訪問控制列表或地址前綴列表來定義自己的匹配規則。
如圖:AR1發布3條路由給AR2,出于安全考慮,AR2只能將3.0段路由發布給ISP。這時可以使用Filter-policy在AR2上,通過入接口策略過濾掉AR1發來的路由。也可以通過出接口策略不向ISP發送1.0/2.0路由。
路由過濾器通常應用在兩種情況。
1.對接收和發布的路由進行過濾。
應用于各協議中的Filter-policy命令引用ACL和地址前綴列表,對出入方向的路由進行過濾。僅接收或發布滿足條件的部分路由。
(1)距離矢量協議:基于路由表生成路由,因此過濾器會影響從鄰居接收和向鄰居發布的路由。意思就是這種路由協議直接對IP路由表進行過濾。
(2)鏈路狀態協議:基于鏈路狀態數據庫生成路由,所以不影響數據庫,而影響最終生成的路由。路由過濾只能在ABR、ASBR上進行,因為只有在這種設備上傳遞的是路由信息而非鏈路狀態LSA。
2、引入外部路由時應用策略
(1)應用各協議的import-route命令,在各協議中引入所需要的外部路由,同時可以對引入的路由應用路由策略。
(2)在引入外部路由后,可以應用filter-policy export命令對引入的路由信息在向外發布時,進行過濾。
——————————————————————————————————————————————————
1.8.Filter-policy配置
以OSPF為例,配置OSPF路由對接收的路由進行過濾
ospf 1
filter-policy { acl-number | ip-prefix ip-prefx-name } import,配置對接收的路由進行過濾。
以BGP協議為例,配置BGP路由器對發布的路由進行過濾。
bgp 200
ipv4-family unicast 進入IPV4單播地址簇視圖
filter-policy { acl-number | ip-prefix ip-prefix-name } export [ protocol [ protocol-id ] ] ,對引入的路由信息進行過濾。
BGP對引入的路由信息進行過濾后,會將符合條件的路由信息發布給BGP對等體。
指定protocol參數,可以只對特定路由協議的信息進行過濾。如未指定,則對所有要發布的BGP路由信息進行過濾,包含引入和Network
——————————————————————————————————————————————————
1.9.Route-policy
路由策略是為了改變網絡流量所經過的途徑而修改路由信息的技術,主要通過改變路由屬性來實現。
一個Router-policy可以由一組帶有編號(node-number)的節點(node)構成,每個節點只匹配檢查一個單元。在匹配過程中,按照節點編號依次順序檢查各個節點。number值越小,優先級越高。
每一個節點由一組if-match和apply子句組成。一個定義節點的匹配規則。一個定義動作。節點的匹配有允許和拒絕模式。
if-match子句定義了匹配規則,匹配對象是路由信息屬性。常用的屬性包括:目的地址范圍、下一跳地址、出接口、開銷、標記等。
對OSPF、ISIS等協議來說,路由屬性還包括路由類型route-type,而對于BGP來說,路由屬性還包括團體、AS路徑等。以上這些路由屬性都可以作為匹配規則。由if-match子句定義。
apply子句定義動作,對通過節點的路由信息屬性進行設置。包括:下一跳地址、優先級、標記、開銷等進行設定。對于OSPF可以設定路由的開銷類型,以將通過過濾的路由改變為type 1路由或Type 2路由。對于ISIS路由,通過設定路由開銷類型,可以將通過過濾的路由改變為ISIS外部路由或內部路由。
——————————————————————————————————————————————————
1.10.Route-policy配置
1、創建路由策略
router-policy route-policy-name { permit | deny } node mode。創建路由策略的節點,進入策略路由視圖。
2、配置if-match子句
router-policy route-policy-name { permit | deny } node mode。進入路由策略視圖。
(1)if-match acl acl-number 。配置路由策略中的if-match,匹配ACL。
(2)if-match cost cost 。配置路由信息的路由權值。
(3)if-match interface interface-type interface-number 。匹配路由信息的出接口。
(4)if-match ip { next-hop | route-source } { acl acl-number |ip-prefix ip-prefix-name}。匹配IPV4的路由信息下一跳或源地址。
(5)if-match ip-prefix ip-prefix-name。匹配地址前綴列表。
(6)if-match route-type { external-type1 | external-type 1 or 2 | external-type2 | internal | nssa-external-type 1 | nssa-external-type 1 or2 | nssa-external-type 2} 。匹配OSPF各類型路由信息。
(7)if-match tag tag。匹配OSPF路由信息的標記域。
以上各個命令之間無順序關系。在一個節點中,可以沒有if-match子句,也可以有多個if-match子句。
對于同一個route-policy節點,在匹配過程中,各個if-match子句是與的關系,同時滿足所有匹配條件,才可以執行apply子句的動作。
但命令if-match route-type和if-match interface除外,這兩個命令各自的子句間是或關系。
如果不指定if-match子句,則所有的路由信息都會通過該節點的過濾。
3、配置Apply子句
router-policy route-policy-name { permit | deny } node mode
執行完可以配置路由策略中的apply子句。
(1)apply backup-interface interface-type interface-number。設置備份出接口。
(2)apply backup-nexthop { ip-address | auto }。設備備份下一跳。
(3)apply cost [ + | - ] cost 。設置路由信息的開銷值。
(4)apply cost-type { type-1 | type-2 }。設置OSPF的開銷類型。
(5)apply ip-address next-hop ipv4-address。設置IPV4路由信息的下一跳地址。
(6)apply ospf { backbone | stub-area } 。設置OSPF路由信息的區域。
(7)apply preference preference 。設置路由協議的優先級。
(8)apply tag tag。設置路由信息的標記域。
以上命令之間沒有順序關系。
——————————————————————————————————————————————————
總結
- 上一篇: spring security 短信验证
- 下一篇: TF卡电路