Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐: 强烈推荐:Ylmf OS 3.0 正式版发布附迅雷高 XP系统下硬盘安装Fedora 14图文教程
搜索:
您的位置: Linux安全网 > Linux入门 > » 正文

构建基于Linux平台的开源VPN服务器

来源: succeed_ 分享至:

实验名称:构建基于Linux平台的开源VPN服务器

实验目标:一、基于Linux配置poptop VPN与管理

          二、基于Linux配置Openswan VPN与管理

VPN的功能:加密数据

             信息认证和身份认证

             访问控制

             多协议支持

实验一:配置poptop VPN 服务器

开源PPTP服务器产品Poptop特性

微软兼容的认证和加密(MSCHAPv2,MPPE40-128位RC4加密) 。

支持多个客户端连接 。

使用RADIUS插件无缝集成到一个微软网络环境中 。

和Windows 95/98/Me/NT/2000/XP PPTP客户端共同工作 。

和Linux PPTP客户端共同工作 。

Poptop在GNU通用公共许可下是,并仍将是完全免费。

实验拓扑如下:

wps_clip_image-4746

根据拓扑搭建好实验环境

在这里不做演示

Poptop VPN 软件包有四个分别如下

wps_clip_image4746 poptop-vpn软件包

n dkms-2.0.5-1.noarch.rpm

n kernel_ppp_mppe-0.0.5-2dkms.noarch.rpm

n ppp-2.4.3-5.rhel4.i386.rpm

n pptpd-1.3.0-0.i386.rpm

下载网址
http://prdownloads.sourceforge.net/poptop

官方网站
http://www.poptop.org

Poptop VPN服务器的配置步骤大概分为下面几步、

配置主配置文件

配置账号文件

打开linux内核的路由功能

启动和停止vpn服务

pptp-vpn客户端设置:

通过“网上邻居”来设置客户端

测试,通过VPN访问内部网络

实验具体步骤

实验环境搭建好以后,就可以实验了、

现在分别来安装这四个软件包

wps_clip_image-20774

wps_clip_image-1711

注意:下面这个软件包ppp-2.4.3-5需要升级安装

wps_clip_image-9899

再来安装最后一个软件包

wps_clip_image-1761

所有的包安装完成、然后来修改配置文件

第一个要修改的配置文件是 /etc/pptpd.conf

#指定pptp使用的选项文件

option /etc/ppp/options.pptpd

#把所有的debug信息写入系统日志/var/log/messages

debug

#使用/var/log/wtmp记录客户连接和断开。

logwtmp

#服务器VPN虚拟接口将分配的IP地址

localip 10.100.1.1

#客户端VPN连接成功后将分配的IP。注意这里一共指定了36个IP地址,如果又超过36个客户进行连接时,超额的客户将无法连接成功。

remoteip 10.100.0.200-210,10.100.0.230-254

注意:为了安全性起见,localip和remoteip尽量不要同一个网段。

wps_clip_image-4749

wps_clip_image-31522

wps_clip_image-19575

然后保存退出

修改第二个配置文件/etc/ppp/option.pptpd

wps_clip_image-1194

wps_clip_image-12075wps_clip_image-28490

这个大概不需要修改什么、

第三个要修改的是 /etc/ppp/chap-secrets

wps_clip_image-1331wps_clip_image-16664

保存退出

wps_clip_image-21307

给VPN服务器开启路由功能

wps_clip_image-20305

然后再客户机上创建一个VPN连接、然后登陆

wps_clip_image-30657wps_clip_image-19402wps_clip_image-15699

wps_clip_image-24255

可以访问局域网内的web服务器

然后用yang登录、这个用户是指定ip  1.1.1.1

wps_clip_image-7061wps_clip_image-14387wps_clip_image-1449

wps_clip_image-7492

在web服务器上查看、1.1.1.1访问了自己、也就是yang。这里,有个问题刘翰老师说给用户分的ip不在局域网内就不能访问内网的服务器的、但是这里可以访问、还需要以后在证明。

wps_clip_image-22706

Poptop VPN就做到这里、

实验二:

基于Linux配置openswan VPN

实验拓扑

wps_clip_image-22807

wps_clip_image4749 OpenSWan有两种连接方式:

1. Network-To-Network方式
顾名思义,Network-To-Network方式是把两个网络连接成一个虚拟专用网络。要实现此种连接方式,要满足以下两个条件: 
I. 每个子网各自拥有一台安装有OpenSWan的主机作为其子网的出口网关; 
II.每个子网的.IP段不能有叠加

2. Road Warrior方式 
当使用Network-To-Network方式时,作为每个子网网关的主机不能像子网内部主机那样透明访问远程子网的主机,Road Warrior方式正是为这种情况而设计的,连接建立后,就可以连接到远程的网络了。

以下操作只需在left opensan 和right opensan上配置

wps_clip_image-21381

开启两个opensan的路由功能

