CentOS上使用PPTP搭建VPN

目前公司在IDC机房有一台服务器A(linux系统)。该服务器是对外的有两块网卡,一个是公网,一个是私网的。

而另外一台服务器B必须通过A服务器上的VPN拨连接进来,才能管理服务器B。

但是A服务器上通过iptables策略限制,只能是公司的IP地址才能通过VPN拨号连接进来。

这样就相应的提高了服务器的安全性,下面记录下有关A服务器VPN的安装与配置。

介绍下PPTP的相关知识:

PPTP(点到点隧道协议)是一种用于让远程用户拨号连接到本地的ISP,通过因特网安全远程访问公司资源的新型技术。它能将PPP(点到点协议)帧封装成IP数据包,以便能够在基于IP的互联网上进行传输。PPTP使用TCP(传输控制协议)连接的创建,维护,与终止隧道,并使用GRE(通用路由封装)将PPP帧封装成隧道数据。被封装后的PPP帧的有效载荷可以被加密或者压缩或者同时被加密与压缩。

本次实验使用的centos 6.5 64bit。

安装之前检查系统兼容性。

检查内核MPPE补丁,确定内核是否支持mppe:

modprobe ppp-compress-18 && echo ok

如果显示ok,内核已经具备了mppe支持。

检查PPP是否支持MPPE,若结果显示0则表示不支持,而30或更大的数字就表示支持。

strings ‘/usr/sbin/pppd’|grep -i mppe |wc -l

安装VPN需要安装三个组件ppp、pptp、pptpd。ppp与pptp我们可以通过yum方式进行安装,如下图:

yum –y install ppp pptp

而pptpd无法通过yum方式进行安装。我们可以到http://pkgs.org/search/pptpd?type=name

这个网站上进行下载相应的安装包,如下图:

注意如果你的系统版本是32bit的就下载i686版本。如果是系统是64bit的下载X86_64版本的。

如何查看linux系统的版本,可以参考我另外一篇文章《烂泥:查看linux系统的版本》。你也可以去度娘下。

pptpd下载完毕后,进行安装,如下图:

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/pptpd-1.4.0-3.el6.x86_64.rpm

rpm -ivh pptpd-1.4.0-3.el6.x86_64.rpm

以上把需要的三个组件都已经安装完毕,我们接下来进行配置。

pptpd的配置文件在/etc/pptpd.conf,pppp的配置文件在/etc/ppp/ options.pptpd.

切换到/etc的根目录下,编辑pptpd.conf文件。如下图:

在这个文件中,我们需要把logwtmp注释掉,如下图:

然后配置本机的内网IP地址,以及客户端拨号进来后所要分配的IP地址。如下图:

具体的相关说明如下:

option /etc/ppp/options.pptpd用来表明pptp加密选项文件路径;

stimeout 120 —-开始PPTP控制连接的超时时间,以秒计;

debug —-把所有debug信息记入系统日志/var/log/messages;

localip —-服务器VPN虚拟接口将分配的IP地址,可设置为与VPN服务器内网地址相同网段的IP,也可以设置为另一网段的IP;

remoteip —-客户端VPN连接成功后将分配的IP地址段,同样可设置为与VPN服务器内网地址相同网段的IP地址段,也可以设置为另一网段的IP地址段;

下面开始配置ppp的配置文件,编辑options.pptpd文件。内容如下:

我们需要注释掉require-mschap-v2和require-mppe-128两行,同时还要启用ms-dns。如下图:

该DNS可以填写公共的DNS服务器,也可以是你自己配置的。注意name pptpd表示VPN服务器名称,该名称我们在下面会使用到。

下面开始配置VPN访问的用户名、密码以及分配的IP地址。/etc/ppp目录下的chap-secrets文件。如下图:

该文件主要包括四个部分。

Client是VPN登录的用户名

Server 是VPN服务器名称,就是options.pptpd文件中的name pptpd。

Secret是VPN用户的密码

IP address是分配给用户的IP地址,其中*表示任意一个IP地址。

此实验我们使用的用户名为ilanni。密码也是ilanni。

注意由于VPN的帐号和密码是明文保存,所以我们要修改该文件的权限为600。

以上是对相关配置的的修改,下面就是对iptables的修改。

开启防火墙的IP转发功能,把net.ipv4.ip_forward赋值为1,如下图:

保存并退出,使用sysctl –p命令使刚刚的配置生效。

配置iptables策略,开启VPN的47和1723端口。如下图:

-A INPUT -p gre -j ACCEPT

-A INPUT -p tcp -m state –state NEW -m tcp –dport 47 -j ACCEPT

-A INPUT -p tcp -m state –state NEW -m tcp –dport 1723 -j ACCEPT

如果你想限制固定的IP地址才能拨号VPN,可以进行如下设置:

-A INPUT -p gre -s 100.65.2114.134 -j ACCEPT

-A INPUT -p tcp –dport 47 -s 100.65.2114.134 -j ACCEPT

-A INPUT -p tcp –dport 1723 -s 100.65.2114.134 -j ACCEPT

其中100.65.2114.134是可以拨号VPN的IP地址。

现在开始启动pptpd服务,如下图:

/etc/init.d/pptpd start

现在使用客户端进行连接,要注意VPN连接地址。如下图:

在填写VPN的连接地址时,我们要填写的是VPN服务器的外网IP地址。如下图:

