都说基于OpenVZ虚拟技术的VPS不能安装PPTP,其实说的太绝对了,新版OpenVZ也可以支持PPTP了,当然要你的服务商给开通TUN, PPP模块。安装步骤如下:

1、登陆SSH,检查VPS是否有必要的支持。如果检查结果没有这些支持的话,是无法安装pptp的。

首先要检查你的VPS是否支持PPP,使用PUTTY登录VPS,使用以下命令:


1
#cat /dev/ppp

结果显示- cat: /dev/ppp: No such device or address


1
#cat /dev/net/tun

结果显示- cat: /dev/net/tun: File descriptor in bad state

如果你的VPS测试结果和上面一样,那么恭喜你,你可以安装PPTP了。如果不一样,说明你的PPP模块和TUN未激活,要联系你的服务器商开通PPP和TUN.

2、安装ppp和iptables。

现在可是安装,我的VPS系统是CentOS 5.7 x84_64, 64位版本。首先是安装PPP和IPtables两个软件,一般linux系统自带了安装包, 这里直接用yum来安装即可,输入这个命令:


1
yum install -y ppp iptables

3、安装pptp。


1
2
rpm -ivh http://acelnmp.googlecode.com/files/pptpd-1.3.4-2.rhel5.1.i386.rpm (32位系统使用)
rpm -ivh http://acelnmp.googlecode.com/files/pptpd-1.3.4-2.rhel5.1.x86_64.rpm (64位系统使用)

有些朋友喜欢先wget再执行rpm,没必要多此一举。

4、配置pptp。首先我们要编辑/etc/pptpd.conf文件:


1
vim /etc/pptpd.conf

把下面字段前面的#去掉即可,此处的IP段可以任意,但是尽量注意不要跟本地网络的IP段有冲突


1
2
localip 192.168.80.1
remoteip 192.168.80.234-238,192.168.80.245

接下来再编辑/etc/ppp/options.pptpd:


1
vim /etc/ppp/options.pptpd

去掉ms-dns前面的#,并修改成如下字段:


1
2
ms-dns 8.8.8.8
ms-dns 8.8.4.4

注意:

简 单提下vim这个编辑器的用法。vi/vim命令是一个编辑器,类似WIN下的notepad记事本。vi某文件后,再按i,左下角会显示insert, 这时候才可以修改这个文件。修改好后,按esc左下角insert消失,再输入:x,回车,则存盘退出,或者输入:wq,回车,也是存盘退出;如果想不存 盘退出,则输入:q!,回车即可。

5、设置pptp VPN账号密码。我们需要编辑/etc/ppp/chap-secrets这个文件:


1
vim /etc/ppp/chap-secrets

直接输入如下字段, 第一个是用户名,第三个是密码,可以任意指定自己想要的用户名

格式说明: 第一列为用户, 依次是 -用户名、服务器名称、密码和ip, 中间使用一个空格或者tab隔开.
用户和密码可随意, 服务器名(pptpd)不要改, 后面的*代表ip由pptpd自动分配


1
vpn pptpd vpnpass *

这时,PPTP基本上配置好了,输入service pptpd start启动。

下面来配置iptables,首先输入service iptables start启动。

6、修改内核设置,使其支持转发。编辑/etc/sysctl.conf文件:


1
vim /etc/sysctl.conf

将“net.ipv4.ip_forward”改为1:


1
net.ipv4.ip_forward=1

同时在“net.ipv4.tcp_syncookies = 1”前面加# :


1
# net.ipv4.tcp_syncookies = 1

保存退出,并执行下面的命令来生效它:


1
sysctl -p

7、添加iptables转发规则。

然后分别输入下面四条命令,配置iptables添加转发规则,每天输完后要记得按回车:


1
2
3
4
iptables -A INPUT -p tcp –dport 1723 -j ACCEPT
 iptables -A INPUT -p tcp –dport 47 -j ACCEPT
 iptables -A INPUT -p gre -j ACCEPT
 iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j SNAT –to-source 88.88.88.88(这里填你的公网IP,即你的VPS IP)
注意:如果 iptables 设置错误,可以直接更改 vim /etc/sysconfig/iptables 该文件即可。保存iptables转发规则

完成后输入/etc/init.d/iptables save保存,并且输入/etc/init.d/iptables restart重新启动。这里注意:

iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j SNAT –to-source *.*.*.*
(适合于OpenVZ架构的VPS,*.*.*.*为您VPS的公网IP地址)
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE
(适合于XEN架构的VPS)
以上两条命令分别对应OpenVZ架构和XEN架构的VPS,您的VPS是什么架构需要询问供应商。


1
/etc/init.d/iptables save

重启iptables:


1
/etc/init.d/iptables restart

8、重启pptp服务。


1
/etc/init.d/pptpd restart

9、设置开机自动运行服务。


1
2
chkconfig pptpd on
chkconfig iptables on
  如果正常,到这里就OK了,不用管下面的错误了。否则请看错误说明。

错误1:如果出现错误619则输入命令:

rm -r /dev/ppp
mknod /dev/ppp c 108 0

然后 reboot 重启VPS。错误2:如果出现错误800, 这是因为虚拟机内核不支持mpPE,无法使用加密,用WINDOWS默认VPN连接会显示“证书信任错误”。解决方法:修改/etc/ppp /options.pptpd文件,在require-mppe-128字段前面加#即可,注释掉require-mppe-128这行就成功了(via)。同时别忘了,本地的windows系统的vpn属性改为可选加密,如下图:

OpenVZ VPS搭建PPTP VPN的方法
via:http://www.laohao.info/openvz-vps-concise-guide-to-install-the-pptp-vpn-service/
http://www.piaoyi.org/network/OpenVZ-VPS-PPTP-VPN.html