PPTPVPN一般是在XEN虚拟技术的VPS上才提供支持。但很多VPS主机商提供新版本的OpenVZVPS,可以用来搭建PPTPVPN,据说是OpenVZ的新技术,但目前BurstNET的VPS还不支持搭建PPTPVPN。目前OPENVZ支持pptp的主机商有:BUYVM/Directspace/VPSyou等。
下面以BuyVM.net的VPS为例介绍如何在CentOS中搭建PPTPVPN。
1、登陆SSH,检查VPS是否有必要的支持。如果检查结果没有这些支持的话,是无法安装pptp的。
有2个检查必须的,第一个检查:
cat/dev/net/tun
返回结果为下面的文本,表明通过:
cat:/dev/net/tun:Filedescriptorinbadstate
第二个检查:
cat/dev/ppp
返回以下结果,则通过:
cat:/dev/ppp:Nosuchdeviceoraddress
返回:“Permissiondenied”则不通过。
上面的2条必须都通过,才可安装pptp。如果无法通过,只能去跟客服申请为你的VPS打开TUN/TAP/PPP功能了。
2、安装ppp和iptables。
yuminstall-ypppiptables
3、安装pptp。
rpm-ivhhttp://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm(32位系统使用)
rpm-ivhhttp://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm(64位系统使用)
有些朋友喜欢先wget再执行rpm,没必要多此一举。
4、配置pptp。首先我们要编辑/etc/pptpd.conf文件:
vim/etc/pptpd.conf
把下面字段前面的#去掉即可,此处的IP段可以任意,但是尽量注意不要跟本地网络的IP段有冲突
localip192.168.80.1
remoteip192.168.80.234-238,192.168.80.245
接下来再编辑/etc/ppp/options.pptpd:
vim/etc/ppp/options.pptpd
去掉ms-dns前面的#,并修改成如下字段:
ms-dns8.8.8.8
ms-dns8.8.4.4
注意:简单提下vim这个编辑器的用法。vi/vim命令是一个编辑器,类似WIN下的notepad记事本。vi某文件后,再按i,左下角会显示insert,这时候才可以修改这个文件。修改好后,按esc左下角insert消失,再输入:x,回车,则存盘退出,或者输入:wq,回车,也是存盘退出;如果想不存盘退出,则输入:q!,回车即可。
5、设置pptpVPN账号密码。我们需要编辑/etc/ppp/chap-secrets这个文件:
vim/etc/ppp/chap-secrets
直接输入如下字段,第一个是用户名,第三个是密码,可以任意指定自己想要的用户名
vpnpptpdvpnpass*
6、修改内核设置,使其支持转发。编辑/etc/sysctl.conf文件:
vim/etc/sysctl.conf
将“net.ipv4.ip_forward”改为1:
net.ipv4.ip_forward=1
同时在“net.ipv4.tcp_syncookies=1”前面加#:
#net.ipv4.tcp_syncookies=1
保存退出,并执行下面的命令来生效它:
sysctl-p
7、添加iptables转发规则。
iptables-tnat-APOSTROUTING-s192.168.80.0/24-jSNAT--to-source12.34.56.78
(OpenVZ,192.168.80.0一定要和上面设置的IP段匹配,12.34.56.78为你的VPS的公网IP地址)
#iptables-tnat-APOSTROUTING-s192.168.0.0/24-oeth0-jMASQUERADE
(XEN)
注意:如果iptables设置错误,可以直接更改vim/etc/sysconfig/iptables该文件即可。
保存iptables转发规则:
/etc/init.d/iptablessave
重启iptables:
/etc/init.d/iptablesrestart
8、重启pptp服务。
/etc/init.d/pptpdrestart
9、设置开机自动运行服务。
chkconfigpptpdon
chkconfigiptableson
如果正常,到这里就OK了,不用管下面的错误了。否则请看错误说明。
错误1:如果出现错误619则输入命令:
rm-r/dev/ppp
mknod/dev/pppc1080
然后reboot重启VPS。
错误2:如果出现错误800,这是因为虚拟机内核不支持mpPE,无法使用加密,用WINDOWS默认VPN连接会显示“证书信任错误”。解决方法:修改/etc/ppp/options.pptpd文件,在require-mppe-128字段前面加#即可,注释掉require-mppe-128这行就成功了(via)。
同时别忘了,本地的windows系统的vpn属性改为可选加密,如下图:
【编辑推荐】