Python apache 微软 HTML5 Windows Firefox 开源 程序员 Android nginx java centos mysql Ubuntu linux php wordpress linux命令 shell google

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连接,选择“属性”,在“安全”选项卡里,把“要求数据加密(没有就断开)”前面的勾去掉,或者设置成“可选加密(没有加密也可连接)”即可。

延伸阅读

评论

  1. 严格按照文中所说操作,连接成功了,但是一上网就会弹出错误窗口,说到173.0.x.x的连接没有成功。重新连接被挂起…
    博主有办法吗?