一、什麼是VPN?
虛擬專用網(VPN,Virtual Private Network)是一種利用公共網絡來構建的私人專用網絡技術,不是真的專用網絡,但卻能夠實現專用網絡的功能。虛擬專用網指的是依靠ISP(Internet服務提供商)和其它NSP(網絡服務提供商),在公用網絡中建立專用的數據通信網絡的技術。 在虛擬專用網中,任意兩個節點之間的連接並沒有傳統專網所需的端到端的物理鏈路,而是利用某種公眾網的資源動態組成的。IETF草案理解基於IP的VPN為:"使用IP機制仿真出一個私有的廣域網"是通過私有的隧道技術在公共數據網絡上仿真一條點到點的專線技術。所謂虛擬,是指用戶不再需要擁有實際的長途數據線路,而是使用Internet公眾數據網絡的長途數據線路。所謂專用網絡,是指用戶可以為自己制定一個最符合自己需求的網絡。
二、VPN的安全性
目前VPN主要采用四項技術來保證安全,這四項技術分別是隧道技術(Tunneling)、加解密技術(Encryption & Decryption)、密鑰管理技術(Key Management)、使用者與設備身份認證技術(Authentication)。
1、隧道技術
隧道技術是VPN的基本技術類似於點對點連接技術,它在公用網建立一條數據通道(隧道),讓數據包通過這條隧道傳輸。隧道是由隧道協議形成的,分為第二、三層隧道協議。第二層隧道協議是先把各種網絡協議封裝到PPP中,再把整個數據包裝入隧道協議中。這種雙層封裝方法形成的數據包靠第二層協議進行傳輸。第二層隧道協議有L2F、PPTP、L2TP等。L2TP協議是目前IETF的標准,由IETF融合PPTP與L2F而形成。 第三層隧道協議是把各種網絡協議直接裝入隧道協議中,形成的數據包依靠第三層協議進行傳輸。第三層隧道協議有VTP、IPSec等。IPSec(IP Security)是由一組RFC文檔組成,定義了一個系統來提供安全協議選擇、安全算法,確定服務所使用密鑰等服務,從而在IP層提供安全保障。
2、加解密技術
加解密技術是數據通信中一項較成熟的技術,VPN可直接利用現有技術。
3、密鑰管理技術
密鑰管理技術的主要任務是如何在公用數據網上安全地傳遞密鑰而不被竊取。現行密鑰管理技術又分為SKIP與ISAKMP/OAKLEY兩種。SKIP主要是利用Diffie-Hellman的演算法則,在網絡上傳輸密鑰;在ISAKMP中,雙方都有兩把密鑰,分別用於公用、私用。
4、使用者與設備身份認證技術
使用者與設備身份認證技術最常用的是使用者名稱與密碼或卡片式認證等方式,目前這方面做的比較成熟的有國內的深信福科技的VPN解決方案。
三、VPN網絡的可用性
通過VPN,企業可以以更低的成本連接遠程辦事機構、出差人員以及業務合作伙伴關鍵業務。虛擬網組成之後,遠程用戶只需擁有本地ISP的上網權限,就可以訪問企業內部資源,這對於流動性大、分布廣泛的企業來說很有意義,特別是當企業將VPN服務延伸到合作伙伴方時,便能極大地降低網絡的復雜性和維護費用。
VPN技術的出現及成熟為企業實施ERP、財務軟件、移動辦公提供了最佳的解決方案。
一方面,VPN利用現有互聯網,在互聯網上開拓隧道,充分利用企業現有的上網條件,無需申請昂貴的DDN專線,運營成本低。
另一方面,VPN利用IPSEC等加密技術,使在通道內傳輸的數據,有著高達168位的加密措施,充分保證了數據在VPN通道內傳輸的安全性。
四、VPN網絡的可管理性
隨著技術的進步,各種VPN軟硬件解決方案都包含了路由、防火牆、VPN網關等三方面的功能,企業或政府通過購買VPN設備,達到一物多用的功效,既滿足了遠程互聯的要求,而且還能在相當程度上防止黑客的攻擊、並能根據時間、IP、內容、Mac地址、服務內容、訪問內容等多種服務來限制企業公司內部員工上網時的行為,一舉多得。
VPN設備的安裝調試、管理、維護都極為簡單,而且都支持遠程管理,大多數VPN硬件設備甚至可通過中央管理器進行集中式的管理維護。出差人員也可以通過客戶端軟件與中心的VPN設備建立VPN通道,從而達到訪問中心數據等資源的目的。讓互聯無處不在,極大地方便了企業及政府的數據、語音、視頻等方面的應用。
五、windows 2003實現NAT地址轉換和VPN服務器
下面我們介紹一下通過Windows Server操作系統自帶的路由和遠程訪問功能來實現NAT共享上網和VPN網關的功能。網絡拓撲圖如下。我們要實現在異地通過VPN客戶端訪問總部局域網各種服務器資源。
第一步:系統前期准備工作
服務器硬件:雙網卡,一塊接外網,一塊接局域網。在windows2003中VPN服務稱之為“路由和遠程訪問”,默認狀態已經安裝。只需對此服務進行必要的配置使其生效即可。
首先確定是否開啟了Windows Firewall/Internet Connection Sharing (ICS)服務,如果開啟了Windows Firewall/Internet Connection Sharing (ICS)服務的話,在配置“路由和遠程訪問”時系統會彈出如下對話框。
我們只要去“開始”-“程序”-“管理工具”-“服務”裡面把Windows Firewall/Internet Connection Sharing (ICS)停止,並設置啟動類型為禁用,如下圖所示:
第二步:開啟VPN和NAT服務
然後再依次選擇“開始”-“程序”-“管理工具”-“路由和遠程訪問”,打開“路由和遠程訪問”服務窗口;再在窗口左邊右擊本地計算機名,選擇“配置並啟用路由和遠程訪問”,如下圖所示:
在彈出的“路由和遠程訪問服務器安裝向導”中點下一步,出現如下對話框。
由於我們要實現NAT共享上網和VPN撥入服務器的功能,所以我們選擇“自定義配置”選項,點下一步;
在這裡我們選擇“VPN訪問”和“NAT和基本防火牆”選項,點下一步,在彈出的對話框中點“完成”,系統會提示是否啟動服務,點“是”,系統會按剛才的配置啟動路由和遠程訪問服務,最後如下圖所示;
第三步:配置NAT服務
右擊“NAT/基本防火牆”選項,選擇“新增接口”,彈出如下對話框;
在這裡我們根據自己的網絡環境選擇連接Internet的接口,選擇“wan”接口,點“確定”,彈出“網絡地址轉換-wan屬性”對話框,進行如下圖所示配置;
由於我們這個網卡是連接外網的所以選擇“公用接口連接到Internet”和“在此接口上啟用NAT”選項並選擇“在此接口上啟用基本防火牆”選項,這對服務器的安全是非常重要的。
下面我們點“服務和端口”設置服務器允許對外提供PPTP VPN服務,在“服務和端口”界面裡點“VPN網關(PPTP)”,在彈出的“編輯服務”對話框中進行如下圖設置;
點“確定”,回到“服務和端口”選項卡,確保選中“VPN網關(PPTP)”,如下圖;
第四步:根據需要設置VPN服務
設置連接數:右擊右邊樹形目錄裡的端口選項,選擇屬性,彈出如下對話框;
Windows Server 2003 企業版VPN服務默認支持128個PPTP連接和128個L2TP連接,因為我們這裡使用PPTP協議,所以我們雙擊“WAN微型端口(PPTP)選項,在彈出的對話框裡根據自己的需要設置所需的連接數;Windows Server 2003企業版最多支持30000個L2TP端口,16384個PPTP端口。
設置IP地址:右擊右邊樹形目錄裡的本地服務器名,選擇“屬性”並切換到IP選項卡(如下圖所示)。
這裡我們選擇“靜態地址池”點“添加”,根據需要接入數量任意添加一個地址范圍,但是不要和本地IP地址沖突,如下圖所示;
點“確定”回到“IP”選項卡,點“確定”應用設置;
第五步:設置遠程訪問策略,允許指定用戶撥入
新建用戶和組:點“開始”-“程序”-“管理工具”-“計算機管理”,彈出“計算機管理”對話框,如下圖;
選擇“本地用戶和組”,右擊“用戶”-“新用戶”進行如下圖所示設置;
點擊“創建”新增一個用戶;
在右邊的樹形目錄中右擊“組”-“新建組”,添入“組名”,點“添加”在彈出的“選擇用戶”對話框中,點“高級”-“立即查找”,選擇剛才建立的“TEST”用戶,把用戶加入剛才建立的組,如下圖;
設置遠程訪問策略:在“路由和遠程訪問”窗口,右擊右面樹形目錄中的“遠程訪問策略”,選擇“新建遠程訪問策略”,在彈出的對話框中點“下一步”,填入方便記憶的“策略名”,點“下一步”,選擇“VPN”選項,點“下一步”,點“添加”把剛才新建的組加入到這裡,點“下一步”, “下一步”, “下一步”,“完成”,就完成了遠程策略的設置,後面如果需要新的用戶需要VPN服務,只要為該用戶新建一個帳號,並加入剛才新建的“TEST”組就可以了。
第六步:設置動態域名
我們把動態域名放在這裡來說。因為一般企業接入互聯網應該有固定IP,這樣客戶機便可隨時隨地對服務端進行訪問;而如果你是家庭用戶采用的 ADSL寬帶接入的話,那一般都是每次上網地址都不一樣的動態IP,所以需在VPN服務器上安裝動態域名解析軟件,才能讓客戶端在網絡中找到服務端並隨時可以撥入。筆者常用的動態域名解析軟件為:花生殼,可以在www.oray.net下載,其安裝及注意事項請參閱相關資料,這裡不再詳述
六、VPN客戶端配置
這一端配置相對簡單得多,只需建立一個到VPN服務端的專用連接即可。首先肯定客戶端也要接入internet網絡,接著筆者同樣以windows 2003客戶端為例說明,其它的win2K操作系統設置都大同小異:
第一步:在桌面“網上鄰居”圖標點右鍵選屬性,之後雙擊“新建連接向導”打開向導窗口後點下一步;接著在“網絡連接類型”窗口裡點選第二項“連接到我的工作場所的網絡”,繼續下一步,在如下圖所示網絡連接方式窗口裡選擇第二項“虛擬專用網絡連接”;接著為此連接命名後點下一步。
第二步:在“VPN服務器選擇”窗口裡,等待我們輸入的是VPN服務端的固定內容,可以是固定IP,也可以是由花生殼軟件解析出來的動態域名(此域名需要在提供花生殼軟件的www.oray.net網站下載);接著出現的“可用連接”窗口保持“只是我使用”的默認選項;最後,為方便操作,可以勾選“在桌面上建立快捷方式”選項,單擊完成即會先出現如下圖所示的VPN連接窗口。輸入訪問VPN服務端合法帳戶後的操作就跟XP下“遠程桌面”功能一樣了。連接成功後在右下角狀態欄會有圖標顯示。
第三步:連接後的共享操作,只要有過一些局域網使用經驗的朋友應該知道怎麼做了吧?一種辦法是通過“網上鄰居”查找VPN服務端共享目錄;另一種辦法是在浏覽器裡輸入VPN服務端固定IP地址或動態域名也可打開共享目錄資源。這其實已經跟在同一個局域網內的操作沒什麼區別了,自然也就可以直接點擊某個視頻節目播放,省去下載文件這一步所花時間了。
七、總結
到這裡我們已經實現了用一台Windows Server 2003操作系統做一台NAT和VPN遠程接入服務器,實現公司或家庭共享上網和VPN遠程接入訪問本地局域網,實現移動辦公。但是這台服務器在安全性和功能上還有一定缺陷,我將在後面的文章中陸續介紹搭建基於L2TP OVER IPSEC的VPN服務器,以增強數據在網絡傳輸中的安全性。介紹搭建基於Microsoft Internet Security and Acceleration (ISA) Server 2006防火牆的遠程接入服務器,介紹基於Microsoft Internet Security and Acceleration (ISA) Server 2006的站點到站點的虛擬專用網絡。