VPN(Virtual Private Network,虛擬專用網(wǎng)絡(luò))是專用網(wǎng)絡(luò)的延伸,它可以通過共享Internet或公共網(wǎng)絡(luò)連接模擬點對點專用連接的方式,在本地計算機(jī)和遠(yuǎn)程計算機(jī)之間發(fā)送數(shù)據(jù)。
它具有良好的保密性和不受干擾性,使雙方能夠進(jìn)行自由而安全的點對點連接。下面介紹一種快速構(gòu)建VPN服務(wù)器的方法。
安裝軟件
1.安裝PPP
安裝PPP(Point-to-Point Protocol,點到點協(xié)議)2.4.2以上的版本,可以到http://sourceforge.net/project/showfiles.php?group_id=44827下載ppp-2.4.3-0.cvs_20040527.1.i386.rpm軟件包。
安裝命令如下:
#rpm -Uvh ppp-2.4.3-0.cvs_20040527.1.i386.rpm
2.安裝內(nèi)核MPPE補丁
安裝內(nèi)核MPPE(Microsoft Point to Point Encryption,微軟點對點加密)補丁需要根據(jù)內(nèi)核選擇相應(yīng)的版本。筆者使用的Linux內(nèi)核是2.4.20-31.9版本,可以到http://pptpclient.sourceforge.net/mppe/kernel-mppe-2.4.20-31.9.i686.rpm下載相應(yīng)的kernel-mppe-2.4.20-31.9.i686.rpm軟件包。安裝命令如下:
#rpm -ivh kernel-mppe-2.4.20-31.9.i686.rpm
用以下命令檢查內(nèi)核MPPE補丁是否安裝成功:
#modprobe ppp-compress-18
3.檢查PPP是否支持MPPE
用以下命令檢查PPP是否支持MPPE:
#strings '/usr/sbin/pppd' grep -i mppe wc --lines
如果以上命令輸出為“0”則表示不支持;輸出為“30”或更大的數(shù)字就表示支持。
4.安裝PPTPD
到http://sourceforge.net/project/showfiles.php?group_id=44827下載pptpd-1.1.4-b4.i386.rpm軟件包,并安裝。
# rpm -ivh pptpd-1.1.4-b4.i386.rpm
修改配置文件
1.修改modules.conf文件
編輯/etc/modules.conf配置文件,加入如下內(nèi)容:
alias net-pf-47 ip_gre
2.修改pptpd.conf文件
編輯/etc/pptpd.conf配置文件,添加如下內(nèi)容,確定本地VPN服務(wù)器的IP地址和客戶端登錄后分配的IP地址范圍。
debug
option /etc/ppp/options.pptpd
localip 192.168.0.254 #本地VPN服務(wù)器的IP
remoteip 192.168.1.1-254 #客戶端被分配的IP范圍
3.修改options.pptpd文件
編輯/etc/ppp/options.pptpd配置文件,替換成如下內(nèi)容:
auth
lock
debug
proxyarp
lock
name rh9vpn #VPN服務(wù)器的名字
multilink
refuse-pap
refuse-chap
refuse-mschap
refuse-eap
refuse-mschap-v2
require-mppe
ms-wins 192.168.1.2 #把想要在網(wǎng)絡(luò)鄰居中看到的機(jī)器的IP填寫到這里
ms-dns 192.168.1.2 #DNS服務(wù)器地址
dump
logfile /var/log/pptpd.log #日志存放的路徑
4.修改chap-secrets文件
編輯/etc/chap-secrets配置文件,添加如下內(nèi)容:
# client server secret IP addresses
"test@gd.cn" * "test" *
上面第二行代碼的四項內(nèi)容分別對應(yīng)第一行中的四項!皌est@gd.cn”是Client端的VPN用戶名;“server”對應(yīng)的是VPN服務(wù)器的名字,該名字必須和/etc/ppp/options.pptpd文件中指明的一樣,或者設(shè)置成“*”號來表示自動識別服務(wù)器;“secret”對應(yīng)的是登錄密碼;“IP addresses”對應(yīng)的是可以撥入的客戶端IP地址,如果不需要做特別限制,可以將其設(shè)置為“*”號。
5.設(shè)置IP偽裝轉(zhuǎn)發(fā)
只有設(shè)置了IP偽裝轉(zhuǎn)發(fā),通過VPN連接上來的遠(yuǎn)程計算機(jī)才能互相ping通,實現(xiàn)像局域網(wǎng)那樣的共享。用下面的命令進(jìn)行設(shè)置:
#echo 1 > /proc/sys/net/ipv4/ip_forward
可以將這條命令放到文件/etc/rc.d/rc.local里面,以實現(xiàn)每次開機(jī)時自動運行該命令。
6.打開防火墻端口
將Linux服務(wù)器的1723端口和47端口打開,并打開GRE協(xié)議。