在VPS上安裝PPTP VPN,簡(jiǎn)直完美的闡釋了“會(huì)者不難,難者不會(huì)”的道理。我谷歌百度必應(yīng)了好幾天,幾乎網(wǎng)上大部分教程都不能完全正確,終于在昨天連滾帶爬的給整出來(lái)了,怕忘了,趕緊寫下來(lái)。
本文適合于能開通TUN和PPP的VPS,僅限Xen和OpenVZ,OpenVZ如果用的是SolusVM控制面板,則可以自己在后臺(tái)打開。對(duì)了,我的操作系統(tǒng)是CentOS6.4 32位。
一、確認(rèn)開通了TUN和PPP
Xen用戶請(qǐng)忽略這一步!
cat /dev/ppp
結(jié)果輸出為: cat: /dev/ppp: No such device or address
cat /dev/net/tun
結(jié)果輸出為: cat: /dev/net/tun: File descriptor in bad state
如果這兩項(xiàng)輸出的和我給出的不一樣,但只要不是“Permission denied”就都沒(méi)問(wèn)題,否則是一定不能裝的
二、安裝PPP,PPTP
建議先卸載自帶的PPP
yum remove ppp
安裝libpcap
yum -y install libpcap
安裝ppp-2.4.5-5
rpm -ivh https://lccss.googlecode.com/files/ppp-2.4.5-5.el6.i686.rpm
或者
yum -y install ppp
安裝pptpd-1.3.4-2
rpm -ivh http://lccss.googlecode.com/files/pptpd-1.3.4-1.el6.nux.i686.rpm
更新一下,如果是CentOS6,可以直接使用yum安裝,省得上邊這么麻煩。默認(rèn)的yum是沒(méi)有pptp的,所以要先升級(jí)源:
rpm -Uvh http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm
然后直接安裝pptpd即可(ppp和libpcap會(huì)一塊安裝的)
yum install pptpd
三、各種配置
箭頭左邊是需要修改的內(nèi)容,箭頭右邊是修改后應(yīng)該的樣子
vi /etc/pptpd.conf
去掉#
# localip 192.168.0.1 -> localip 192.168.0.1
# remoteip 192.168.0.234-238,192.168.0.245 ->remoteip 192.168.0.234-238,192.168.0.245/p>
p>vi /etc/ppp/options.pptpd
去掉#,并替換為google的dns
# ms-dns 192.168.0.1 -> ms-dns 8.8.8.8
# ms-dns 192.168.0.2 -> ms-dns 8.8.4.4/p>
p>vi /etc/ppp/chap-secrets
創(chuàng)建用戶名密碼和限定IP,格式為:用戶名 ppptp 密碼 IP地址
每個(gè)字段中間用空格分開,最后的IP地址如果不限定,請(qǐng)用*代替,例如:
username pptpd password *
這就代表了你創(chuàng)建了一個(gè)叫username的用戶,密碼是password,任何IP都可以連接
vi /etc/sysctl.conf
net.ipv4.ip_forward = 0 -> net.ipv4.ip_forward = 1/p>
p>sysctl -p
Xen和OpenVZ的防火墻轉(zhuǎn)發(fā)有所不同
OpenVZ請(qǐng)使用:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 你VPS的IP
Xen請(qǐng)使用:
iptables -t nat -A POSTROUTING -s 192.168.8.0/24 -o eth0 -j MASQUERADE
保存并重啟防火墻
/etc/init.d/iptables save
/etc/init.d/iptables restart
開啟pptpd
service pptpd start
好了,現(xiàn)在你就可以用電腦連接你的pptp vpn了!
四、其他一些小問(wèn)題
619錯(cuò)誤, 試試:
rm -r /dev/ppp
mknod /dev/ppp c 108 0
800錯(cuò)誤,我遇到的都是防火墻問(wèn)題,由于對(duì)iptables非常不懂,所以我就用了個(gè)傻方法,就是清除掉之前所有的防火墻規(guī)則,然后再使用上邊的規(guī)則,保持重啟就好了。清除之前防火墻規(guī)則:
iptables -F
iptables -X
iptables -Z