VPN 原理

什麼是VPN

認識數據加/解密

數據加/解密的類型

散列算法

IPSecBase VPN

Linux下的IPSec架構

在前面的章節中筆者用了很多篇幅討論加強企業網絡安全的方法,本章我們還要繼續討論這方面的議題,只不過這裏所要討論的方向是如何讓企業網絡的通信變得更安全。

其實,加強通信安全的方法有很多,例如,使用Modem來撥號連接或是FrameRelay 的應用等,都可以提高網絡上數據傳遞的安全,但就方便、經濟及安全性來考慮,筆者認爲VPNVirtualPrivate Network)是其中最好的選擇,但是好一點的商用版VPN系統設備少則幾十萬,如果使用VPN的人數很多,這些VPN的授權費用更是一般中小企業所無法負擔的,然而,近年來在Linux系統上VPN技術的發展,已足夠與商用版VPN系統平起平坐,而且LinuxVPN 系統所能提供的安全性、穩定性及高性能等優點,都是大多數商用VPN系統所望塵莫及的,當然,另一個更爲誘人的原因是它完全免費。

VPN技術發展至今已有數個年頭,且衍生出多種不同的VPN技術,比方說,PPTPSSLVPNCIPEIPSec等。而本章所要介紹的是以IPSec技術爲基礎的VPN系統,除了完整介紹IPSec的相關技術之外,還包含各種不同網絡架構下VPN系統的配置方式,如果你對VPN技術有興趣或有需求,那麼本章的內容你絕對不能錯過。

8.1什麼是VPN

VPNVirtualPrivateNetwork)的中文意思爲“虛擬專用網絡”,而VPN的功能是將因特網虛擬成企業網絡來使用,這樣的敘述似乎不是很容易理解,筆者以圖8-1爲例來說明VPN的功能及使用VPN的必要性。


 

(點擊查看大圖)圖8-1VPN 介紹 (1)

8-1中,筆者假設某企業有兩個分點,分別爲臺北總公司及上海分公司,而這兩個分部的企業網絡都設置有防火牆,且內部網絡都是使用PrivateIP,另外,公司的老闆經常會到世界各地出差,所以在這個網絡架構下,請你思考一個問題,上海分公司及經常出差的老闆是否能夠正常訪問臺北總公司內的FileServer ?答案當然是“不可能”,因爲臺北總公司內的FileServer 是放在NAT後方的PrivateIP 區段上,因此上海分公司及出差的老闆不可能訪問到總公司內的FileServer,但這樣的需求在現實網絡應用中卻是需要的,難道沒有完整的解決方案嗎?

VPN正是爲了解決此問題而設計出來的技術。在以往,我們爲了連接兩個遠程PrivateIP 網段,必須向電信業者申請FrameRelay 的服務,而FrameRelay感覺就像電信業者幫我們拉了一條很長的網線,然後運用這條網線來連接兩個PrivateIP 的網段,雖然FrameRelay 也可以幫我們解決以上的問題,但FrameRelay 並不是萬能的,下面我們來看看FrameRelay 的優缺點。

FrameRelay的優點:FrameRelay最大的優點在於“帶寬保證”,也就是說,如果你申請的是1MbpsFrameRelay,就一定會有1Mbps的帶寬可以使用,不會因爲因特網的擁塞而有任何折扣。

FrameRelay的缺點:FrameRelay服務的費用並不是很便宜,而且在Fr ame Re l ay網絡中所傳送的數據並沒有加密,故其安全性較差;此外,FrameRelay服務僅能應用於固定的位置(地理環境),如圖8-2所示是老闆帶着NoteBook到處出差,並沒有固定的位置,因此,就無法使用FrameRelay的服務。

 

(點擊查看大圖)圖8-2VPN 介紹(2)

