Linux CentOS VPS搭建PPTP VPN的方法

 

不少网友在访问部分网站时,需要使用VPN或代理。飘易的这个文章就引用下别人试验并且我也试验成功的在OPENVZ VPS centos下搭建PPTP VPN的方法。

PPTP VPN 一般是在XEN虚拟技术的VPS上才提供支持。但很多VPS主机商提供新版本的OpenVZ VPS,可以用来搭建PPTP VPN,据说是OpenVZ 的新技术,但目前BurstNET的VPS还不支持搭建PPTP VPN。目前OPENVZ支持pptp的主机商 有 :BUYVM / Directspace / VPSyou 等。

下面以BuyVM.net的VPS为例介绍如何在CentOS中搭建PPTP VPN。

 

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

 

有2个检查必须的:
第一个检查:

cat /dev/net/tun

返回结果为下面的文本,表明通过:

cat: /dev/net/tun: File descriptor in bad state

第二个检查:

cat /dev/ppp

返回以下结果,则通过:

cat: /dev/ppp: No such device or address

返回:“Permission denied”则不通过。 上面的2条必须都通过,才可安装pptp。如果无法通过,只能去跟客服申请为你的VPS打开 TUN/TAP/PPP 功能了。

第三个检查是否支持加密功能。如果不支持,要在配置文件去掉加密功能。在客户端连接的时候也要设置为加密为可选。

modprobe ppp-compress-18 && echo ok

 

2、安装ppp和iptables。

yum install -y ppp iptables

3、安装pptp。
(32位系统使用)

rpm -ivh http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm

(64位系统使用)

rpm -ivh http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm

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

 

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

 

vim /etc/pptpd.conf

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

localip 192.168.80.1 remoteip 192.168.80.234-238,192.168.80.245

 

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

vim /etc/ppp/options.pptpd

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

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这个文件:

vim /etc/ppp/chap-secrets

 

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

vpn pptpd vpnpass *

 

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.16.0/24 -j SNAT --to-source 12.34.56.78

(OpenVZ, 192.168.80.0一定要和上面设置的IP段匹配,12.34.56.78为你的VPS的公网IP地址)

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

(XEN,直接设置相应网卡即可。)

注意:如果 iptables 设置错误,可以直接更改 vim /etc/sysconfig/iptables 该文件即可。

 

保存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

 

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

 

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

rm -rf /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属性改为可选加密,如下图:

来源:http://www.piaoyi.org/network/OpenVZ-VPS-PPTP-VPN.html

 

VPS服务器架设:CentOS PPTPD VPN一键安装包

系统要求:CentOS 5 32bit/64bit。若VPS安装需要Xen虚拟化技术支持或者最新的OpenVZ技术支持。

本方法已经在如下VPS上测试成功:VPSyou的Xen;BuyVM的OpenVZ;Yardvps的xen。

安装方法,登陆SSH后输入以下命令:

CentOS 5.X专用:

wget http://www.huzs.top/soft/pptp_onekey/pptpd5.sh

sh pptpd5.sh

CentOS 6.X专用:

wget http://www.huzs.top/soft/pptp_onekey/pptpd6.sh

sh pptpd6.sh

安装完成后会提示vpn用户名和密码。

VPN用户管理:
直接编辑文件:,按照相同格式添加用户名和密码即可。

vi /etc/ppp/chap-secrets

发表评论

邮箱地址不会被公开。 必填项已用*标注