填写VPN登录的用户名和密码。

提示加密类型不对,我们需要修改本地的加密类型。选择VPN的名称,安全—数据加密,选择“可选加密”,如下图:

然后重新连接。

可以看到已经连接进去了。

在VPN服务器上查看多了一张网卡,而且也可以看到VPN客户端获取到的IP地址。如下图:

至此VPN的安装与配置结束。

时间: 2024-10-08 00:59:39

CentOS上使用PPTP搭建VPN的相关文章

求助,搬瓦工centos系统下vps搭建vpn

问题描述 求助,搬瓦工centos系统下vps搭建vpn 想问一下,出现这个问题是怎么回事?求大神,希望大神能稍微讲清晰一点!感谢! 解决方案 http://www.bandwagong.com/pptpd-vpn/

CentOS下基于pptp架设VPN服务器教程

PPTP,即PPTF协议.该协议是在PPP协议的基础上开发的一种新的增强型安全协议,支持多协议虚拟专用网(VPN),可以通过密码身份验证协议(PAP).可扩展身份验证协议(EAP)等方法增强安全性.可以使远程用户通过拨入ISP.通过直接连接Internet或其他网络安全地访问企业网. PPTP:点对点隧道协议 (PPTP: Point to Point Tunneling Protocol) 点对点隧道协议(PPTP)是一种支持多协议虚拟专用网络的网络技术,它工作在第二层.通过该协议,远程用户能

详解Linux下搭建VPN服务器(CentOS、pptp)_Linux

本文介绍在安装CentOS操作系统的Xen VPS上,如何搭建PPTP VPN服务.包括PPTP的安装.配置,以及相应的iptables规则.本文暂时不涉及PPTP流量控制的部分,等抽空学明白了FreeRADIUS,再来写续篇.2011年7月20日更新:在安全建议这一部分,增加了使用不同的IP地址,分别提供VPN服务和Web等其他常规服务,以及使用不同IP地址时如何书写iptables规则的内容. 写在前面 在Godaddy一美元COM域名的怂恿下,这几天先是拿到了这个gnailuy.com,然

RHEL/Centos/Fedora/下搭建vpn pptp 服务器步骤

  用vpn已经有很多年,然而一直因为懒惰原因,所以一直都没有写关于如何搭建vpn服务器的文章,今年兴致所致,分享一下个人搭建vpn server的过程,写的简陋,请勿拍砖.vpn的使用非常广泛,可谓大多网虫和技术股都需要用到的东西,不过看下文之前请先看看自己的服务器是否支持pptp方式的vpn服务器,具体请执行命令 modprobe ppp-compress-18 && echo ok 假如输出ok请继续, 假如不ok,说明服务器不支持.下面的文章可能对你没啥用. 第一步:安装pptpd

centos 6.5 双网卡 vpn 连接不上

问题描述 centos 6.5 双网卡 vpn 连接不上 配置好vpn客户端后,使用pppd call connectvpn后,使用ps -ef|grep pppd,能看到相应的进程,使用ifconfig 看不到网络连接.过一会进程退出. 查看 /var/log/messages 信息为 Using interface ppp0 Sep 7 10:22:09 iZ23so71psiZ pppd[30764]: Connect: ppp0 <--> /dev/pts/1 Sep 7 10:22:

CentOS上搭建PHP服务器环境的步骤与方法_服务器其它

本文实例讲述了CentOS上搭建PHP服务器环境的步骤与方法.分享给大家供大家参考,具体如下: 安装apache: yum install httpd httpd-devel 启动apache: /etc/init.d/httpd start 此时输入服务器的IP地址,应该看到apache的服务页面,端口不用输,apache默认就是使用80端口 安装mysql: yum install mysql mysql-server 启动mysql: /etc/init.d/mysqld start 安装

fedora 20搭建vpn server服务器步骤

不用往下看了,按利用 pritunl 来搭建vpn server来做比较简单 网上的说明真是全是垃圾,各种乱讲.浪费了我不少时间 安装pptp server sudo yum install pptpd -y 编辑 vim /etc/ppp/chap-secrets 加入一行 用户名 pptpd 密码 * 启动pptpd service pptpd start 到客户机上尝试连接,建立一个pptp连接,记住一定要进入高级设置,打开 use MPPE Encryption,否则连不上 连上后,没法

如何在Linux上用Apache搭建Git服务器

最近在学Linux,终于在Linux上用Apache搭建起了Git服务器,在此记录一下. 服务器:阿里云服务器 Linux版本:CentOS 6.5 Apache版本:Apache/2.2.15 Git版本:git 1.7.1 Git访问方式:基于http的基本验证(非SSL) Apache的安装 1. 安装Apache软件:yum install httpd 2. 设置Apache在服务器启动时运行:chkconfig --levels 235 httpd on Git的安装与配置 1. 安装

CentOS 7下怎么搭建高可用集群?

  CentOS 7下怎么搭建高可用集群.高可用集群是指以减少服务中断时间为目的的服务器集群技术.它通过保护用户的业务程序对外不间断提供的服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度.那么新的centos下怎么来搭建高可用集群. 环境:本文以两台机器实现双集热备高可用集群,主机名node1的IP为192.168.122.168 ,主机名node2的IP为192.168.122.169 . 一.安装集群软件必须软件pcs,pacemaker,corosync,fence-agen