×

服务器搭建五——VPN服务器搭建

96
十二楼中月
2017.04.26 18:44* 字数 1544

1.测试坏境

虚拟主机中安装的Centos 6.9
安装的软件pptpd

因为在公司环境做的实验,为了安全考虑只测试在两个网络段可以正常登录,没有测试互联网的登录.。如果这个环境可以,那么远程互联网登录,不过将另一个网段改成公网IP地址就可以了,但是要做好安全设置。

2.VPN原理

VPN技术的本质是在本来能够正常连接的主机之间再建立一条虚拟通道,主要目的是为了交换不能直接在实际通道中传送的数据包,并且可以对数据进行加密处理。例如我们在内网有一台服务器可以访问内网,也设置了对外网的访问(当然是做好安全设置的),现在我们需要访问内网另一台服务器上面的业务。当然看到这里可能会出现这个很像代理服务器啊,那么代理服务器和VPN区别是什么呢?
代理服务器就是 你先通过访问代理服务器,在由代理服务器访问你需要访问的网站,服务器再返回内容给你,vpn 就是虚拟专用网,就是你访问的网站或者其他的什么服务器都要在这个虚拟专用网里,通过走一条虚拟的链路实现访问。

原理图

上图是一个总部和分部在不通地方但是我们要做VPN的示意图。在两个路由器的地方我们需要设置一些映射,使用OA和CRM上面做VPN,这样不管是在分部总部还是在其他地方都可以远程VPN登录,公司内网了。当然如果公司有钱可以做内网专线。但是相对于没有这个能力公司使用VPN是最经济的方法了。

原理图2

这个是远程VPN的示意图,192.168.1.1是内网的地址,210.45.160.4当然是公网的IP地址。现在我们在外地员工希望登录到公司内部办公网络。那么我们第一个要做的是什么呢?就是在公网IP地址的路由器上面设置如果VPN服务器PPTP的将端口tcp的47、1723 这两个端口做映射到192.168.1.1上,L2TP的 则需要映射udp1701端口到192.168.1.1上。那么这样我们的网络就设置好了。后面我们要在内网设置一台VPN服务器了,当然这个服务器必须要能访问到192.168.1.1上面。具体设置需要在VPN服务器配置文件中。

3.安装pptpd软件

在安装pptpd之后需要先安装软件PPP。yum install -y ppp
当然还需要防火墙软件iptables 当然这个默认是已经安装的。

安装ppp

下面是我的安装但是没有成功的例子,我分别下载了pptpd-1.4.0.tar.gz 和pptpd-1.3.4.tar.gz但是我使用源码安装都没有成功。报错界面都在下面

下载源码
编译
编译

使用./configure --prefix=/home/pptpd --enable-bcrelay --with-libwrap感觉都正常,但是在使用make时候报错如下图,感觉像程序错误,无法编译。搞了好久都没有成功,使用命令也没有查询到安装软件。在使用源码安装时候一定要注意,可能会遇到各种错误,个人倾向于使用软件管理工具来安装,便于管理和解决依赖关系即可使用yum源也可以使用rpm包安装。

make报错

下面是我安装成功的例子:
因为使用原来的yum源没有pptpd的安装包。所以可以使用如下命令添加pptpd到yum源中。
rpm -Uvh http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm

yum源

可以发现在/etc/yum.repos.d里面pptp.repo文件里面就是刚刚添加的pptp的yum源了。在安装
yum install pptpd -y就成功了。

安装成功

安装完成之后需要将路由转发功能开启,否则登录VPN之后只能在VPN服务器上面,而不能访问其他服务器。将/etc/sysctl.conf中的net.ipv4.ip_forward=1修改。然后使用/sbin/sysctl -p这个修改是永久的。如果临时修改可以使用echo “1”>/proc/sys/net/ipv4/ip_forword

ip转发功能开启

测试启动发现正常启动了。你们是否可以使用了呢。不可以,因为我们的配置文件还没有按照需要进行修改,下面我们来看看配置文件。

正常启动

4.配置文件

那么安装之后有那些重要文件呢 rpm -ql pptpd 和rpm -ql ppp

安装pptpd后文件

安装ppp之后的文件

重要的配置文件:/etc/pptpd.conf(主配置文件) /etc/ppp/options.pptpd和chap.secrets

主配置文件
主配置文件

以上是主配置文件信息/etc/pptpd.conf

options.pptpd文件
options.pptpd文件

以上是配置文件/etc/ppp/options.pptpd。

chap.secrets

上面是chap.secrets中设置登录vpn服务器登录的用户名和密码,最后一个登录端IP地址,*表示任意地址。若指定IP地址是需要登录的客户端
以上我们就配置好了,下面就是测试可以正常使用吗?
Service pptpd start

启动pptpd

但是使用windows系统VPN连接时候报错800.后来发现是因为我没有将vpn防火墙设置好的原因,因为我这个是测试我直接停止防火墙就可以正常登录。

windows
windows
windows
windows

登录成功之后我们在vpn查看发现给我连接增加一个进程。

VPN服务器进程

5.其他VPN构建方法

上面是我们使用了内网的一台服务器做VPN,在路由器设置端口映射等等,这个是服务器构建,其实现在有的路由是直接带有vpn功能,也可以考虑使用。下面分享两个使用软件实现vpn功能的方法:
Win7系统 下配置vpn
向日葵软件实现vpn

6.关于内外网安全

在我自己配置的vpn中没有考虑到内网安全的问题,可能会让很多朋友担心我外网路由器和内网路由器连接上来会不会导致我内网的信息泄漏呢。所以我们可以在内外网路由器之间加入防火墙,设置1723端口可以访问其他限制。也可以对端口数据量限制,使用隔离网闸等,看你对安全怎么设置了。如果是保密级别的单位是做的防护会更高,但是这些怎么都会存在一定的安全问题,不存在完全安全的系统,除非你真的是物理完全隔离。

Linux使用
Web note ad 1