1. 安裝pptp
在
CentOS 5下面安裝pptpd最省事的方法就是下載rpm包pptpd-1.3.4-1.rhel5.1.i386.rpm,然後直接執行rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm。rpm安裝沒有依賴關系。安裝異常順利。如果使用源碼安裝,可能會出現ppp版本搞的情況。
安裝完rpm包後,自動生成幾個配置文件,主要配置文件,選項文件 ,帳號文件 。後面配置pptpd主要就是對這幾個文件進行修改。
wget http://ace
lnmp.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位系統使用
yum -y install ppp #安裝pptpd依賴包ppp
rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm
2. 配置pptp
編輯/etc/pptpd.conf文件
vi /etc/pptpd.conf
找到"locapip"和"remoteip"這兩個配置項,將前面的“#”注釋符去掉,更改為你期望的IP段值。localip表示服務器的IP,remoteip表示分配給客戶端的IP地址,可以設置為區間。這裡我們使用pptp默認的配置:
localip 184.82.201.7
remoteip 192.168.0.234-238,192.168.0.245
注意,這裡的IP段設置,將直接影響後面的iptables規則添加命令。請注意匹配的正確性。
接下來我們再編輯/etc/ppp/options.pptpd文件,為VPN添加Google DNS:
vi /etc/ppp/options.pptpd
在末尾添加下面兩行:
ms-dns 8.8.8.8
ms-dns 8.8.4.4
3. 設置pptp VPN賬號密碼
需要編輯/etc/ppp/chap-secrets這個文件
vi /etc/ppp/chap-secrets
在這個文件裡面,按照“用戶名 pptpd 密碼 *”的形式編寫,一行一個賬號和密碼。比如添加用戶名為test,密碼為1234的用戶,則編輯如下內容:
linuxeye pptpd linuxeyecom *
4. 修改內核設置,使其支持轉發
編輯/etc/sysctl.conf文件
sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf
sysctl -p
5. 添加iptables轉發規則。經過前面的4個步驟,我們的VPN已經可以撥號了,但是還不能訪問任何網頁。最後一步就是添加iptables轉發規則了,輸入下面的指令:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
需要注意的是,這個指令中的"192.168.0.0/24"是根據之前的配置文件中的"localip"網段來改變的,比如你設置的"192.168.111.1"網段,則應該改為"192.168.111.0/24"。此外還有一點需要注意的是eth0,如果你的外網網卡不是eth0,而是eth1,那麼請記得將eth0也更改為對應的網卡編號,不然是上不了網的!
然後我們輸入下面的指令讓iptables保存我們剛才的轉發規則,以便重啟系統後不需要再次添加:
#/etc/init.d/iptables save
然後我們重啟iptables:
#/etc/init.d/iptables restart
6、重啟pptp服務。輸入下面的指令重啟pptp:
#/etc/init.d/pptpd restart
現在你已經可以連接自己的VPN並浏覽網頁了。