快捷搜索:

利用mpd搭建基于PPTP协议的企业级VPN

不停以来都是追求安然性第一,以是搭建VPN只斟酌基于IPSec的。IPSec的优点当然很多,极高的安然性,机动的设置设置设备摆设摆设,多种加密/署名算法,适用于各类利用处合,等等。但其毛病是因为对高安然性的要求,使得其运算量对照大年夜,也便是说在大年夜流量通讯时假如应用IPSec来对数据进行加密,硬件要求较高。是以基于IPSec的VPN适用于对数据传输安然性要求高且拥有足够档次的硬件资本的关键利用、ISP/IDC利用或大年夜型企业营业利用。

同时,因为IPSec今朝在多种操作系统平台上的兼容性不一。类UNIX平台之间的IPSec通讯平日不会有什么问题,但与Windows平台进行IPSec会话时则每每因为双方对密钥协商的实现存在差异而掉败。(应用SSH公司的Sential for Windows时经由过程一些trick操作可以成功。)

在因为上述身分使得搭建基于IPSec的VPN碰到不少艰苦时,我们可以斟酌基于非IPSec的VPN技巧,例如L2TP、PPTP、IPIP等。这些技巧相称成熟且稳定,各大年夜操作系统

基础上都支持它们,而且对硬件的机能要求较之IPSec低,分外适用中小型企业的VPN利用需求。

本文将经由过程一个实例,来解说若何使用开放源代码(GNU)的mpd软件来搭建一个基于PPTP(Point-to-Point Tunnel Protocol)协议的VPN通道。

--[ 收集情况与拓扑布局 ]----

两真个防火墙网关均采纳FreeBSD 4.5-Stable + IP Filter 3.4.27

[[The No.1 Picture.]]

--[ 安装 ]------------------

注:GW-A和GW-B的mpd软件包安装历程完全相同。

GW-A # cd /usr/ports/net/mpd

GW-A # make

GW-A # make install

这是FreeBSD ports的安装标准三步,最简单不过了。

假如是手工下载mpd软件包,步骤也差不多,只不过必要本武艺工改动Makefile中的一

些参数而已。

--[ 设置设置设备摆设摆设 ]----

1、 确保系统支持netgraph和ng_*。可以改动内核编译设置设置设备摆设摆设文件将其编译到内核中,但缺省环境下它们平日都邑被编译成内核模块,可以由内核自动加载。是以,只需确保/modules目录下包孕以下内核模块:

netgraph.ko

ng_bpf.ko

ng_iface.ko

ng_ksocket.ko

ng_mppc.ko

ng_ppp.ko

ng_pptpgre.ko

ng_socket.ko

ng_vjc.ko

2、 确保系统的securelevel不大年夜于零,否则无法加载内核模块。(假如将内核模块直接编译到内核中,则无此限定。)

GW-A # sysctl kern.securelevel

kern.securelevel: -1

3、 创建GW-A的/usr/local/etc/mpd.*设置设置设备摆设摆设文件。

GW-A # cd /usr/local/etc/mpd

GW-A # cat > mpd.confmpd.linksmpd.confmpd.linksmtu 1496

inet 192.168.1.254 --> 192.168.2.254 netmask 0xffffffff

GW-B # ifconfig ng0

ng0: flags=88d1 mtu 1496

inet 192.168.2.254 --> 192.168.1.254 netmask 0xffffffff

然后在192.168.1.0/24和192.168.2.0/24之间进行收集造访测试。

--[ 系统自启动设置设置设备摆设摆设 ]------------------

1、 将精确的ipfilter规则写入到启动时加载的规则文件中的适当位置。

2、 创建mpd守护进程的自启动和节制脚本:

GW-A # cat > /usr/local/etc/rc.d/mpd.sh << __EOF__

#!/bin/sh

PREFIX="/usr/local"

case "$1" in

start)

if [ -x ${PREFIX}/sbin/mpd -a -f ${PREFIX}/etc/mpd/mpd.conf ]; then

您可能还会对下面的文章感兴趣: