centos5.8 x86 安裝pptpd ×××整理
如果檢查結果沒有這些支援的話,是不能安裝pptp的。執行指令:
#modprobe ppp-compress-18 && echo ok
#cat /dev/net/tun
如果這條指令顯示結果為下面的文本,則表明通過:
cat: /dev/net/tun: file descriptor in bad state
檢查ppp是否支援mppe
用以下指令檢查ppp是否支援mppe:
#strings '/usr/sbin/pppd' |grep -i mppe | wc --lines
如果以上指令輸出為“0”則表示不支援;輸出為“30”或更大的數字就表示支援,mppe(microsoft point to point encryption,微軟點對點加密)。
安裝ppp和iptables。
預設情況下,完整的centos是帶有這兩個元件的,但是精簡版的系統可能沒有。我們輸入下面的指令來确認,如果沒有則進行安裝,有的話系統不會做任何動作:
#yum install -y ppp iptables
安裝pptp。
#wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm (32位系統使用)
#wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm (64位系統使用)
安裝pptp,同樣分32位和64位系統:
#rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm (32位系統使用)
#rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm (64位系統使用)
配置pptp。
編輯/etc/pptpd.conf檔案:
#vim /etc/pptpd.conf
localip 192.168.1.241
remoteip 192.168.20.9-238
localip表示伺服器的ip,remoteip表示配置設定給用戶端的ip位址,可以設定為區間。這裡我們使用pptp預設的配置:
注意,這裡的ip段設定,将直接影響後面的iptables規則添加指令。請注意比對的正确性,如果你嫌麻煩,建議就用本文的配置,就可以一直複制指令和文本使用了。
接下來我們再編輯/etc/ppp/options.pptpd檔案,為×××添加google dns:
#vim /etc/ppp/options.pptpd
在末尾添加下面兩行:
一般隻需修改ms-dns,配置設定給×××用戶端的dns伺服器ip位址
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
idle 2592000 #72個小時空閑斷開
ms-dns 8.8.8.8 #設定gogole的dns
設定pptp ×××賬号密碼,編輯/etc/ppp/chap-secrets 這個檔案:
#vim /etc/ppp/chap-secrets
#按照“使用者名 pptpd 密碼 *”的形式編寫,一行一個賬号和密碼。比如添加使用者名為test,密碼為123456的使用者:
test pptpd 123456 *(指定配置設定給test使用者的ip)
修改核心設定,使其支援轉發。
#vim /etc/sysctl.conf
将“net.ipv4.ip_forward”改為1,變成下面的形式:
net.ipv4.ip_forward=1
儲存退出,并執行下面的指令來生效它:
#sysctl -p
添加iptables轉發規則,如果沒有開啟防火牆,請跳過。
經過前面的6個步驟,我們的×××已經可以撥号了,但是還不能通路任何網頁。最後一步就是添加iptables轉發規則了,輸入下面的指令:
#iptables -t nat -a postrouting -s 192.168.0.0/24 -o eth0 -j masquerade
需要注意的是,這個指令中的“192.168.0.0/24”是根據之前的配置檔案中的“localip”網段來改變的,比如你設定的 “10.0.0.1”網段,則應該改為“10.0.0.0/24”。此外還有一點需要注意的是eth0,如果你的外網網卡不是eth0,而是eth1(比 如softlayer的伺服器就是這樣的情況),那麼請記得将eth0也更改為對應的網卡編号,不然是上不了網的!
然後我們輸入下面的指令讓iptables儲存我們剛才的轉發規則,以便重新開機系統後不需要再次添加:
#/etc/init.d/iptables save
然後我們重新開機iptables:
#/etc/init.d/iptables restart
重新開機pptp服務,并且設定開機自動運作服務
#/etc/init.d/pptpd restart
#chkconfig pptpd on
#chkconfig iptables on