PPTP IN LINUXlinux
PPTP是微軟開發的二層×××協議,雖然L2TP(CISCO與MS合做將自家的L2F與PPTP整合)性能更優越,可是PPTP仍是有市場的。centos
下面簡要介紹Linux上PPTP的安裝。其實就是幾個軟件,創建鏈接時須要配置的東西極少,很簡單。
1. 安裝軟件
dkms-2.0.6-1
#動態內核模塊支持,使得驅動的開發和應用簡單化,貌似是dell支持的項目
kernel_ppp_mppe-1.0.2-3dkms #MPPE加密協議的內核補丁
ppp-2.4.4-2.el5
#ppp軟件包,CentOS 5.6默認安裝了
pptpd-1.3.4-1.i386.rpm
#這個軟件包基本上是很難找的
PPTP的RPM包網上很難找到,官網上給的也是一個tar包。可是常規安裝完成以後/etc/pptpd.conf這個文件沒有安裝,並且pptpd服務也沒有安裝,不知道什麼緣由。在國外的一個網站搜到一個SRPM包,編譯後正常使用,地址以下:
http://files.doylenet.net/linux/yum/centos/5/SRPMS/doylenet/pptpd-1.3.4-1.src.rpm
2. 軟件安裝
首先安裝dkms-2.0.6-1,不然安裝kernel_ppp_mppe的時候會有依賴性報錯。前面三個軟件安裝基本上不會出現什麼問題,難點就是pptp的安裝。固然,若是用srpm包安裝的話就很簡單了。
rpmbuild --rebuild pptpd-1.3.4-1.src.rpm
而後進入/usr/src對應的系統目錄,CentOS就是redhat,而後進入RPMS/i386,剛纔編譯出的RPM包就放在這個目錄下。
[root@www i386]# pwd;ls
/usr/src/redhat/RPMS/i386
pptpd-1.3.4-1.i386.rpm pptpd-debuginfo-1.3.4-1.i386.rpm
而後安裝
rpm –ivh pptpd-1.3.4-1.i386.rpm
3. 編輯配置文件 /etc/pptpd.conf和/etc/ppp/chap-secrets
/etc/pptpd.conf定義了創建×××的IP地址,以及×××鏈接創建後分配給客戶端的IP地址
例如:
localip 192.168.1.34
#Linux鏈接外網創建×××的地址,由於在局域網測試故寫的是私有IP
remoteip 192.168.1.100-200 #分配給客戶端的IP地址
/etc/ppp/chap-secrets這個文件保存了創建PPP時認證的信息,由於PPTP是基於PPP的。
例如:
[root@www i386]# vi /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client
server secret IP addresses
"ila"
pptpd "goodday" "*"
這樣有點不安全哈,全是明文的。
4. 打開linux路由器的路由功能
echo 「1」 >/proc/sys/net/ipv4/ip_forward
這裏linux服務器做爲×××網關須要路由功能。
5. 編輯防火牆
防火牆打開了的話須要放行流量
iptables –I INPUT –p tcp --dport 1723 –j ACCEPT
iptables –I INPUT –p gre –j ACCEPT
[root@www ~]# iptables -L INPUT
Chain INPUT (policy ACCEPT)
target
prot opt source destination
ACCEPT
gre -- anywhere anywhere
ACCEPT
tcp -- anywhere anywhere tcp dpt:pptp
6. 啓動×××服務
這裏用的是restart旨在說明重啓服務不會終結當前已經創建的×××鏈接,見Warning:
[root@www i386]# service pptpd restart
Shutting down pptpd:
[ OK ]
Starting pptpd:
[ OK ]
Warning: a pptpd restart does not terminate existing
connections, so new connections may be assigned the same IP
address and cause unexpected results. Use restart-kill to
destroy existing connections during a restart.
上面這段話的意思就是重啓服務不會終結已經創建起來的鏈接並且還會由於再次分配IP形成未知錯誤,建議使用restart-kill的方式來重啓服務。
還能夠用/etc/rc.d/init.d/pptpd start或者/etc/init.d/pptpd start的方式來重啓(/etc/init.d是一個軟連接指向/etc/rc.d/init.d)
7. 在XP上新建鏈接
輸入正確的用戶名和密碼,這樣就O了。安全
8. 開機自啓動
ntsysv設置勾選pptpd服務或者chkconfig --level 35 pptpd on