引言
在過去幾十年中,世界發(fā)生了很大的變化。現(xiàn)在很多公司除了處理本地或地區(qū)性事務外,還要考慮全球市場和物流的問題。很多公司在全國甚至全球都設有分支機構,而這些公司都需要做的一件事情就是:找到能夠與分公司進行快速、安全和可靠通信的方式,而不管這些分公司設在何處。
直到最近為止,要想實現(xiàn)這個目的,還只能通過利用租用線路的方式來維護廣域網(WAN)。租用線路的范圍從ISDN(集成服務數字網絡,速度為128Kbps)到OC3(光學載波第3級,速度為155Mbps)光纖,這為公司提供了一種可以將其專用網絡擴展到臨近地理位置之外的方法。與互聯(lián)網等公用網絡相比,WAN在可靠性、性能和安全性方面都具有明顯的優(yōu)勢。但要維護一個 WAN,尤其是通過租用線路來維護時,費用是非常昂貴的,而且成本通常還會隨著分公司之間距離的增加而增加。
虛擬專用網(VPN)工作原理
隨著互聯(lián)網的興起,企業(yè)開始尋求利用互聯(lián)網來擴展他們的網絡。首先出現(xiàn)的是Intranet(企業(yè)內部互聯(lián)網),這是一種專供公司員工使用而設計的站點,受密碼保護。現(xiàn)在,很多公司都搭建了自己的VPN(虛擬專用網),以滿足遠程員工和分公司的需求。
思科系統(tǒng)公司供圖
一個典型的VPN可能包括公司總部的主LAN、遠程分公司或分支機構的其他LAN以及從網絡外部連接進來的個人用戶。
從原理上來說,VPN就是利用公用網絡(通常是互聯(lián)網)把遠程站點或用戶連接到一起的專用網絡。與使用實際的專用連接(例如租用線路)不同,VPN使用的是通過互聯(lián)網路由的“虛擬”連接,把公司的專用網絡同遠程站點或員工連接到一起。在本文中,您將了解到VPN的基礎知識,以及基本的VPN組件、技術、隧道技術和安全性。
VPN由什么組成?一個設計良好的VPN可以給公司帶來很多好處。例如,它可以:
擴展地理連接
改進安全性
降低運營成本(同傳統(tǒng)WAN相比)
降低遠程用戶的傳輸時間和傳送成本
提高生產效率
簡化網絡拓撲
可與全球網絡連接
提供遠距離工作支持
提供寬帶網絡兼容性
提供更快的ROI(投資回報)——同傳統(tǒng)WAN相比
一個設計良好的VPN需要什么功能?它應當集成:
安全性
可靠性
可伸縮性
網絡管理
策略管理
VPN有三種類型。在下面幾部分中,我們將詳細地介紹這些類型。
遠程訪問VPN
常見的VPN有兩種。遠程訪問也稱為虛擬專用撥號網絡(VPDN),它是一種用戶到LAN的連接,通常用于員工需要從各種遠程位置連接到專用網絡的公司。一般來說,公司都會把搭建大型遠程訪問VPN的工作外包給企業(yè)服務提供商(ESP)。ESP首先建立一個網絡訪問服務器(NAS),并向遠程用戶提供用于他們計算機的桌面客戶端軟件。然后,遠程工作者就可以通過撥打免費號碼連接NAS,并使用他們的VPN客戶端軟件訪問公司網絡。
典型的需要使用遠程訪問VPN的公司是擁有數百個銷售人員的大型公司。遠程訪問VPN能夠通過第三方服務提供商在公司專用網絡和遠程用戶之間實現(xiàn)加密的安全連接。
利用專用設備和大規(guī)模加密,公司可以通過公用網絡(如互聯(lián)網)連接到多個固定的站點。站點到站點式VPN有以下兩種類型:
基于Intranet——如果公司有一個或多個遠程位置想要加入到一個專用網絡中,他們可以建立一個Intranet VPN,以便將LAN連接到另一個LAN。
基于Extranet——如果公司同其他公司(例如合作伙伴、供應商或客戶)的關系緊密,他們可以建立一個Extranet VPN,以便將LAN連接到另一個LAN,同時讓所有公司都能在一個共享環(huán)境中工作。
模擬演示:每個局域網都是一個孤島
假設您生活在廣袤海洋中的一個島上。您周圍還有很多其他的島嶼,有一些離得非常近,有一些則離得比較遠。若要去其他島,通常的方式應該是從您的島乘船前往要去的地方。當然,乘船也就意味著您幾乎沒有什么隱私——無論您做什么別人都能看到。
現(xiàn)在我們把每個島看成一個專用局域網,而海洋就是互聯(lián)網。乘船旅行就像通過互聯(lián)網連接到Web服務器或其他設備。您無法控制互聯(lián)網的線路和路由器,就像您無法控制船上的其他人一樣。顯然,如果您要使用公用資源連接兩個專用網絡的話,這種方式是無法保障安全性的。
繼續(xù)我們的模擬演示。假設您所在的島現(xiàn)在決定建造一座通往另一個島嶼的橋,這樣人們可以更方便、更安全地直接來往于兩個島之間。即使您要連接的兩個島離得非常近,建造和維護一座橋的成本還是很高的,但您又特別想找到一種安全可靠的方式前往其他島,所以您不顧一切地建了這座橋。您所在的島可能還想同另外一個離得稍遠的島建立連接,但最終發(fā)現(xiàn)無法承擔那么高的成本。
這同使用租用線路的情況非常類似。橋(租用線路)獨立于海洋(互聯(lián)網),但它讓您能夠連接各個島嶼(局域網)。很多公司選擇這種路由方式,是因為它們需要安全可靠地連接自己的遠程分公司。不過,如果分公司離得非常遠,那么成本會高得難以承受,這和建造跨度很大的橋的情況一樣。
那么,VPN在這中間又有什么作用呢?還是使用我們的模擬演示。我們可以給兩個島上的每位居民一艘小型潛水艇。假設您的潛水艇具有一些驚人的特性:
它很快。
您到哪里都可以方便地帶著它。
它可以讓其他任何船只或潛水艇都看不到您。
它很可靠。
只要買了第一艘潛水艇,以后再買其他潛水艇時只需很少的錢。
在我們的模擬演示中,擁有潛水艇的每個人就
相當于有權訪問公司專用網絡的遠程用戶。
盡管這兩個島上的居民還是和其他人一樣在海上航行,但他們卻可以隨時穿梭往返,而不會存在隱私和安全性的問題。這就是VPN的工作原理。利用互聯(lián)網作為媒介連接到專用LAN,網絡的每個遠程成員都可以通過一種安全可靠的方式進行通信。與租用線路相比,VPN還可以更方便地擴大范圍,從而適應更多用戶和不同位置的需求。事實上,可伸縮性正是VPN相對于典型租用線路的主要優(yōu)勢。與成本隨著距離的增加而增加的租用線路不同,地理位置的遠近對VPN的影響是微乎其微的。
VPN安全性:防火墻一個設計良好的VPN可以使用多種方法來保護連接和數據的安全性:
防火墻
加密技術
IPSec
AAA服務器 在接下來的幾部分中,我們將分別介紹這些方法。首先從防火墻說起。
防火墻在專用網絡和互聯(lián)網之間提供了一道強大的屏障。您可以設置防火墻來限制開放端口的數量以及允許通過防火墻的數據包類型和協(xié)議。有些VPN產品,例如思科公司的1700路由器,可以通過運行相應的Cisco IOS進行升級,從而具備防火墻功能。在安裝VPN之前,您應該先部署好一個功能強大的防火墻,但防火墻也可以用于終止VPN會話。
VPN安全性:加密技術加密是指一臺計算機把要發(fā)送給另一臺計算機的所有數據編碼為只有后者才能解碼的格式的過程。大多數計算機加密系統(tǒng)都屬于以下兩種類型之一:
openvpn基于openssl來實現(xiàn)安全,但是卻不是傳統(tǒng)意義上的sslvpn,它只是一個普通的vpn,工作在ip層而不是傳輸層。vpn的含義著重點有兩層意思,一個是v,也就是虛擬,另一個是p,也就是專用。虛擬就是說不用物理布線,僅僅在邏輯上實現(xiàn)一個網絡,虛擬網絡之所以能實現(xiàn)并建立起來,靠的是分層模型的優(yōu)勢,分層模型直接將網絡按照邏輯意義縱向分成了7個層次(或者tcp/ip的5個層次),每一層都僅僅承載數據而不管數據的格式和內容,上下層次間僅僅通過接口和服務來通信,理論上任何層次的數據都可以被承載在其它的任何層次或者它當前的層次上,于是就出現(xiàn)了很多XX over YY的網絡模型,比較典型的比如ppp over ethernet等,over模型按照數據層次可以分為三類,第一類是上層數據承載于下層,這實際上就是我們使用的普通的tcp/ip模型,第二類是同層承載,比如上面說的pppoe,這一類構建方式主要是為了在一個以傳輸占主導的層次上增加一個非傳輸意義的邏輯或者說實現(xiàn)一個隧道,比如pppoe中,ethernet主要用于局域網傳輸,而且性價比十分合理,但是卻缺乏認證機制,但是ppp協(xié)議的認證功能雖然很好,但是卻缺乏多點通信和尋址能力,作為傳輸協(xié)議意義不大,于是就使用ethernet進行傳輸,使用ppp進行認證,另外一個同層承載的例子是IPSec的隧道模式,它將一個ip數據報封裝于另一個ip數據報中,這樣實際上也就實現(xiàn)了一般意義上的“虛擬局域網絡”(注意不是vlan),因為在數據報到達最終目的地之前,參與路由的始終是外層的ip頭,內層的ip頭連同真實數據都被外層ip當成了data,因此不參與路由,所以從隧道的出發(fā)路由器到結束路由器,不管中間經過的是局域網,廣域網還是別的什么,內層的ip數據報一直“以為”自己在出發(fā)路由器的那個局域網內,因此就實現(xiàn)了一個虛擬網絡,實現(xiàn)了vpn中的v,那么p呢,IPSec將v和p做到了一起,也就是說在實現(xiàn)ip over ip的過程中實現(xiàn)了安全,這就是熟知的ah協(xié)議和esp協(xié)議,實現(xiàn)了安全才能保證專用,否則別人都可以進入你的虛擬網絡了,作為vpn來說,IPsec就到此為止,但是IPSec的用處不光如此,IPSec主要是保證ip數據報的安全(因為ip層不提供任何安全保護,ipv6就不一樣了,完全不需要IPSec),vpn只是它的隧道模式的一個應用,除了隧道模式,IPSec還有傳輸模式,不建立隧道,只是將認證或者加密的功能置于ip數據報中,當然也就是不需要ip over ip了。眾所周知IPSec的隧道模式實現(xiàn)的vpn有一個缺陷,那就是很難穿越nat,因為nat要修改ip頭,一旦ip頭被修改了,那么最終的ah或者esp的認證加密的校驗結果就會出錯,因此就不能隨意在nat的網絡環(huán)境中使用IPSec實現(xiàn)的vpn,當然不涉及ip頭認證的IPSec協(xié)議還是可以用的。難道vpn就IPSec這一根稻草了嗎?認證和加密的邏輯十分復雜和多樣,不適合在ip層做,ip層做好快速路由和連接不同子網就夠了,如果將分層模型的每個層次僅僅當作一種交通工具來看待的話,問題就容易解決了,交通工具或者叫運輸工具可以相互運輸,大卡車可以運小卡車,也可以拆了被小卡車運,大卡車還可以運輸別的大卡車,它們都可以被放入集裝箱被輪船運輸,分層模型就是這樣的,我們可以讓應用層或者表示層或者傳輸層來承載ip數據報,這也就是over模型的第三類,即上層承載下層,很多時候越往上層邏輯越復雜,實現(xiàn)越靈活,如果想要在低層次實現(xiàn)高度復雜的邏輯,不妨試試這種模型,這個意義上看,IPSec實現(xiàn)的vpn最后肯定不如ip over ssl好,因為擴充IPSec很難,畢竟它在協(xié)議棧中的位置不適合做大幅修改,但是ssl的擴展性卻很好,它本身就在協(xié)議棧的頂端,即使影響也就影響應用層,比如迫使http轉換到https。如果說低層就不該有復雜多樣且多變的邏輯這種設計思想是對的,那么IPsec就不該出現(xiàn),IPv6除了擴充地址空間外,新增的功能凈加重了ip層的負擔,IPv6的復雜設計凈是商業(yè)公司為了推自己的接口或者設備而使出的伎倆,不過也說不準,留給歷史評述吧。
