热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS系统下OpenVZVPS搭建PPTPVPN的方法

不少网友在访问部分网站时,需要使用VPN或代理。飘易的这个文章就引用下别人试验并且我也试验成功的在OPENVZVPScentos下搭建PPTPVPN的方法。PPTPVPN一般是在XEN虚拟技术的VPS上才提供支持。但很多VPS主机商提供新版本的OpenVZVPS,可以用来搭建PPTPVPN

  不少网友在访问部分网站时,需要使用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 功能了。

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

把下面字段前面的#去掉即可,此处的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.80.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 -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这行就成功了。

同时别忘了,本地的windows系统的vpn属性改为可选加密,如下图:

OpenVZ VPS搭建PPTP VPN的方法

一键安装包

wget http://soft.kwx.gd/vpn/pptpd.sh

sh pptpd.sh

注意:安装完成后,大家要注意字符的最后一行是你VPN用户名和密码(默认帐号为:vpn)。如果你需要添加用户或修改帐户,只要直接编辑输入命令 vim /etc/ppp/chap-secrets 编辑文件,按照相同格式添加用户名和密码即可。


推荐阅读
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 如何更改电脑系统的自动校时服务器地址?
    本文介绍了如何通过注册表编辑器更改电脑系统的自动校时服务器地址。通过修改注册表中的数值数据或新建字符串数值的方式,可以将默认的时钟同步服务器地址更改为自己所需要的域名或IP地址。详细步骤包括双击时间区域,点击internet时间,勾选自动校正域名设置定时等操作。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
  • 本文详细介绍了在Centos7上部署安装zabbix5.0的步骤和注意事项,包括准备工作、获取所需的yum源、关闭防火墙和SELINUX等。提供了一步一步的操作指南,帮助读者顺利完成安装过程。 ... [详细]
  • 一、修改注册表去掉桌面图标小箭头1按下win+R组合快捷键,打开windows10系统的“运行”窗口,输入“regedit”,打开注册表编辑器,找到HKEY_CLASSES_ROOT\lnkfi ... [详细]
  • 原理:dismiss再弹出,把dialog设为全局对象。if(dialog!null&&dialog.isShowing()&&!(Activity.)isFinishing()) ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 使用chrome编辑器实现网页截图功能的方法
    本文介绍了在chrome浏览器中使用编辑器实现网页截图功能的方法。通过在地址栏中输入特定命令,打开控制台并调用命令面板,用户可以方便地进行网页截图操作。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
  • wpf+mvvm代码组织结构及实现方式
    本文介绍了wpf+mvvm代码组织结构的由来和实现方式。作者回顾了自己大学时期接触wpf开发和mvvm模式的经历,认为mvvm模式使得开发更加专注于业务且高效。与此同时,作者指出mvvm模式相较于mvc模式的优势。文章还提到了当没有mvvm时处理数据和UI交互的例子,以及前后端分离和组件化的概念。作者希望能够只关注原始数据结构,将数据交给UI自行改变,从而解放劳动力,避免加班。 ... [详细]
  • 本文介绍了在Linux中执行.sh脚本时出现/bin/sh^M: bad interpreter: No such file or directory异常的原因分析,并提供了两种解决方法:在Windows下进行编码格式转换,或在Linux中修改文件格式和执行权限。具体操作步骤也在摘要中给出。 ... [详细]
  • Python脚本编写创建输出数据库并添加模型和场数据的方法
    本文介绍了使用Python脚本编写创建输出数据库并添加模型数据和场数据的方法。首先导入相应模块,然后创建输出数据库并添加材料属性、截面、部件实例、分析步和帧、节点和单元等对象。接着向输出数据库中添加场数据和历程数据,本例中只添加了节点位移。最后保存数据库文件并关闭文件。文章还提供了部分代码和Abaqus操作步骤。另外,作者还建立了关于Abaqus的学习交流群,欢迎加入并提问。 ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
author-avatar
百变精灵99
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有