相對於VPN就不一樣了,在早期由於侷限在因特網頻寬的限制下,如果企業想高速跨越因特網來連接兩個網段,那麼FrameRelay 絕對是首選,但近年來,因爲ISP業者不斷加大其所擁有的頻寬,使得我們上網的連接速度不像以前極不穩定,再加上數據加/解密技術已成熟且CPU運算速度夠快,因此,VPN技術已逐漸被企業所接受。那VPN究竟是哪種技術呢?如果以圖8-1爲例來套用VPN技術,其邏輯上的架構就會如同圖8-2,也就是說,VPN把整個因特網虛擬成一個Router,因此,上海分公司及出差的老闆就可以藉助這個Router來訪問企業內部的FileServer





8.1.1VPN的原理

說到這裏,你或許會有疑問:來源及目的端IP都是PrivateIPVPN如何讓這些PrivateIP 可以在因特網上的路由呢?這就是VPN最爲重要的一個特點,筆者以圖8-3爲例來說明VPN技術是如何讓兩部PrivateIP 的主機能夠跨越因特網來連接。

 

(點擊查看大圖)圖8-3VPN 的原理

從圖8-3中我們可以看到兩部VPNServer,且各自都有兩塊網卡,其中一塊連接在因特網,我們假設其IP分別爲AB兩個PublicIP,另外一塊網卡則分別連接至192.168.1.0/24192.168.2.0/24兩個PrivateIP 的網段,接着我們來看看192.168.1.10主機如何藉助VPN技術跨越因特網來連接192.168.2.20主機。

首先192.168.1.10主機送封包給192.168.2.20主機,當這個封包傳送至①的位置時,其封包的來源端IP192.168.1.10,目的端IP192.168.2.20,如圖8-4所示。

 

(點擊查看大圖)圖8-4VPN 技術下封包處理(1)

但是這個封包被送到VPNServerA)之後②,VPNServer 會把這個封包以特殊的方式來處理,如圖8-5所示,VPNServer 會把原本的整個封包當做其所要傳遞的數據內容,並且重新產生一個新的IP包頭,而這個新的IP包頭中的來源端IPVPNServerA)上的PublicIP A,目的端IP則爲VPNServerB)上的PublicIP B,這樣這個封包當然就可以從VPNServerA)跨越因特網傳送到VPNServerB)。

 

(點擊查看大圖)圖8-5VPN 技術下封包處理(2


VPNServerB)收到這個封包之後③,其內容應該還是如圖8-5所示,接着VPNServerB)就執行其該做的事,就是將新的IP包頭整個去除掉,而去除新IP包頭之後的內容就如圖8-4所示,最後VPNServerB)將這個封包送至192.168.2.0/24的網段上④,這樣兩個PrivateIP 的主機就可以跨越因特網來連接。

接着,請你想象以上這樣的原理,像不像是使用AB兩個IP來搭建出一條隧道,然後讓192.168.1.10192.168.2.20兩部主機所傳送的封包得以穿梭於隧道之中,這種邏輯上的技術我們稱爲Tunnel。而VPN的隧道技術有很多種方式,一般較常見的有IPin IP TunnelL2TPTunnel PPTPTunnel,目前我們所討論的是IPin IP Tunnel

8.1.2常見的VPN架構

VPN的架構大概可分爲兩種,以圖8-1爲例,我們使用VPN將臺北總公司與上海分公司的兩個網段串接起來,這稱爲Site-to-Site或是Subnet-to-SubnetVPN架構;此外,老闆以便攜計算機通過VPN來串接臺北總公司的網段,則稱之爲Client-to-Site或是Client-to-SubnetVPN架構。

8.1.3VPN的安全性問題

在看完VPN的原理之後,你或許無法接受VPN的技術,如圖8-5所示,如果192.168.1.10192.168.2.20所傳遞的是極機密的數據,那麼圖8-3中我們在VPNServer A B之間啓動WireShark之類的封包提取軟件不就可以看到這些機密的數據內容嗎?如果你有這樣的想法,就代表你對網絡數據傳遞的安全性已有正確的概念,不過,這個問題我們並不需要太在意,因爲VPN機制允許我們在VPNServer A B之間進行數據加密,因此,你可以暫時把加密過後的封包想象成如圖8-6的樣子,這樣就不必擔心企業內的機密數據被竊取了。

 

(點擊查看大圖)圖8-6VPN 技術下封包處理(3



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章