引言:當今計算機網絡已經深入各個領域,在網絡的規劃設計時,內部局域網和外部互聯網已經普遍采取了隔離措施。但是,當安全性提高的同時也就意味著放棄了某些便利性,例如在我們實際工作中有很多場景確實需要內外網同時使用才能完成。
當今計算機網絡已經深入各個領域,它正在對人們的生活方式和工作方式產生著前所未有的影響。同時,隨著網絡規模的不斷擴大,人們對網絡知識的了解不斷深入,網絡上的攻擊行為變得越來越多,網絡與信息的安全重要性已經不容忽視。
在這種形勢下,當前在網絡的規劃設計時,內部局域網和外部互聯網已經普遍采取了隔離措施。但是,當安全性提高的同時也就意味著放棄了某些便利性,例如在我們實際工作中有很多場景確實需要內外網同時使用才能完成。以醫院為例,內網醫療設備的安裝調試、各類程序升級、軟件的故障處理、遠程會診,以及農合、醫保、內網病毒查殺等等都需要調取外部的數據,同時管理員的數據查詢匯總,軟件、網絡運維與管理都有這樣的實際需求。

圖1 內外網拓撲
接下來結合筆者的實踐經驗詳細介紹在內外網邏輯隔離的情況下,利用策略路由Route-map工具在網絡核心層來實現內外網的互聯互通。策略路由(PBR:Policy-Based Routing)提供了一種比基于目的地址進行路由轉發更加靈活的數據包路由轉發機制。策略路由可以根據 IP/IPv6 報文源的地址、目的地址、端口以及報文長度等內容靈活地進行路由選擇,其優先級比普通的路由高,這樣就可以按照網絡管理員的意愿針對部分感興趣的流量重新定義報文的轉發路徑,從而滿足其他一些特殊場景下的需求。
Route-map工具類似于腳本語言,其中包含的“match”,“set”參數和編程中的“if”,“then” 語句很相似,對于有編程經驗的人員更容易理解,也即match到所需要的特定路由后再執行相對應的set操作。但此時需要注意區分以下兩種情況,情況1是“或”的關系,匹配到一個條目就會終止;而情況2是“與”關系,需要匹配全部條目,內外網拓撲如圖1所示。
情況1:

情況2:


下面開始分別對內網和外網進行相應的分析和配置。
以筆者單位為例,通常有各式各樣的服務器和眾多客戶端,多運行 ospf、eigrp等內部動態路由協議,網絡結構相對較大,本文以核心層、匯聚層、接入層三層網絡拓撲為例。
1.首先在內網核心交換機上配置擴展ACL,來匹配內網特殊流量:

2.內網核心上配置策略路由:

應當注意的是:在此處策略路由為set ip default next-hop而不是set ip next-hop,因為策略路由的優先級要比普通的路由高,原本的內網ospf路由無法起到作用,從而導致使用該IP地址的客戶端會連接內網服務器失敗。而加上default后會降低路由優先級從而不會影響客戶端正常訪問內網服務器段的IP地址,保證了對內網、外網的數據同時正常訪問。
set ip next-hop可以設置下一跳IP地址,也可以設置數據包的出接口,建議設置為下一跳的IP地址。
3.在內網核心設備上相應的匯聚端口上應用策略路由:

這里應當注意的是:策略路由一定要應用到數據包的in方向接口,而不能應用到數據包的out方向接口。因為策略路由實際上是在數據包進路由器的時候,強制設置數據包的下一跳,在out方向的接口,路由器已經對數據包做完IP路由,把數據包從接口轉發出去了,因此此時out方向的策略路由并不生效。
4.在內網其他部分上的配置
匯聚交換機DHCP配置:


外網只滿足用戶互聯網、部分遠程會診等需求客戶端相對較少,網絡結構并不復雜,本文以核心層、接入層二層網絡拓撲結構為例,只需配置來自內網的返回靜態路由即可。
外網核心交換機配置:


經過以上配置,內網的192.168.10.98—99這兩個IP地址就達到了內外網同時訪問的目的。這對于在只有內網處理問題故障的管理人員來說無疑是一件利器,有了外援的支持處理問題自然也就迎刃有余了。相反,在外網核心配置策略路由也可以實現外網IP地址的外轉內,同時又達到訪問內外網的需求。
當用戶遇到有以下應用場景時,策略路由會帶來更多的選擇和便利,同時策略路由只是Route-map工具應用的其中一個方面,Route-map工具本身在路由重分布redistribute和邊界網關協議(BGP)中應用也十分廣泛。
當網絡中的匯聚與核心設備,或者是核心與出口路由器之間有多條鏈路互聯時,普通的路由表的負載或者主備的結果可能無法滿足需求,或者網絡中又引人了一些新的業務,這些網段在原先的網上設計時并沒有考慮到,而此時出現新的路由訪問的需要,但是又不想去調整前期規劃的,復雜的OSPF路由控制選路的策略,此時就可以利用策略路由這種技術來針對這部分新的需求進行一個重新的路由選擇,可以按照用戶的意愿選擇一條指定的鏈路轉發數據,而并不依賴于傳統的路由表。
還有另外一種常見的應用場景就是核心到網絡出口設備有多臺路由器或者防火墻,其對應的多家不同的運營商鏈路,比如聯通(100M),電信(50M),移動(50M)等,此時用戶希望根據每臺鏈路的負載程度,帶寬利用率等情況來將內網中的流量分流到這三條鏈路上,比如醫院各病房科室和其他醫院的遠程會診全部走移動專線出口,農合、醫保科室數據全部走電信,行政后勤辦公、電教中心、多媒體等全部都走聯通,另外遠程會診基于不同的業務類型進行分流,同時電信,聯通,移動又彼此作為各自的鏈路故障時候的備份,起到冗余,如果用戶有這樣的組網需求,就可以考慮采用策略路由進行選路,在達到內外網互聯要求的同時又保證了網絡的安全性。