PPP和PPTP的設(shè)置
對于PPP,我們這次主要講解一下PPTP的應(yīng)用。在很多文章中,我們都可以看到相關(guān)內(nèi)容的信息,這里我們就來總結(jié)一下有關(guān)內(nèi)容。PS:pptpd啟動后使用的是1723端口,l2tpd使用的是1701端口,啟動服務(wù)后可以使用 netstat -tnl 來查看端口啟動情況)另外:還有配置文章見:http://blog.chinaunix.net/u2/69106/showart_1751714.html
現(xiàn)在使用linux的環(huán)境越來越多,比如總部使用linux,但由于分支機(jī)構(gòu)位置分散,不便于管理,所以還是使用windows,通常情況下我們都 是通過VPN的方式把分支機(jī)構(gòu)與總部連接起來。通常情況下VPN有PPTP VPN,IPSEC VPN,L2TP VPN幾種,PPTP最簡便,IPSEC VPN最通用,各個平臺都支持,L2TP VPN最安全,本人經(jīng)過多次實(shí)驗(yàn),終于成功,今天拿來給大家分享。
下面我們來看看具體配置過程:
(一)下載與安裝
由于Linux本身并沒有集成PPTP功能,所以需要安裝相關(guān)組件以讓我們的RedHat支持PPP,根據(jù)內(nèi)核的版本,下載相應(yīng)的安裝包,我這里內(nèi)核是kernel2.6.9-5.EL及2.6.14 ,所用組件如下:
dkms-2.0.6-1.noarch.rpm
kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
ppp-2.4.3-5.rhel4.i386.rpm
pptpd-1.3.0-0.i386.rpm
1.PPTP需要PPP支持,雖然系統(tǒng)本身有PPP功能,但它并不支持MPPE,所以需要更新系統(tǒng)的PPP組件,下載ppp-2.4.3-5.rhel4.i386.rpm安裝命令如下:
# rpm -Uvh ppp-2.4.3-5.rhel4.i386.rpm
2.安裝內(nèi)核MPPE(Microsoft Point to Point Encryption,微軟點(diǎn)對點(diǎn)加密)補(bǔ)丁,安裝命令如下:
#rpm –ivh dkms-2.0.6-1.noarch.rpm
#rpm –ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
用以下命令檢查內(nèi)核MPPE補(bǔ)丁是否安裝成功,MPPE module可否載如:
#modprobe ppp-compress-18 && echo success
3.安裝pptpd,命令如下:
#rpm –ivh pptpd-1.3.0-0.i386.rpm
4.用以下命令檢查PPP是否支持MPPE:
#strings '/usr/sbin/pppd'|grep -i mppe|wc --lines
46 <如果以上命令輸出為“0”則表示不支持;輸出為“30”或更大的數(shù)字就表示支持,我這里為46>。
(二)修改配置文件
1. 編輯 /etc/pptpd.conf 文件,確定本地VPN服務(wù)器的IP地址和客戶端登錄后分配的IP地址范圍。pptpd.conf是PPTP服務(wù)PPTPD運(yùn)行時使用的配置文件,常用選項(xiàng)如下(#號后是選項(xiàng)說明):
option /etc/ppp/options.pptpd #PPP組件將使用的配置文件
#stimeout 10 #開始PPTP控制連接的超時時間,以秒計(jì)
debug #把所有debug信息記入系統(tǒng)日志/var/log/messages
localip 192.168.1.4 #服務(wù)器VPN虛擬接口將分配的IP地址
remoteip 192.168.1.254 #客戶端VPN連接成功后將分配的IP,如果是地址范圍可表示為192.168.1.200-234的形式
2. 編輯 /etc/ppp/options.pptpd 文件,它是PPP功能組件pppd將使用的配置文件,由于PPTP VPN的加密和驗(yàn)證都與PPP相關(guān),所以PPTP的加密和驗(yàn)證選項(xiàng)都將在這個配置文件中進(jìn)行配置。
lock
debug
name vpn1
refuse-pap
refuse-chap
refuse-mschap
rrequire-mschap-v2
require-mppe-128
proxyarp
3. 編輯 /etc/ppp/chap-secrets文件,在此配置能夠連接到VPN服務(wù)器的用戶、密碼和IP等信息:
# Secrets for authentication using CHAP
# client server secret IP addresses
aaa vpn1 "qazxsw123456" *
(三)啟動PPTP服務(wù)
service pptpd start
用 #netstat –an命令查看,TCP 1723端口是否處于監(jiān)聽狀態(tài)。
(四)防火墻配置
要讓外部用戶能連接PPTP VPN,還需要在防火墻中加入以下規(guī)則(也就是將Linux服務(wù)器的1723端口和47端口打開,并打開GRE協(xié)議):
(五)在PPTP服務(wù)器上開啟NAT服務(wù),以便于客戶端上網(wǎng)
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -j SNAT --to XXX.XXX.XXX.XXX
安裝動態(tài)域名客戶端軟件
(六)由于PPTP客戶端需要知道PPTP服務(wù)器的IP,但這里的ADSL撥號又是動態(tài)IP,所以我們需要安裝一個動態(tài)域名客戶端軟件,這樣 PPTP客戶端只要知道服務(wù)器的動態(tài)域名就行了。
可以使用金萬維的免費(fèi)動態(tài)域名,這樣ADSL撥號之后動態(tài)域名客戶端軟件將自動更新域名和IP對應(yīng) 值。。。
==========================================================
到這里L(fēng)inux pptp vpn server的設(shè)置就完成了,剩下任務(wù)的就是用Windows客戶端進(jìn)行測試