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

Xen和OpenVZ架构的LinuxVPS安装PPTPVPN服务器

之前有好几次安装VPN服务都失败了,最近再次有安装几次发现非常的简单,特写此文章供参考。Xen系统环境:CentOSrelease6.4(Final)64位首先检查是否支持PPP(一般都支持的)执行modprobeppp-compress-18无返回结果则OK[root@localhost~]#modprobepp

之前有好几次安装VPN服务都失败了,最近再次有安装几次发现非常的简单,特写此文章供参考。

Xen系统环境:CentOS release 6.4 (Final) 64位
首先检查是否支持PPP(一般都支持的)
执行modprobe ppp-compress-18 无返回结果则OK

[root@localhost ~]# modprobe ppp-compress-18
[root@localhost ~]#

安装ppp 和iptables (这里注意不要以为系统默认已经有了iptables就不装,到后来会发现添加规则报错)

yum install -y ppp iptables

install ppp 300x201 Linux Xen和OpenVZ架构安装PPTP VPN。

下载pptp安装包

wget http://soft.painso.com/Linux/pptpd/pptpd-1.3.4-2.el6.x86_64.rpm

注:如果你没有安装wget请执行 yum -y install wget,这里我是centos 6系列的64位系统,如果你的系统版本和系统位数有差别请访问

http://soft.painso.com/Linux/pptpd/ 进行选择下载,

官方:

http://poptop.sourceforge.net/yum/stable/packages/ (需翻X)

[root@localhost ~]# ls
pptpd-1.3.4-2.el6.x86_64.rpm
[root@localhost ~]# rpm -ivh pptpd-1.3.4-2.el6.x86_64.rpm
warning: pptpd-1.3.4-2.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 862acc42: NOKEY
error: Failed dependencies:
        /usr/bin/perl is needed by pptpd-1.3.4-2.el6.x86_64
        perl(strict) is needed by pptpd-1.3.4-2.el6.x86_64

执行安装的时候出现如上错误,原因是没有安装perl

yum -y install perl

install perl 300x201 Linux Xen和OpenVZ架构安装PPTP VPN。

编辑ppp配置文件:vim /etc/ppp/options.pptpd

先按键盘上的 dG 清空默认配置添加下面的配置上去保存退出。

name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
ms-dns 8.8.8.8
ms-dns 8.8.4.4

编辑IP地址池等信息:vim /etc/pptpd.conf

同样键入dG清空默认配置添加下方配置保存退出。(localip和remoteip可根据自己的需要配置)

option /etc/ppp/options.pptpd
logwtmp
localip 172.16.0.1
remoteip 172.16.0.2-254

localip:本机PPP网卡IP(作为客户端连接时的网关)

remoteip:客户端获取IP的范围(从2到254个IP顺序获取)

编辑VPN帐号密码信息:vim /etc/ppp/chap-secrets

格式为:登录帐号 协议 登录密码 指定客户端获取的IP

如:vpn pptpd vpn *  - 这样为帐号密码是vpn 获取的ip会从/etc/pptpd.conf配置的地址池中获取

vpn pptpd vpn 172.16.0.55 ? 这样我就为该帐号设置了一个固定的IP,请不要设置123.3.4.5这样的IP 否则上不了网。

开启ipv4内核转发:vim /etc/sysctl.conf

把 net.ipv4.ip_forward = 0 修改为 net.ipv4.ip_forward = 1

执行 sysctl -p

ipv4 forward 300x201 Linux Xen和OpenVZ架构安装PPTP VPN。

现在我们的VPN服务基本已经配置完毕了,现在执行最后的操作

添加iptables NAT转发规则

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 172.16.0.0/24 -o eth0 -j MASQUERADE

如果你的iptables策略并不需要如此严格其实添加下面这1条就可以了

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

保存iptables规则和启动pptp服务并设置开机启动

service iptables save
service iptables restart
service pptpd start
chkconfig pptpd on

现在你就可以使用你的客户端连接到你的VPN服务开始翻X之旅啦!

xen pptp 266x300 Linux Xen和OpenVZ架构安装PPTP VPN。

OpenVZ系统环境:CentOS release 6.2 (Final) 32位

安装ppp和pptp

yum -y install ppp
rpm -ivh http://soft.painso.com/Linux/pptpd/pptpd-1.3.4-2.el6.i686.rpm

同样开始编辑配置文件:

vim /etc/ppp/options.pptpd

清空粘帖下方配置

name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
ms-dns 8.8.8.8
ms-dns 8.8.4.4
vim /etc/pptpd.conf

