BuyVM.net提供OpenVZ VPS,并且官方网站介绍说“All VPS’s come with the ability to run OpenVPN, PPTP, GRE and SIT tunnels by default ”,意思是可以用来搭建PPTP VPN,据说是OpenVZ的新技术,但目前BurstNET的VPS还不支持搭建PPTP VPN。
下面以BuyVM.net的VPS为例介绍如何在CentOS中搭建PPTP VPN。
1、登陆SSH,检查VPS是否有必要的支持。如果检查结果没有这些支持的话,是无法安装pptp的。
当然Buyvm的用户可以直接跳过。
modprobe ppp-compress-18 && echo ok(用模块方式支持MPPE加密模式浏览,如果内核支持检测不到。)
如果显示“ok”表明通过。不过接下来还需要做另一个检查:
cat /dev/net/tun
显示结果为下面的文本,表明通过:
cat: /dev/net/tun: File descriptor in bad state
上述两条只需一条通过,即可安装pptp。如果还有其它问题,或者请你的服务商来解决这个问题。
2、安装ppp和iptables。
yum install -y ppp iptables
3、安装pptp。
rpm -ivh http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm (32位系统使用) rpm -ivh http://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
把下面字段前面的#去掉即可:
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245
接下来再编辑/etc/ppp/options.pptpd:
vim /etc/ppp/options.pptpd
去掉ms-dns前面的#,并修改成如下字段:
ms-dns 8.8.8.8
ms-dns 8.8.4.4
5、设置pptp VPN账号密码。我们需要编辑/etc/ppp/chap-secrets这个文件:
vim /etc/ppp/chap-secrets
直接输入如下字段,zhujimi可以换成其他字段:
zhujimi pptpd zhujimi *
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 -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT –to-source 12.34.56.78
(OpenVZ,12.34.56.78为你的VPS的公网IP地址) iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
(XEN)
保存iptables转发规则:
/etc/init.d/iptables save
重启iptables:
/etc/init.d/iptables restart
8、重启pptp服务。
/etc/init.d/pptpd restart
9、设置开机自动运行服务。
chkconfig pptpd on chkconfig iptables on
如果出现错误619则输入命令
mknod /dev/ppp c 108 0
如果你需要图形化管理VPN的话,建议使用Webmin:
rpm -ivh http://nchc.dl.sourceforge.net/project/webadmin/webmin/1.510/webmin-1.510-1.noarch.rpm
注意:如果虚拟机内核不支持MPPE的话,无法使用加密,用WINDOWS默认VPN连接会显示“证书信任错误”。
解决方法:修改/etc/ppp/options.pptpd注释掉require-mppe-128这行,然后windows的vpn拨号的属性改为可选加密,再次连接就成功了。
本文参考:http://www.zhujimi.com/903.html和http://blog.xaoyo.net/post/359
以上原文地址:http://pptp.openvzubuntu.com/buyvm-openvz-vps-centos%e6%90%ad%e5%bb%bapptp-vpn/
以下原文地址:http://down.chinaz.com/server/201111/1342_1.htm
CentOS系统下OpenVZ VPS安装PPTP VPN的方法
很多人说CentOS下OpenVZ安装PPTP VPN必须要开启PPP和TUN。经过我的测试,只要开启了PPP即可,不需要TUN的支持。安装PPTP VPN需要开启PPP;安装OpenVPN需要开启TUN。
1、检测PPP是否开启,命令如下
# cat /dev/ppp
开启成功的标志:cat: /dev/ppp: No such file or directory 或者 cat: /dev/ppp: No such device or address,可以继续安装过程;
开启不成功的标志:cat: /dev/ppp: Permission denied,请联系服务商开启。
成功开启PPP以后,就可以安装了。有些教程里说还需要输入cat /dev/net/tun检测tun/tap是否开启,实际上这是完全不必要的。
2、安装ppp和iptables
# yum install -y ppp iptables3 //安装pptp # rpm -ivh http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm(32位系统适用) # rpm -ivh http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm(64位系统适用)
3、配置pptp
编辑/etc/pptpd.conf文件,把下面字段前面的#去掉即可,此处的IP段可以任意,但是尽量注意不要跟本地网络的IP段有冲突。
localip 192.168.0.1 remoteip 192.168.0.234-238,192.168.0.245
编辑/etc/ppp/options.pptpd文件,去掉ms-dns前面的#,并修改成如下字段:
ms-dns 8.8.8.8 ms-dns 8.8.4.4
同时将”require-mppe-128″这一行前面加上#:
#require-mppe-1285
设置PPTP VPN密码,修改/etc/ppp/chap-secrets文件,添加一行,内容如下(空格隔开):
用户名 pptpd 密码
第一个是用户名,第三个是密码。如果以后想添加更多用户,直接再添加一行即可。
4、修改内核设置,使其支持转发
编辑/etc/sysctl.conf文件,将”net.ipv4.ip_forward”右边的值改为1:
net.ipv4.ip_forward=1 #net.ipv4.tcp_syncookies = 1 #注释掉这一行 #net.ipv4.tcp_syncookies = 17
添加iptables转发规则,并保存
# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 你的VPS的IP # /etc/init.d/iptables save
注意:192.168.0.0一定要和上面设置的IP段匹配。如果iptables设置错误,可以直接编辑/etc/sysconfig/iptables文件即可。
5、设置pptp和iptables开机自启动
# chkconfig pptpd on # chkconfig iptables on 9
重启pptp和iptables
# /etc/init.d/pptpd restart # /etc/init.d/iptables restart
至此,已经安装完成了PPTP VPN。如果连接的时候出现619错误,则依次执行下面2条命令:
# rm -r /dev/ppp # mknod /dev/ppp c 108 0 然后重启VPS即可。
如果连接的时候出现”错误 742:远程计算机不支持所要求的数据加密类型。”(在Win7下可能提示为”错误628:连接完成前,连接被远程计算机终止。”),在网络邻居里右击此VPN连接,选择”属性”,在”安全”选项卡里,把”要求数据加密(没有就断开)”前面的勾去掉,或者设置成”可选加密(没有加密也可连接)”即可。