实验报告:ENSP虚拟专用网络分析
实验拓扑图
Requirment
- 某企业办公总部与生产车间分别位于不同地域,而办公总部与生产车间之间时而有内网数据传输,之前采用专线的形式互联。如今该企业为了节省经营支出,又为了能保证数据传输的安全,稳定及可靠的传输,采用IPsec-VPN部署。
- 如图所示,并根据实验拓扑连接各网络节点。
- 企业办公总部存在172.16.1.0/24、172.16.2.0/24两个内网网段,而企业分部存在192.168.1.0/24一个内网网段。并且两个区域网络均可接入ISP进行网络互联。(在ISP上创建一个回环口2.2.2.2 做测试)
- 由于分部有一定量的生产数据需要反馈,办公总部也有相应的生产车间管理流量及方案等流量需要互传,因此企业采用IPsec-VPN连接使得172.16.1.0/24与192.168.1.0两个网段能够互相传递数据。
- 分析IPSec VPN的通信过程、分析同时同时实现IPSecVPN和nat通信的原理。
实验步骤
- 第一步,首先按照实验要求搭建好实验拓扑图,如下:
- 然后按照实验需求配置好相关IP地址,这里我用路由器代替PC机进行相关测试
- 第二步,主要配置好NAT,使得AR4、AR6可以访问2.2.2.2,AR5也可以访问2.2.2.2
AR4和AR5访问2.2.2.2
-
首先在AR4和AR6上面配置一个默认路由指向各自的下一跳,然后就可以理解为AR2就是各自的网关了,最后在AR2上面配置一个默认路由也指向下一跳,并在出口网关上面做一个NAT,命令如下:
-
[AR2]ACL 3002
- [AR2-acl-adv-3002]rule 1 deny ip source 172.16.0.0 0.0.3.255 destination 192.168
.1.0 0.0.0.25 //写这一条的具体原因后面讲解
- [AR2-acl-adv-3002]rule 2 permit ip source any destination any
-
[AR2-GigabitEthernet0/0/1]nat outbound 3002
-
-
最后AR4和AR6就可以访问2.2.2.2了,AR5用同样的方法,测试图如下:
IPSec-VPN
-
最后要实现AR4和AR6分别与AR5进行通信,但是要保证数据的安全、稳定,所以我们采用IPSec-VPN的通信方式,所以我们一般是在出口网关上面配置,具体命令如下:
-
首先是在AR2上面配置:
-
第一步,首先创建一个高级ACL用来匹配需要用VPN传输的流量
- [AR2]acl 3001
- [AR2-acl-adv-3001]rule 1 permit ip source 172.16.0.0 0.0.3.255 destination 192.1
68.1.0 0.0.0.255
- [AR2-acl-adv-3001]rule 1 permit ip source 172.16.0.0 0.0.3.255 destination 192.1
- [AR2]acl 3001
-
第二步,创建一个IPSec提议,名字叫做tran1,用来表示我们使用IPSec-VPN时候的一些相关约定
- [AR2]ipsec proposal tran1
- [AR2-ipsec-proposal-tran1]transform esp //封装协议采用esp
- [AR2-ipsec-proposal-tran1]encapsulation-mode tunnel //封装模式采用隧道模式
- [AR2-ipsec-proposal-tran1]esp authentication-algorithm md5 //数据完整性的保证用md5
- [AR2-ipsec-proposal-tran1]esp encryption-algorithm des //采用des的加密算法
- [AR2]ipsec proposal tran1
-
第三步,创建一个IKE,10用来做源认证
- [AR2]ike proposal 10
- [AR2-ike-proposal-10]authentication-method pre-share //用共享密匙来做源认证
- [AR2-ike-proposal-10]authentication-algorithm md5 //采用md5算法保证共享密匙额完整性
- [AR2-ike-proposal-10]sa duration 5000 //ike建立SA的生存周期
- [AR2]ike proposal 10
-
前三步都是配置相关的提议,在接下来的配置中会调用以上的提议,进行正式的VPN配置
-
IKE第一阶段建立ISAKMP认证:
- [AR2]ike local-name dada1 //本地ike叫dada1
- [AR2]ike peer dada2 v1 //对等体IKE叫dada2 版本都是v1版本
- [AR2]ike peer dada v1 //创建一个新的ike peer用来匹配
- [AR2-ike-peer-dada] exchange-mode aggressive //设置当前ikedada1为主动模式
- [AR2-ike-peer-dada] pre-shared-key cipher dadatu //配置共享密匙
- [AR2-ike-peer-dada] ike-proposal 10 //调用ike提示10
- [AR2-ike-peer-dada] local-id-type name //设置本地ID类型为名字
- [AR2-ike-peer-dada] remote-name dada2 //对端ID
- [AR2-ike-peer-dada] local-address 12.12.12.1//本地出接口的IP
- [AR2-ike-peer-dada] remote-address 23.23.23.2 //对端出接口的IP
-
IKE第二阶段:
- [AR2]ipsec policy map1 10 isakmp /创建安全策略
- [AR2-ipsec-policy-isakmp-map1-10] security acl 3001 //匹配相应的流量
- [AR2-ipsec-policy-isakmp-map1-10] ike-peer dada //匹配ike peer dada,里面有相关IKE第一阶段建立认证的配置
- [AR2-ipsec-policy-isakmp-map1-10] proposal tran1 //调用tran1这个IPsec提议里面有相关配置
- [AR2-GigabitEthernet0/0/1]ipsec policy map1 //调用安全策略
- [AR2]ipsec policy map1 10 isakmp /创建安全策略
-
-
最后在AR3上面配置:
- 第一步,首先创建一个高级ACL用来匹配需要用VPN传输的流量
- [AR3]acl 3001
- [AR2-acl-adv-3001]rule 1 permit ip source 192.168.1.0 0.0.0.255 destination 172.16.0.0 0.0.3.255
- [AR3]acl 3001
- 第二步,创建一个IPSec提议,名字叫做tran1,用来表示我们使用IPSec-VPN时候的一些相关约定
- [AR3]ipsec proposal tran1
- [AR3-ipsec-proposal-tran1]transform esp //封装协议采用esp
- [AR3-ipsec-proposal-tran1]encapsulation-mode tunnel //封装模式采用隧道模式
- [AR3-ipsec-proposal-tran1]esp authentication-algorithm md5 //数据完整性的保证用md5
- [AR3-ipsec-proposal-tran1]esp encryption-algorithm des //采用des的加密算法
- [AR3]ipsec proposal tran1
- 第三步,创建一个IKE,10用来做源认证
- [AR3]ike proposal 10
- [AR3-ike-proposal-10]authentication-method pre-share //用共享密匙来做源认证
- [AR3-ike-proposal-10]authentication-algorithm md5 //采用md5算法保证共享密匙额完整性
- [AR3-ike-proposal-10]sa duration 5000 //ike建立SA的生存周期
- [AR3]ike proposal 10
- 前三步都是配置相关的提议,在接下来的配置中会调用以上的提议,进行正式的VPN配置
- IKE第一阶段建立ISAKMP认证:
- [AR3]ike local-name dada2 //本地ike叫dada1
- [AR3]ike peer dada1 v1 //对等体IKE叫dada2 版本都是v1版本
- [AR3]ike peer dada v1 //创建一个新的ike peer用来匹配
- [AR3-ike-peer-dada] exchange-mode aggressive //设置当前ikedada1为主动模式
- [AR3-ike-peer-dada] pre-shared-key cipher dadatu //配置共享密室
- [AR3-ike-peer-dada] ike-proposal 10 //调用ike提示10
- [AR3-ike-peer-dada] local-id-type name //设置本地ID类型为名字
- [AR3-ike-peer-dada] remote-name dada1 //对端ID
- [AR3-ike-peer-dada] local-address 23.23.23.2//本地出接口的IP
- [AR3-ike-peer-dada] remote-address 12.12.12.1 //对端出接口的IP
- IKE第二阶段:
- [AR3]ipsec policy map1 10 isakmp /创建安全策略
- [AR3-ipsec-policy-isakmp-map1-10] security acl 3001 //匹配相应的流量
- [AR3-ipsec-policy-isakmp-map1-10] ike-peer dada //匹配ike peer dada,里面有相关IKE第一阶段建立认证的配置
- [AR3-ipsec-policy-isakmp-map1-10] proposal tran1 //调用tran1这个IPsec提议里面有相关配置
- [AR3-GigabitEthernet0/0/0]ipsec policy map1 //调用安全策略
- [AR3]ipsec policy map1 10 isakmp /创建安全策略
- 第一步,首先创建一个高级ACL用来匹配需要用VPN传输的流量
-
最后就可以通过VPN进行通信了,测试图如下:
- 最后我需要说明一下ACL的问题,因为一个出口网关上面有一个NAT的高级ACL3002,和一个VPN用的ACL3001,因为NAT的ACL优先级高于VPN的,所以从出口网关出接口出去的流量会先匹配NAT的ACL,所以我们在NAT的ACL里面先写上一个规则是拒绝VPN之间通信的,当当VPN通信时候,就不会匹配NAT的ACL导致VPN的ACL无法匹配,最终导致VPN不能通信的问题了