wps_clip_image-30294

wps_clip_image31522 2.修改内核参数:vi /etc/sysctl.conf  将下面两项:
net.ipv4.ip_forward = 0 
net.ipv4.conf.default.rp_filter = 1

    改为:

    net.ipv4.ip_forward = 1 
net.ipv4.conf.default.rp_filter = 0

    执行以下命令使设置生效: 
sysctl -p

wps_clip_image-2243wps_clip_image-3403

在两边的opensan上都做nat转换

wps_clip_image-1782

下来安装opensan

wps_clip_image-3688

释放

wps_clip_image-18877

wps_clip_image-10949wps_clip_image-22923

wps_clip_image-1204wps_clip_image-17063wps_clip_image-18383

验证安装

      执行下面的命令验证OpenSWan是否正确安装

ipsec --version

      如果程序正确安装,此命令将显示以下三种可能结果:

      如果已加载的IPsec stack是NETKEY,显示如下

Linux Openswan U2.4.7/K2.6.9-42.EL (netkey)

See `ipsec --copyright' for copyright information.

      如果已加载的IPsec stack是KLIPS,显示如下

Linux Openswan 2.4.7 (klips)

See `ipsec --copyright' for copyright information.

      如果没有加载任何IPsec stack,显示如下

Linux Openswan U2.4.7/K(no kernel code presently loaded)

See `ipsec --copyright' for copyright information.

我的机子出现没有安装,须重启

wps_clip_image-22914

wps_clip_image-26200

重启后变为netkey 。模块已加载

wps_clip_image-18870

现在来配置opensan

1. OpenSWan主要配置文件

/etc/ipsec.secrets                 用来保存private RSA keys 和 preshared secrets (PSKs)

/etc/ipsec.conf                    配置文件(settings, options, defaults, connections)

2. OpenSWan主要配置目录

/etc/ipsec.d/cacerts               存放X.509认证证书(根证书-"root certificates")

/etc/ipsec.d/certs                 存放X.509客户端证书(X.509 client Certificates)

/etc/ipsec.d/private               存放X.509认证私钥(X.509 Certificate private keys)

/etc/ipsec.d/crls                  存放X.509证书撤消列表(X.509 Certificate Revocation Lists)

/etc/ipsec.d/ocspcerts             存放X.500 OCSP证书(Online Certificate Status Protocol certificates)

/etc/ipsec.d/passwd                XAUTH密码文件(XAUTH password file

/etc/ipsec.d/policies              存放Opportunistic Encryption策略组(The Opportunistic Encryption policy groups)

给left opensan添加一条路由

wps_clip_image-27271

在reght opensan也要添加路由如下图

wps_clip_image-25204

生成key

wps_clip_image-29986

重定向到left

wps_clip_image-27045

查看left公钥

wps_clip_image-29350

以上的配置也要在right opensan上也做一遍、个别处有所不同、然后把right opensan上的公钥传送到left opensan上

wps_clip_image-8059

传送到了left opensan 的/root下了

然后回到left opensan上

修改ipsec主配置文件

wps_clip_image-3876

wps_clip_image-8709

wps_clip_image-20169

wps_clip_image-32308

随后看下面的right部分

wps_clip_image-20668

最后一步,别忘了去掉注释

wps_clip_image-28923

wps_clip_image-19580

wps_clip_image-2260

说明运行正常

这里需说明下,当left opensan 给 rightopensan传送公钥的时候把left opensan的ipsec.conf里面的所有东西要传送过去

scp /etc/ipsec.conf root@15.15.15.2:/etc/

wps_clip_image-803

传过去后不用改ipsec.conf

这里只是在left opensan 上做演示、但是我也同时在right opensan 做配置

现在实验已接近尾声、现在我们测试在right opensan下的pc  ping  left opensan下的pc然后再网关上抓包看是否是加密的

wps_clip_image-2723

在left opensan上抓包、是以明文的方式传送的

wps_clip_image-17292

我们现在启用opensan、

在left opensan上

先重启ipsec

wps_clip_image-16559

在left opensan 和 right opensan 上手动执行连接

ipsec auto –up net-to-net 
如果最后的输出行中出现 IPsec SA established,说明连接成功

wps_clip_image-3173

得到这个实验效果可是苦了我、和朋友研究很长时间,经过排查最后才发现时没有修改主机名导致两台机子通信不加密、因为两台opensan的主机名一样、公钥的生存一部分是通过主机名生成的、,最后把主机名改了之后再重新生成了一个公钥、才成功的、

现在看实验效果

wps_clip_image-28751

在left opensan上查看是否加密

wps_clip_image-4701

是加密的、

但是right opensan ping left opensan 的时候就不加密了、

wps_clip_image-6655

这里我就想不通、应该网关之间通信也加密才对 、

经过再次测试、VPN网关之间通信不加密、left opensan 的子网和eight opensan的子网通信才加密、、wps_clip_image-29733


Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史