謝 芳
(福建工程學(xué)院,福州 350108)
由于管理上的需求,學(xué)校管理人員經(jīng)常需要調(diào)看安防中心現(xiàn)場監(jiān)控(如管理多媒體教室、公共計算機房等)。筆者所在的高校目前有好幾個校區(qū),安防中心設(shè)置在其中一個校區(qū),如果另外校區(qū)的管理人員需要調(diào)看現(xiàn)場監(jiān)控,直接到安防中心勢必造成工作不便以及效率低下。如果直接通過校園網(wǎng)調(diào)看現(xiàn)場監(jiān)控,一方面學(xué)生使用網(wǎng)絡(luò)的高峰期,網(wǎng)絡(luò)負荷十分重,在網(wǎng)絡(luò)帶寬不保證的情況下,遠程視頻監(jiān)控會產(chǎn)生監(jiān)控圖像回傳緩慢、控制失靈;另一方面對校園安防專網(wǎng)的安全也會帶來隱患。為了方便外網(wǎng)用戶可以調(diào)用校園網(wǎng)內(nèi)的監(jiān)控錄像,很有必要架設(shè)一個VPN遠程撥入系統(tǒng)。本文研究在校園網(wǎng)與安防專網(wǎng)間架設(shè)一個基于LINUX的虛擬專用網(wǎng)(VPN)系統(tǒng)。
(1)VPN方案選擇:目前大多數(shù)客戶端為Windows用戶,Windows自帶PPTP的客戶端,根據(jù)全面VPN方案的特點,因此VPN選擇PPTP作為校園安防中心的使用協(xié)議。
(2)服務(wù)器操作系統(tǒng)選擇:由于資金有限,因此選擇開源的Linux作為服務(wù)器操作系統(tǒng),該操作系統(tǒng)穩(wěn)定性好,可以滿足服務(wù)器高穩(wěn)定的要求,而且是開源的免費產(chǎn)品。
(3)其他軟件產(chǎn)品:在Linux有很多軟件如freeradius和 mysql都是開源開發(fā)的成熟產(chǎn)品,因此VPN服務(wù)器將采用Linux+PPTP+MPPE+MPPC+Radius認(rèn)證+Mysql數(shù)據(jù)庫的方式搭建。
PPTP(點到點隧道)協(xié)議是由PPTP論壇開發(fā)的點到點的安全隧道協(xié)議,是PPP協(xié)議的一種擴展,提供了在IP網(wǎng)上建立多協(xié)議的安全VPN的通信方式,遠端用戶能夠通過任何支持PPTP的ISP訪問企業(yè)的專用網(wǎng)絡(luò)[1]。PPTP提供PPTP客戶機和PPTP服務(wù)器之間的保密通信。PPTP的最大優(yōu)勢是Microsoft公司的支持。它支持流量控制,可保證客戶機與服務(wù)器間不擁塞,改善通信性能,最大限度地減少包丟失和重發(fā)現(xiàn)象。
MPPE(Microsoft Point-To-Point Encryption,微軟點對點加密)協(xié)議是由Microsoft設(shè)計的,它規(guī)定了如何在數(shù)據(jù)鏈路層對通信機密性保護的機制[2]。它通過對PPP鏈接中PPP分組的加密以及PPP封裝處理,實現(xiàn)數(shù)據(jù)鏈路層的機密性保護。
MPPC(Microsoft Point-To-Point Compression,微軟點對點壓縮)協(xié)議可以把任何PPP包表示為壓縮形式[3]。MPPC算法設(shè)計為通過優(yōu)化處理器和帶寬的利用,來支持大量并發(fā)連接。MPPC算法也用來優(yōu)化典型的特定PPP,提高工作效率。
RADIUS(Remote Authentication Dial In User Service,遠程用戶撥號認(rèn)證服務(wù))協(xié)議是一種C/S結(jié)構(gòu)的協(xié)議,它的客戶端最初就是NAS(Net Access Server)服務(wù)器,現(xiàn)在任何運行RADIUS客戶端軟件的計算機都可以成為RADIUS的客戶端[4]。RADIUS協(xié)議認(rèn)證機制靈活,可以采用PAP、CHAP或者Unix登錄認(rèn)證等多種方式。RADIUS是一種可擴展的協(xié)議,它進行的全部工作都是基于Attribute-Length-Value的向量進行的。
MySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它是開源的軟件產(chǎn)品,并且為多種編程語言提供API,支持多線程,可充分利用CPU資源,高效的SQL查詢算法,提供TCP/IP、ODBC、JDBC等多種數(shù)據(jù)庫連接途徑。這里配合radius使用。
VPN網(wǎng)絡(luò)拓撲結(jié)構(gòu)見圖1。
圖1 VPN網(wǎng)絡(luò)拓撲結(jié)構(gòu)圖
在該結(jié)構(gòu)中,VPN服務(wù)器架設(shè)在校園安防中心的出口上,配置2個網(wǎng)卡,一個接入校園網(wǎng),另一個接入校園安防中心。客戶端通過公共網(wǎng)絡(luò)向VPN服務(wù)器發(fā)起隧道建立請求,VPN服務(wù)器在接到請求后確認(rèn)客戶端身份,確認(rèn)后給客戶機分配一個校園網(wǎng)的私有地址,客戶機在得到地址后通過VPN服務(wù)器的路由轉(zhuǎn)發(fā)就可以用校園網(wǎng)內(nèi)部地址的身份訪問安防系統(tǒng)。
硬件配置:CPU配 Inter PIII,內(nèi)存 1G,硬盤80G,配置雙網(wǎng)卡。
值得一提的是,在這一階段,中國經(jīng)歷了起征點從800元到1600元,再到2000元的調(diào)整,而且補貼也多數(shù)惠及農(nóng)村人口,城鎮(zhèn)人口的補貼即少?!斑@說明,我們的減稅和補貼政策,并沒有起到縮小收入差距的作用,甚至有某些措施可能起了拉大這一差距的反向作用?!比欢@一現(xiàn)象似乎并沒有引起當(dāng)局重視,2011年,中國再次上調(diào)起征點到3500元。
操作系統(tǒng):Red Hat Enterprise Linux Advanced Server 4.6-i386(32位),防火墻使用Linux自帶防火墻。
(1)編譯Linux內(nèi)核。默認(rèn)的內(nèi)核版本為kernel 2.6.9-42EL,該內(nèi)核不支持 mppe 加密和 mppc 壓縮,重新編譯Linux內(nèi)核,以支持MPPE/MPPC。所以需要給內(nèi)核打補丁。采用下列軟件:linux-2.6.13.tar.gz、linux-2.6.13-mppe-mppc-1.3.patch.gz。這里以模塊方式來安裝補丁的,所以每次系統(tǒng)啟動時都需要加載模塊才行,因此要在/etc/rc.local里面寫入一行:/sbin/modprobe ppp_mppe_mppcvi/etc/rc.local,修改/boot/grub/grub.conf將新內(nèi)核改為默認(rèn)啟動項:改 default=1-->default=0,重起系統(tǒng)進入升級后的系統(tǒng)。檢驗內(nèi)核是否支持MPPE/MPPE(顯示以下內(nèi)容為則可以支持 mppe/mppc)。
[root@niulinux ~]#dmesg|grep MPPE
MPPE/MPPC encryption/compression module registered
(2)安裝PPTP套件。安裝下列軟件:ppp-2.4.3.tar.gz(ppp 支持軟件)、ppp-2.4.3-mppemppc-1.1.patch.gz(ppp 支持 mppe、mppc 的補丁)、pptpd-1.3.4.tar.gz(基于 pptp 的 vpn 服務(wù)器軟件poptop)。安裝后檢驗內(nèi)核和PPP支持MPPE/MPPE,修改配置文件 pptpd.conf和 options.pptpd,對這2個文件進行配置。
(3)安裝 freeradius。采用軟件:freeradius-1.1.7.tar.gz(配合 pptp使用的驗證服務(wù)器),安裝freeradius用指定安裝目錄的方法安裝。配置pppd支其支持radius。所有的freeradius配置文件在usr/local/freeradius-1.1.7/etc/raddb 目錄,進入該目錄配置文件 clients.conf、users。
(4)配置 MySQL。由于使用默認(rèn)安裝的MySQL,所以就不用再安裝MySQL了,庫結(jié)構(gòu)在freeradius源碼目錄下的/usr/local/freeradius-1.1.7/share/doc/freeradius/examples/mysql.sqll 建 立 一 個radius的數(shù)據(jù)庫,配置/usr/local/freeradius-1.1.7/etc/raddb/sql.conf,使 radius 可以訪問 mysql,配 置/usr/local/freeradius-1.1.7/etc/raddb/radiusd.conf使其支持MySQL認(rèn)證。
在實際應(yīng)用中,為保證VPN服務(wù)器和客戶機的安全,對VPN服務(wù)器的端口和協(xié)議做適當(dāng)限制,關(guān)閉不用的端口。并啟用NAT轉(zhuǎn)換,使原來可以通過網(wǎng)關(guān)上網(wǎng),但連了VPN之后就不能上網(wǎng)的客戶機能正常上網(wǎng)。
配置iptables文件,包括內(nèi)容如下:
echo"1">/proc/sys/net/ipv4/ip_forward(打開路由轉(zhuǎn)發(fā)功能)
執(zhí)行這個 iptables文件,客戶機就可以通過VPN進行訪問,并能有效控制外網(wǎng)的攻擊和入侵??梢詫⑦@條命令放到文件/etc/rc.d/rc.local里面,以實現(xiàn)每次開機時自動運行該命令。
將相應(yīng)的服務(wù)放在該文件中,以實現(xiàn)每次開機時自動運行該命令。如:
到此為止一臺基于Linux的VPN服務(wù)就配置完成了。
由于使用PPP協(xié)議配置,Windows XP等系統(tǒng)已自帶VPN客戶端,在windows下建立客戶步驟較簡單,配置 VPN連接屬性“安全”選項時,應(yīng)與 options.pptpd配置文件一致。
雙擊客戶端桌面右下角的網(wǎng)絡(luò)連接圖標(biāo),可查看客戶端的VPN狀態(tài)信息(見圖2)。
圖2 連接成功后客戶端信息
查看客戶端的IP信息,可以看出多了個“PPP adapter test:”連接,其IP是由VPN服務(wù)器分配的。客戶端IP測試如下:
在VPN服務(wù)器端查看VPN連接成功后的服務(wù)器的IP信息,從圖中可看出多了PPP0連接,說明服務(wù)器把 IP地址192.168.0.100分配給了客戶端。連接成功后服務(wù)器端信息如下:
客戶端測試如下:
運行ping命令查看外網(wǎng)客戶機能否連通內(nèi)網(wǎng)安防中心的計算機,外網(wǎng)客戶機已經(jīng)正確的撥入VPN服務(wù)器,外網(wǎng)客戶端撥入內(nèi)網(wǎng)后,可以ping通服務(wù)器內(nèi)網(wǎng)網(wǎng)卡,說明可以通過連接VPN進入學(xué)校安防中心。
外網(wǎng)客戶機正確地撥入VPN服務(wù)器后,在客戶端輸入學(xué)校安防中心IP地址:192.168.1.10可登錄學(xué)校安防中心網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng),輸入網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的用戶名和密碼,可查看網(wǎng)絡(luò)視頻監(jiān)控,通過網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)云臺控制等操作實現(xiàn)對目的地實現(xiàn)實時監(jiān)控的目的。
通過VPN技術(shù)可在客戶與服務(wù)器之間建立一條安全通道,保證信息的安全傳輸。實踐結(jié)果表明通過在校園網(wǎng)與安防專網(wǎng)間架設(shè)一個基于LINUX的虛擬專用網(wǎng)(VPN)系統(tǒng)有效地解決了校園安防監(jiān)控系統(tǒng)多校區(qū)、遠程訪問、遠程管理等問題,較好地實現(xiàn)了校內(nèi)相關(guān)管理人員可以在任何位置對目的地實現(xiàn)實時監(jiān)管的目的。
[1]何寶宏,田輝.IP虛擬專用網(wǎng)技術(shù):第2版[M].北京:人民郵電出版社,2008:7-10.
[2]金漢均,仲紅,汪雙頂.VPN虛擬專用網(wǎng)安全實踐教程[M].北京:清華大學(xué)出版社,2010:1-5.
[3]汪海航,譚成翔,孫為清,等.VPN技術(shù)的研究與應(yīng)用現(xiàn)狀及發(fā)展趨勢[J].計算機工程與應(yīng)用,2001(23):14-16.
[4]張小銀.基于 Linux環(huán)境下 VPN系統(tǒng)的研究與實現(xiàn)[J].微計算機信息,2011,27(1):180-181.