摘要:隨著社會信息化的發(fā)展,遠(yuǎn)程教育逐漸成為現(xiàn)代教育手段中必不可少的組成部分,構(gòu)建統(tǒng)一的信息平臺,實現(xiàn)資源共享,成為遠(yuǎn)程教育建設(shè)的基本前提條件。VPN隧道的安全、便捷、低成本,成為了實現(xiàn)遠(yuǎn)程教育的首選。
關(guān)鍵詞:虛擬專用網(wǎng);安全I(xiàn)P協(xié)議;隧道;服務(wù)質(zhì)量保證
中圖分類號:TP393.1 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9599 (2012) 22-0000-02
1 引言
知識經(jīng)濟時代的到來,使得社會對教育模式、教育手段都提出了新的要求。遠(yuǎn)程教育作為現(xiàn)代網(wǎng)絡(luò)教育的形式之一,目前正在迅速普及和發(fā)展,各種形式的遠(yuǎn)程教育平臺應(yīng)運而生,基于Linux的VPN平臺,由于其安全、便捷、廉價、便于維護等突出優(yōu)點成為網(wǎng)絡(luò)教育的首選。從實用及安全性出發(fā),針對基于Linux的Open VPN在遠(yuǎn)程教育中的應(yīng)用及可能出現(xiàn)的一些問題,本文作了一些有益的嘗試。
2 VPN技術(shù)概述
2.1 VPN技術(shù)
VPN(Virtual Private Network)即虛擬專用網(wǎng)絡(luò),為我們提供了一種通過公用網(wǎng)絡(luò)安全地對內(nèi)部網(wǎng)絡(luò)進行遠(yuǎn)程訪問的連接方式。一個網(wǎng)絡(luò)連接通常由三個部分組成:客戶機、傳輸介質(zhì)和服務(wù)器,VPN同樣也由這三部分組成,盡管VPN沒有自己的專用線路,但這個邏輯上的專用通道卻可以提供和專用網(wǎng)絡(luò)同樣的功能,是建立在公共網(wǎng)絡(luò)或?qū)S镁W(wǎng)絡(luò)基礎(chǔ)之上的。
VPN分為三種類型:遠(yuǎn)程訪問虛擬網(wǎng)(Access VPN)、內(nèi)部虛擬網(wǎng)(Intranet VPN)和擴展虛擬網(wǎng)(Extranet VPN),這三種類型的VPN與傳統(tǒng)的遠(yuǎn)程訪問網(wǎng)絡(luò)、企業(yè)內(nèi)部的Intranet以及企業(yè)網(wǎng)和相關(guān)合作伙伴的企業(yè)網(wǎng)所構(gòu)成的Extranet相對應(yīng),同時可以提供防火墻功能、認(rèn)證、加密、隧道化等功能。
2.2 常用VPN的實現(xiàn)方法
VPN使用三個方面的技術(shù)保證了通信的安全性:隧道協(xié)議、身份驗證和數(shù)據(jù)加密??蛻魴C向VPN服務(wù)器發(fā)出請求,VPN服務(wù)器響應(yīng)請求并向客戶機發(fā)出身份質(zhì)詢,客戶機將加密的信息發(fā)送到VPN服務(wù)器,VPN服務(wù)器根據(jù)用戶數(shù)據(jù)庫檢查該響應(yīng),如賬戶有效并擁有遠(yuǎn)程訪問權(quán)限,VPN服務(wù)器接受此連接。在身份驗證過程中產(chǎn)生的客戶機和服務(wù)器公鑰將對數(shù)據(jù)進行加密。
隨著VPN的廣泛應(yīng)用,近幾年不斷出現(xiàn)了一些新的網(wǎng)絡(luò)協(xié)議,包括點對點隧道協(xié)議(PPTP)、第2層隧道協(xié)議(L2TP)、安全I(xiàn)P(IPSec)協(xié)議等。
3 遠(yuǎn)程教育中基于Linux的OpenVPN應(yīng)用的優(yōu)勢
OpenVPN 是一個強大、高度可配置、基于SSL的 VPN Open Source 軟件,具有多種驗證方式及更多強大功能,安全、易用、穩(wěn)定,認(rèn)證方式靈活,具備實現(xiàn)SSL VPN解決方案的完整特性。
作為一個開源的加密隧道的構(gòu)建工具,基于OpenSSL的SSL/TLS協(xié)議,可在Internet中實現(xiàn)點對點SSL VPN安全連接,其工作在OSI模型的第2或第3層,使用SSL/TLS協(xié)議進行網(wǎng)絡(luò)傳輸。支持多種客戶認(rèn)證方法,如證書、smart cards,加上用戶名密碼的證書認(rèn)證等。除此以外,還有強大的ACL功能限制客戶的信息交換。
使用OpenVpn,可以實現(xiàn):
1)使用特定udp或tcp端口實現(xiàn)兩臺主機的之間的vpn連接。2)實現(xiàn)C/S結(jié)構(gòu),實現(xiàn)多臺client通過server服務(wù)器互連互通。3)通過TLS/SSL加密保證數(shù)據(jù)傳輸?shù)陌踩?)通過數(shù)據(jù)的壓縮,提高數(shù)據(jù)傳輸?shù)乃俣取?/p>
4 實現(xiàn)過程
最新穩(wěn)定版源碼包:http://openvpn.net/release/openvpn-2.0.9.tar.gz
Windows 安裝包:http://openvpn.se/files/install_packages/openvpn-2.0.9-gui-1.0.3-install.exe
LZO工具包:http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz
在RHEL5系統(tǒng)中需要先安裝lzo軟件包,用于壓縮隧道通訊數(shù)據(jù)以加快傳輸速度。LZO和openvpn源碼包都可以按照默認(rèn)的配置進行編譯安裝。OpenVPN需要使用的openssl等軟件均使用RHEL5系統(tǒng)自帶的rpm包。
在RHEL5系統(tǒng)中,可以直接復(fù)制openvpn源碼目錄中的腳本范例文件,用于控制openvpn服務(wù)的開啟、重啟或關(guān)閉。
4.1 需求介紹
以RHEL5和Windows XP系統(tǒng)環(huán)境為例,為異地兩個局域網(wǎng)及遠(yuǎn)程網(wǎng)管工作站建立安全的SSL VPN連接。
總部和分部的網(wǎng)關(guān)服務(wù)器使用RHEL5系統(tǒng),需要分別配置OpenVPN,用于連接兩個異地的局域網(wǎng)LAN1和LAN2。網(wǎng)管工作站使用Windows XP系統(tǒng),隨時通過VPN安全隧道訪問總部的局域網(wǎng)LAN1和分部的局域網(wǎng)LAN2。見下圖:
總部網(wǎng)關(guān)服務(wù)器GW1配置為VPN Server模式,分部網(wǎng)關(guān)服務(wù)器GW2和Internet網(wǎng)管工作站PC1均使用VPN Client模式。建立兩條點對點的SSL VPN安全隧道“GW1GW2”、“GW1PC1”。GW1、GW2的公網(wǎng)IP地址分別使用173.74.75.76和173.74.75.77來模擬。其他網(wǎng)絡(luò)接口地址設(shè)置如下:
GW1、GW2的內(nèi)網(wǎng)接口IP地址分別為192.168.1.1、192.168.2.1。
GW1----GW2隧道:分別使用虛擬IP地址10.8.0.1/30、10.8.0.2/30。
GW1----PC1隧道:分別使用虛擬IP地址10.9.0.1/30、10.9.0.2/30。
LAN1的主機使用192.168.1.0/24網(wǎng)段,默認(rèn)網(wǎng)關(guān)設(shè)為192.168.1.1。
LAN2的主機使用192.168.2.0/24網(wǎng)段,默認(rèn)網(wǎng)關(guān)設(shè)為192.168.2.1。
4.2 配置GW1GW2隧道連接
創(chuàng)建第1條SSL VPN隧道的過程,用于連接GW1、GW2兩臺服務(wù)器,以便實現(xiàn)總部、分部兩地局域網(wǎng)(LAN1、LAN2)的安全互聯(lián)。
主要實現(xiàn)過程如下:
4.3 配置對端服務(wù)器(GW2)——分部
(1)配置Internet連接及SNAT、路由轉(zhuǎn)發(fā)
1)配置IP地址
eth0接口(173.74.75.77/24)用于連接Internet,eth1接口(192.168.2.1/24)用于連接局域網(wǎng)。
2)開啟路由及SNAT轉(zhuǎn)換
(2)安裝OpenVPN服務(wù)
(3)下載證書和密鑰文件
下載在GW1主服務(wù)器端創(chuàng)建的ca.crt、ta.key、gw2.key、gw2.crt文件,使用FTP、SCP、Email等任何方式均可。
(4)創(chuàng)建客戶端配置文件
在客戶端配置文件中指定使用Client模式,以及遠(yuǎn)程VPN服務(wù)器的地址和端口。
(5)啟動OpenVPN服務(wù)
4.4 驗證SSL VPN連接
可以分別查看相關(guān)網(wǎng)段的路由記錄來完成。
4.5 配置“GW1PC1”隧道連接
創(chuàng)建第2條 SSL VPN隧道,用于在GW1、PC1之間建立點到點的安全連接,以便Windows XP客戶端能夠從Internet中安全的接入總部的VPN網(wǎng)絡(luò),進一步訪問兩地的局域網(wǎng)絡(luò)。
(1)配置主服務(wù)器(GW1)——總部
(2)配置WindowsXP客戶機(PC1)——分部
1)配置IP地址及Internet連接
2)安裝OpenVPN-GUI客戶端工具
雙擊下載的openvpn-2.0.9-gui-1.0.3-install.exe文件,按照向?qū)崾景惭b即可。若只作為OpenVPN客戶端使用,安裝時可以不勾選定制組件列表中的“OpenVPN Service”。
3)下載證書和密鑰文件
下載在GW1主服務(wù)器端創(chuàng)建的ca.crt、ta.key、client-pc1.key、client-pc1.crt文件。將下載的密鑰等相關(guān)文件復(fù)制到OpenVPN配置文件目錄下(默認(rèn)為C:\ProgramFiles\OpenVPN\config\)。注意保留好備份。
4)創(chuàng)建PC1用戶端配置文件
使用Windows XP 系統(tǒng)自帶的記事本工具創(chuàng)建客戶端配置文件 client-pc1.ovpn,文件內(nèi)容可以參考范例(C:\Program Files\OpenVpn\sample-config\client.ovpn)。
C:\Documents and Settings\Administrator> notepad client-pc1.ovpn
……
將建好的配置文件保存到C:\Program Files\OpenVPN\config\文件夾下。
5)建立OpenVPN連接
方法一:在Windows XP任務(wù)欄右側(cè)(系統(tǒng)托盤區(qū))的OpenVPN-GUI圖標(biāo)上點擊右鍵,選擇“Connect”,即可使用創(chuàng)建好的配置文件建立VPN連接。
方法二:在創(chuàng)建好的client-pc1.ovpn文件上點擊右鍵,選擇“Start OpenVPN on this configfile”即可。用此方法可以查看建立連接的過程信息,適合用于調(diào)試/排錯。
(3)驗證SSL VPN連接
分別查看相關(guān)網(wǎng)絡(luò)節(jié)點中的路由記錄即可。
5 結(jié)束語
OpenVPN在各類VPN技術(shù)中,以成本低、網(wǎng)絡(luò)架構(gòu)彈性大、安全性好及方便管理等而著稱,并且提供了靈活多樣的身份驗證方式,如:預(yù)享私鑰、證書、用戶名/密碼等,可以滿足各類不同的用戶需要。在網(wǎng)絡(luò)擴充或變更網(wǎng)絡(luò)架構(gòu)時,也可以非常方便的滿足大至總部,小到分部,甚至個人用戶的多種需求,同時,對未來廣域網(wǎng)綱頻寬擴充及連接更新架構(gòu)也提供了極大的便利。基于以上這些因素以及實驗驗證及對比,OpenVPN是目前較為理想的架構(gòu)完全可以為遠(yuǎn)程教育提供最為恰當(dāng)?shù)姆?wù)及相關(guān)保障,可以在遠(yuǎn)程教育領(lǐng)域中進行推廣普及。
參考文獻(xiàn):
[1]陳代進.基于LINUX+PHP+MYSQL的大學(xué)生電子檔案系統(tǒng)[J].電腦與電信.2008(4):40-41.
[2]劉志勇.Linux+PHP+MySQL案例教程[M].中科多媒體電子出版社,2001.
[3]程克勤,等.基于OpenVPN接入系統(tǒng)的設(shè)計與實現(xiàn)[J].廈門大學(xué)學(xué)報(自然科學(xué)版),2007,46(2):199-201.