热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

OpenVZvps安装PPTPVPN服务步骤

都说基于OpenVZ虚拟技术的VPS不能安装PPTP,其实说的太绝对了,新版OpenVZ也可以支持PPTP了,当然要你的服务商给开通TUN,PPP模块。安装步骤如下:首先要检查你的VPS是否支持PPP,使用PUTTY登录VPS,使用以下命令:#cat/dev/ppp结果显示-cat:/dev/ppp:N

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

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

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

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

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

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

下面接着下载并安装PPTP软件:

32位系统:
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.i386.rpm
rpm -ivh pptpd-1.3.4-2.rhel5.i386.rpm

64位系统:
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.x86_64.rpm
rpm -ivh pptpd-1.3.4-2.rhel5.x86_64.rpm 

pptp配置,使用vi命令执行。也可以使用WinSCP登录vps后直接编辑相关文件。

vi /etc/pptpd.conf
localip 192.168.2.1
remoteip 192.168.2.2-25

解释下: localip是pptp服务器使用的ip, 可以随意指定; remoteip链接到vpn的用户分配到ip的访问, 和localip同一个网段即可. 一般可使用192.168.xx.xx, 10.10.x.x等内部IP地址。

vi /etc/ppp/options.pptpd
ms-dns 8.8.8.8
ms-dns 8.8.4.4

解释: 设置链接到vpn的用户如果访问网络时使用的dns, 和他们自己电脑与服务器设置的dns没任何关系.

vi /etc/ppp/chap-secrets
test pptpd 123456 *

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

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

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

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

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)

完成后输入/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是什么架构需要询问供应商。

开启路由转发。因为VPN客户端在拨号后实际是通过服务器外网网卡进行数据通信的,那么要访问内网网段的地址就必须开启数据包转发,使外网网卡的数据包能够转发到内网网卡上
# vi /etc/sysctl.conf

  net.ipv4.ip_forward = 0
      修改为:
  net.ipv4.ip_forward = 1
# sysctl -p /etc/sysctl.conf  (使修改立即生效)

如果VPN客户端能连接成功但还是不能上外网,可能是因为VPS开启了SELinux认证。对于默认开启了SELinux认证:需执行以下命令使pppd与pptp穿透SELinux
 # setsebool pppd_disable_trans 1

也可关闭SELinux认证,方法:
编辑vi /etc/sysconfig/selinux文件,配置以下选项
  SELINUX=disabled
如果不重启生效就执行以下命令使修改生效
# setenforce 0

如果你需要服务器启动时候自动启动VPN服务,还需要输入chkconfig pptpd on和chkconfig iptables on这两条命令。

这个时候,PPTP的VPN就已经全部配置好了,由于内容太多,就不截图了,说明已经很详细。

在Windows下新建一个VPN连接,输入服务器ip、用户名和密码,如无意外就能连上去了。如果VPN连接出现619错误,使用以下命令修复:

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

推荐阅读
author-avatar
tbc5052661
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有