清空粘帖下方配置

option /etc/ppp/options.pptpd
logwtmp
localip 172.16.0.1
remoteip 172.16.0.2-254
vim /etc/ppp/chap-secrets

添加你的pptp服务帐号

pptp 300x55 Linux Xen和OpenVZ架构安装PPTP VPN。

同样修改内核配置开启ipv4转发

vim /etc/sysctl.conf

里面的 net.ipv4.ip_forward=0 修改为 net.ipv4.ip_forward=1

sysctl -p

添加iptables转发规则

iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -j SNAT --to-source 67.117.22.35

这里的 67.117.22.35 修改为服务器的公网IP

开启相关服务并开机启动

service iptables save
service iptables restart
service pptpd start
chkconfig pptpd on

大功告成!

openvz 300x141 Linux Xen和OpenVZ架构安装PPTP VPN。

注:

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

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

然后 reboot 重启。

错误2:如果出现错误800,这是因为虚拟机内核不支持mpPE,无法使用加密,用WINDOWS默认VPN连接会显示“证书信任错误”。解决方法:修改/etc/ppp/options.pptpd文件,在require-mppe-128字段前面加#即可,注释掉require-mppe-128这行就成功了

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

error 300x227 Linux Xen和OpenVZ架构安装PPTP VPN。

其实到最后你会发现2种虚拟架构配置VPN只是添加到iptables的转发规则不同。

我操!浪费老子这么多时间,这Linux还怎么玩。。。


推荐阅读
  • 在Linux系统上构建Web服务器的详细步骤
    本文详细介绍了如何在Linux系统上搭建Web服务器的过程,包括安装Apache、PHP和MySQL等关键组件,以及遇到的一些常见问题及其解决方案。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • 本文深入探讨了 PHP 实现计划任务的方法,包括其原理、具体实现方式以及在不同操作系统中的应用。通过详细示例和代码片段,帮助开发者理解和掌握如何高效地设置和管理定时任务。 ... [详细]
  • 本文介绍如何配置SecureCRT以正确显示Linux终端的颜色,并解决中文显示问题。通过简单的步骤设置,可以显著提升使用体验。 ... [详细]
  • 请看|间隔时间_Postgresql 主从复制 ... [详细]
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
  • 利用SSH隧道实现外网对局域网机器的安全访问
    本文探讨了一种常见的网络配置问题及其解决方案,即如何在外网环境下安全地访问位于局域网内的计算机。特别介绍了使用SSH反向隧道技术来实现这一目标的具体步骤和注意事项。 ... [详细]
  • 使用LVS与ldirectord实现高可用负载均衡
    本文介绍了如何通过LVS(Linux Virtual Server)结合ldirectord工具来实现服务器的健康检查及负载均衡功能。环境设置包括一个LVS节点和两个真实服务器节点,通过配置ldirectord进行健康状态监测,确保系统的高可用性。 ... [详细]
  • 本文详细介绍了如何在CentOS 7操作系统上搭建GitLab服务器的过程,包括环境准备、软件安装及基本配置等关键步骤。 ... [详细]
  • 通常,ping命令用于快速检测与远程服务器之间的网络延迟,以评估连接质量。然而,在某些情况下,即使服务器可以正常访问,ping请求也可能无法成功。本文将介绍在CentOS 7系统上禁用ping命令的方法,包括临时和永久性设置。 ... [详细]
  • Docker入门与实践指南
    本文介绍了Docker的基础知识,包括其作为开源应用容器引擎的特点,以及如何利用Docker将应用程序及其依赖项打包成轻量级的容器镜像。同时,还详细讲解了Docker的核心概念、安装过程及基本命令操作。 ... [详细]
  • 本文探讨了在支付项目开发中使用SS5 Socket Server实现内部网络访问外部网络的技术方案。详细介绍了SS5的安装、配置及性能测试过程,旨在为面临相同需求的技术人员提供参考。 ... [详细]
  • 解决腾讯社区开放平台.NET SDK在Linux下的兼容性问题
    本文探讨了腾讯社区开放平台.NET SDK在Linux系统(如CentOS)中遇到的QzoneException异常,并提供了通过安装根证书等方法解决该问题的具体步骤。 ... [详细]
  • 本报告详细记录了在2018-2019学年网络安全技术课程中的实验过程,重点探讨了PC平台上逆向工程的基本方法和利用缓冲区溢出(BOF)漏洞的技术。通过一系列实验,加深了对计算机系统安全性的理解。 ... [详细]
author-avatar
1hhhhhhhhhhh0_196_217
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有