您可以通過無數(shù)種方式構(gòu)建虛擬專用網(wǎng)絡(luò)。最低限度的VPN實現(xiàn)方案由連接Internet的RAS PPTP服務(wù)器、連接Internet的客戶端以及位于上述服務(wù)器與客戶端之間的PPTP連接所組成。只要ISP服務(wù)或Internet連接處于可用狀態(tài),客戶端即可從世界上的任意一個角落與您的服務(wù)器建立連接。然而,大多數(shù)VPN并非僅僅由相互連接的服務(wù)器與客戶端構(gòu)成。通常情況下,VPN服務(wù)器位于一個可以實現(xiàn)路由的LAN網(wǎng)段上,并處在防火墻后方;客戶端連接則使用一個同樣包含路由器與防火墻的ISP網(wǎng)絡(luò)。圖1顯示了一種常見的移動客戶端VPN實現(xiàn)方案。
您只需通過幾個簡單步驟即可以獨立服務(wù)器或域控制器的方式創(chuàng)建一臺PPTP服務(wù)器。您需要安裝RAS和PPTP協(xié)議,并按照配置撥號連接的方式來配置PPTP端口。Windows NT客戶端安裝過程同樣相當(dāng)直接:您只需裝載PPTP并配置通過Internet與PPTP服務(wù)器相連的PPTP連接。由于安裝方式如此簡單,您自然會認(rèn)為VPN連接將一次調(diào)試通過。然而,實際情況卻是,VPN連接在某些情況下仍舊需要進(jìn)行調(diào)節(jié)。
VPN故障診斷與WAN連通性故障診斷非常相似,由于數(shù)據(jù)在到達(dá)目的地之前需要在許多連接上進(jìn)行傳送,因此,整個處理過程相當(dāng)復(fù)雜。舉例來說,通常情況下,數(shù)據(jù)需要通過防火墻、ISP網(wǎng)絡(luò)甚至其它ISP網(wǎng)絡(luò)從客戶端傳送至ISP路由器,再由ISP路由器依次傳送至企業(yè)路由器、防火墻或代理服務(wù)器,并最終到達(dá)目標(biāo)PPTP服務(wù)器。
當(dāng)客戶端與某個ISP建立連接時(這種連接使用VPN連接中的點對點協(xié)議--PPP--部分),ISP將為客戶端分配一個TCP/IP地址、一個DNS服務(wù)器地址以及一個缺省網(wǎng)關(guān)。當(dāng)客戶端發(fā)起一個PPTP連接時,這項操作將創(chuàng)建第二個TCP/IP會話(這個會話是VPN連接的隧道部分),并將其嵌入到用以提供數(shù)據(jù)包加密與封裝功能的第一個會話內(nèi)部。當(dāng)客戶端連接成功后,VPN服務(wù)器將為客戶端分配第二個IP地址、第二個DNS服務(wù)器地址、可選WINS服務(wù)器以及另一個缺省網(wǎng)關(guān)。圖2顯示了組成PPTP會話的兩部分內(nèi)容--PPP連接和PPTP連接。在連接中的每一條鏈接上,均有可能出現(xiàn)故障。了解常見配置與連通性問題并掌握必要的故障診斷操作步驟將幫助您對VPN連接進(jìn)行解譯與調(diào)試。
VPN服務(wù)器建議
如果可能的話,請從一臺裝有最低限度服務(wù)且僅含TCP/IP與PPTP協(xié)議的NT服務(wù)器開始。NT 4.0 Service Packs 5(SP5)與SP6a修正了大量有關(guān)PPTP連接的問題,其中包括與碎片數(shù)據(jù)包、被丟棄的連接以及被拒絕的連接相關(guān)的性能問題。如果在嘗試對客戶端連接進(jìn)行調(diào)試之前首先利用服務(wù)軟件包對服務(wù)器進(jìn)行更新,那么,您將能夠節(jié)省大量時間。為幫助您保持簡單直接的服務(wù)器配置,以便實現(xiàn)故障診斷目的,我將為您提供四條建議。
配置一臺多宿主服務(wù)器:如果您的PPTP服務(wù)器配備了兩塊網(wǎng)卡,一塊針對LAN,一塊針對WAN,那么,請將LAN適配器上的網(wǎng)關(guān)設(shè)置為空(請注意,這里要求設(shè)置為空而非設(shè)置為0)。在WAN網(wǎng)絡(luò)接口的網(wǎng)關(guān)字段中輸入ISP所定義的TCP/IP地址;網(wǎng)關(guān)地址通常指向ISP所屬的一臺路由器。您需要保持LAN網(wǎng)關(guān)設(shè)置為空,以便使服務(wù)器能夠?qū)⒕W(wǎng)絡(luò)數(shù)據(jù)包路由至客戶端。當(dāng)您為服務(wù)器配置多個網(wǎng)絡(luò)適配器時,保持LAN網(wǎng)關(guān)設(shè)置為空是一種標(biāo)準(zhǔn)實現(xiàn)方式。如需獲取更多有關(guān)如何為多宿主服務(wù)器配置路由方式的信息,請查看“原先發(fā)布的相關(guān)文章”中的第XX頁。在測試過程中,我建議您手工輸入LAN NIC的TCP/IP地址與WINS服務(wù)器地址(而不要通過DHCP為其分配這些取值)。
配置RAS:當(dāng)您安裝RAS時,請僅為那些真正需要提供支持的活動客戶端連接配置必要數(shù)量的VPN端口。盡管每臺RAS服務(wù)器能夠支持256條并行連接(假設(shè)您擁有足夠支持所有這些活動的網(wǎng)絡(luò)帶寬),然而,在實際應(yīng)用過程中,您可能只需要為您的漫游用戶提供40條并行連接。接下來,將服務(wù)器配置為通過靜態(tài)地址池而非DHCP服務(wù)器來分配客戶端地址。如果您將RAS配置為從靜態(tài)地址池中分配客戶端地址,那么,客戶端將從RAS服務(wù)器繼承DNS與WINS設(shè)置。如果您的RAS服務(wù)器能夠瀏覽網(wǎng)絡(luò),那么,客戶端同樣可以利用相同的設(shè)置來瀏覽網(wǎng)絡(luò)。
如果您傾向于使用DHCP,請確保DHCP范圍選項44(WINS/NetBIOS名稱服務(wù)器)指向WINS服務(wù)器且范圍選項6顯示您的DNS服務(wù)器地址。如果未能定義這些選項,那么,您將幾乎肯定會在客戶端瀏覽過程中遇到問題。
啟用PPTP過濾功能:由于可以避免測試與調(diào)試鏈中的某個連接被防火墻刪除,因此,同對處在防火墻內(nèi)部的服務(wù)器進(jìn)行測試相比,對處于防火墻外部的VPN服務(wù)器進(jìn)行配置與測試要容易得多。如果在具備高度安全性的環(huán)境中運行服務(wù)器,您便可以放心的將服務(wù)器置于防火墻外部并將允許進(jìn)入的唯一VPN通信內(nèi)容限制為PPTP數(shù)據(jù)包。如屏幕快照1所顯示的那樣,如需從控制面板中啟用PPTP過濾功能,請依次選擇“網(wǎng)絡(luò)”、“協(xié)議”、“TCP/IP協(xié)議”、“WAN適配器”、“高級”,并選中“啟用PPTP過濾功能”復(fù)選框。當(dāng)您啟用PPTP過濾器后,服務(wù)器拒絕所有非PPTP請求。我曾經(jīng)對這項特性進(jìn)行過專門測試,事實證明,這是一種能夠?qū)M(jìn)入VPN連接會話加以限制的有效方式。PPTP過濾功能具有一個重要的副作用:當(dāng)您啟用過濾功能后,由于其阻擋了進(jìn)入的HTTP與FTP通信內(nèi)容,LAN客戶端將無法通過RAS服務(wù)器的WAN連接對Internet進(jìn)行瀏覽。
如果希望VPN服務(wù)器將允許進(jìn)入的數(shù)據(jù)包限制為PPTP數(shù)據(jù)包并托管一個可以通過Internet進(jìn)行訪問的Web站點,那么,您需要對注冊表進(jìn)行修改以便允許其它數(shù)據(jù)包通過過濾接口進(jìn)入本地系統(tǒng)。前往HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services RASPPTPF Parameters注冊表鍵,添加名為AllowPacketsForLocalMachine且數(shù)據(jù)類型為REG_DWORD的記錄項,并將其取值設(shè)置為1。當(dāng)完成此項修改后,RAS服務(wù)器將暴露在Internet上,然而進(jìn)入VPN服務(wù)器的連接將受到限制,這樣一來,遠(yuǎn)程客戶端將無法看到網(wǎng)絡(luò)上的任何其它資源。
使用防火墻端口:在將VPN服務(wù)器置于防火墻后方之前,請首先確認(rèn)您的防火墻軟件能夠接收PPTP數(shù)據(jù)包。當(dāng)您通過網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)對防火墻進(jìn)行配置時,防火墻軟件包(包括某些支持檢查點軟件技術(shù)的FireWall-1版本)在某些情況下可能無法接受PPTP連接。這種情況下,嘗試與RAS服務(wù)器建立連接的客戶端將報出一條事件編號為721的錯誤消息--PPP遠(yuǎn)端未能響應(yīng)。當(dāng)您將VPN服務(wù)器置于防火墻后方時,請確保啟用編號為47的IP協(xié)議端口(通用路由封裝--GRE)和以及編號為1723的TCP端口。VPN連接使用1723端口完成諸如PPTP隧道創(chuàng)建、維護(hù)與終止之類的日常管理工作。47端口則用于在客戶端與服務(wù)器(包含GRE協(xié)議)之間傳送隧道數(shù)據(jù),如果您希望支持RAS服務(wù)器對服務(wù)器VPN連接,則同樣需要建立編號為1723的TCP端口。
在嘗試與VPN客戶端建立連接之前,請首先對通信雙方NIC上的服務(wù)器TCP/IP設(shè)置進(jìn)行驗證,并確保您的RAS服務(wù)器能夠執(zhí)行所有典型網(wǎng)絡(luò)操作(例如瀏覽LAN、連接LAN資源、連接Internet或瀏覽Internet等)。此后,請針對您的測試帳號啟用撥號權(quán)限。另外,您可能還需要在最初測試過程中啟用PPP日志功能。
客戶端故障診斷
為確保操作成功,PPTP客戶端必須正確維護(hù)兩套TCP/IP協(xié)議棧設(shè)置:其中一套面向于ISP與Internet連接,另一套面向于VPN服務(wù)器連接,具體情況如圖2所示。客戶端路由表同樣必須包含兩條記錄:其中一條負(fù)責(zé)將網(wǎng)絡(luò)數(shù)據(jù)包定向至提供Internet瀏覽服務(wù)的ISP,另一條指向用于實現(xiàn)LAN瀏覽的VPN服務(wù)器接口。當(dāng)協(xié)議棧設(shè)置不正確時,客戶端將會遇到嚴(yán)重問題。通常情況下,NT客戶端維護(hù)獨立的TCP/IP協(xié)議棧設(shè)置,然而,當(dāng)同時配備網(wǎng)卡和調(diào)制解調(diào)器時,Windows 95客戶端則會經(jīng)常出現(xiàn)協(xié)議棧設(shè)置問題。在建立PPTP連接后,Windows 9x缺省網(wǎng)關(guān)可能仍舊指向ISP,從而使客戶端無法成功瀏覽LAN。下面,讓我們來看一看五種最為常見的客戶端連接問題。
客戶端無法連接PPTP服務(wù)器:您可能遇到的第一種問題是客戶端無法連接到PPTP服務(wù)器。此時,您需要對以下三種可能導(dǎo)致這種問題的因素進(jìn)行查看。
建立VPN服務(wù)器Internet連通性。在完成客戶端配置工作后,您需要驗證VPN服務(wù)器具備一條Internet連接。驗證這種連接的最簡單方式是從設(shè)置服務(wù)器TCP/IP地址的客戶端上對服務(wù)器執(zhí)行ping操作。(如果您的PPTP服務(wù)器位于防火墻后方且防火墻被設(shè)置為阻止Internet控制消息協(xié)議--ICMP--ping消息,那么,這種驗證方式將無法使用。)如果ping指令顯示消息請求超時,則說明服務(wù)器Internet連接可能存在某種問題。如果服務(wù)器通過地址進(jìn)行相應(yīng),您可以在DUN記錄的電話號碼字段中輸入TCP/IP地址以便建立PPTP會話。盡管與通過全面驗證的域名(FQDN)相比有些不夠友好,這項技術(shù)在您知道服務(wù)器地址的情況下仍舊非常有效。
需要注意的是,使用撥號連接的服務(wù)器很有可能在每次與ISP建立連接時獲得不同的地址。如需通過地址進(jìn)行連接,您必須了解服務(wù)器每次建立撥號連接時由ISP所分配的地址。通常情況下,您的RAS服務(wù)器將使用一個永久地址,從而消除了連接過程中的一項細(xì)微可變因素。
如果服務(wù)器通過地址進(jìn)行響應(yīng),請繼續(xù)使用名稱對其執(zhí)行ping操作。如果服務(wù)器無法通過名稱進(jìn)行響應(yīng),原因可能有兩種:服務(wù)器可能不具備注冊域名,或者您的ISP DNS服務(wù)器可能處于停機狀態(tài)或無法正常工作。
查看PPTP過濾功能。當(dāng)服務(wù)器上的PPTP過濾功能處于啟用狀態(tài)時,您可能會看到消息“錯誤678:無法應(yīng)答”或“錯誤650:遠(yuǎn)程訪問服務(wù)器無法響應(yīng)”。此時,請在服務(wù)器上禁用PPTP過濾功能(Net Stop RASPPTPF),并查看是否可以建立非過濾連接。
如果能夠在過濾功能處于禁用狀態(tài)的情況下建立連接,請檢查服務(wù)器的過濾器設(shè)置。如果您禁用了編號為137和138的UPD端口或者編號為139的TCP端口,NetBIOS數(shù)據(jù)包將無法通過網(wǎng)絡(luò)。對于單播(點對點)通信過程,您同樣需要在客戶端與服務(wù)器之間的所有防火墻與路由器上 。


