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