IPSec VPN配置

软件:Cisco Packet Tracer

题目要求

实验网络拓扑图如图所示

1、基础配置如下:
(1)按图中所示配置总公司和分公司中各计算机、服务器、路由器对应端口的IP地址相关信息;
(2)在Router0和Router1上配置一条默认路由,实现Internet间互通
(3) 测试Router0和Router1的公网地址间的互通性
2、在总公司与分公司之间配置IPsec VPN,实现两地私有地址的内部网络之间可以实现相互通信。
(1) 配置 IKE(ISAKMP)策略:
策略序号为1,加密算法为aes,Hash 算法为MD5,密钥算法(Diffie-Hellman)为group 2,认证方式(Authentication)为pre-share。
(2)定义认证标识:预共享密码为tx18
(3)配置 IPsec transform:
定义transform set命名为tx18set,加密算法为esp-3des, HMAC 算法为esp-MD5-HMAC
(4)定义感兴趣流量:
用扩展acl 180来定义通过 VPN 传输的流量
(5)创建 crypto map:
定义transform set命名为tx18map,将之前定义的 ACL,加密数据发往的对端,以及 IPsec transform 结合在 crypto map中
(6)将 crypto map 应用于对应接口
3、测试PC0能否ping通PC5,为什么?
4、分析IPSec VPN数据包,了解IPSec VPN数据封装格式
5、选做:
在公司边界路由器上做NAT(数据自选),实现总公司和分公司的PC可以ping通公网PC

配置Router 0端口地址

1
2
3
4
5
6
7
8
9
10
R0> enable												#进入特权模式
R0# config terminal #进入全局模式
R0(config)# interface FastEthernet 0/0 #进入Fa0/0端口
R0(config-if)# ip address 192.168.123.254 255.255.255.0 #配置IP地址和子网掩码
R0(config-if)# no shutdown #启用端口
R0(config-if)# exit #退出Fa0/0端口
R0(config)# interface Serial 0/3/0 #进入Se0/3/0端口
R0(config-if)# ip address 58.1.1.1 255.255.255.252 #配置IP地址和子网掩码
R0(config-if)# no shutdown #启用端口
R0(config-if)# exit #退出Se0/3/0端口

配置Router 1端口地址

1
2
3
4
5
6
7
8
9
10
R1> enable												#进入特权模式
R1# config terminal #进入全局模式
R1(config)# interface FastEthernet 0/0 #进入Fa0/0端口
R1(config-if)# ip address 192.168.100.254 255.255.255.0 #配置IP地址和子网掩码
R1(config-if)# no shutdown #启用端口
R1(config-if)# exit #退出Fa0/0端口
R1(config)# interface Serial 0/3/0 #进入Se0/3/0端口
R1(config-if)# ip address 210.28.144.2 255.255.255.252 #配置IP地址和子网掩码
R1(config-if)# no shutdown #启用端口
R1(config-if)# exit #退出Se0/3/0端口

配置Router 2端口地址

1
2
3
4
5
6
7
8
9
10
11
12
13
R2> enable												#进入特权模式
R2# config terminal #进入全局模式
R2(config)# interface FastEthernet 0/0 #进入Fa0/0端口
R2(config-if)# ip address 63.1.1.1 255.255.255.0 #配置IP地址和子网掩码
R2(config-if)# no shutdown #启用端口
R2(config-if)# exit #退出Fa0/0端口
R2(config)# interface Serial 0/1/0 #进入Se0/1/0端口
R2(config-if)# ip address 58.1.1.2 255.255.255.252 #配置IP地址和子网掩码
R2(config-if)# exit #退出Se0/1/0端口
R2(config)# interface Serial 0/0/0 #进入Se0/0/0端口
R2(config-if)# ip address 210.28.144.1 255.255.255.252 #配置IP地址和子网掩码
R2(config-if)# no shutdown #启用端口
R2(config-if)# exit #退出Se0/0/0端口

Router 0配置静态路由

1
R0(config)# ip route 0.0.0.0 0.0.0.0 58.1.1.2			#配置静态路由

Router 1配置静态路由

1
R0(config)# ip route 0.0.0.0 0.0.0.0 210.28.144.1		#配置静态路由

Router 0和Router 1公网间互通性

1
Router 0和Router 1公网地址间可以互通。

Router 0配置IPsec VPN

(1) 配置 IKE(ISAKMP)策略

策略序号为1,加密算法为aes,Hash 算法为MD5,密钥算法(Diffie-Hellman)为group 2,认证方式(Authentication)为pre-share。

1
2
3
4
5
R0(config)# crypto isakmp policy 1				#建立IKE策略,优先级为1
R0(config-isakmp)# encryption aes #使用AES加密方式
R0(config-isakmp)# hash md5 #指定Hash算法为MD5
R0(config-isakmp)# authentication pre-share #使用预共享的密码进行身份验证
R0(config-isakmp)# group 2 #指定秘钥位数,group2安全性更高

(2)定义认证标识:预共享密码为tx18

1
2
R0(config)# crypto isakmp key tx18 address 210.28.144.2		
#设置要使用的预共享秘钥和指定VPN对端路由器的IP地址。

(3)配置 IPsec transform:
定义transform set命名为tx18set,加密算法为esp-3des, HMAC 算法为esp-MD5-HMAC

1
2
R0(config)# crypto ipsec transform-set tx18set esp-3des esp-md5-hmac		
#配置IPSec交换集,名称为tx18set,两端的名字可以不一样,但其它参数必须一致。

(4)定义感兴趣流量:
用扩展acl 180来定义通过 VPN 传输的流量

1
R0(config)# access-list 180 permit ip 192.168.123.0 0.0.0.255 192.168.100.0 0.0.0.255	#定义感兴趣数据,IPSec  VPN地址为双方内网地址。

(5)创建 crypto map:
定义transform set命名为tx18map,将之前定义的 ACL,加密数据发往的对端,以及 IPsec transform 结合在 crypto map中

1
2
3
4
R0(config)# crypto map tx18map 1 ipsec-isakmp 		#创建加密图	
R0(config-crypto-map)# set peer 210.28.144.2 #标识对方路由器IP地址
R0(config-crypto-map)# set transform-set tx18set #指定加密图使用的IPSec交换集
R0(config-crypto-map)# match address 180 #用ACL定义加密的通信

(6)将 crypto map 应用于对应接口

1
2
R0(config)# interface Serial 0/3/0		#进入Se0/3/0端口
R0(config-if)# crypto map tx18map #应用加密图到接口

Router 1配置IPsec VPN

(1) 配置 IKE(ISAKMP)策略

策略序号为1,加密算法为aes,Hash 算法为MD5,密钥算法(Diffie-Hellman)为group 2,认证方式(Authentication)为pre-share。

1
2
3
4
5
R0(config)# crypto isakmp policy 1					#建立IKE策略,优先级为1
R0(config-isakmp)# encryption aes #使用AES加密方式
R0(config-isakmp)# hash md5 #指定Hash算法为MD5
R0(config-isakmp)# authentication pre-share #使用预共享的密码进行身份验证
R0(config-isakmp)# group 2 #指定秘钥位数,group2安全性更高

(2)定义认证标识:预共享密码为tx18

1
R0(config)# crypto isakmp key tx18 address 58.1.1.1		#定义预共享密码

(3)配置 IPsec transform:
定义transform set命名为tx18set,加密算法为esp-3des, HMAC 算法为esp-MD5-HMAC

1
R0(config)# crypto ipsec transform-set tx18set esp-3des esp-md5-hmac		#配置IPSec交换集,名称为tx18set,两端的名字可以不一样,但其它参数必须一致。

(4)定义感兴趣流量:
用扩展acl 180来定义通过 VPN 传输的流量

1
R0(config)# access-list 180 permit ip 192.168.100.0 0.0.0.255 192.168.123.0 0.0.0.255	#定义感兴趣数据,IPSec  VPN地址为双方内网地址。

(5)创建 crypto map:
定义transform set命名为tx18map,将之前定义的 ACL,加密数据发往的对端,以及 IPsec transform 结合在 crypto map中

1
2
3
4
R0(config)# crypto map tx18map 1 ipsec-isakmp 		#创建加密图
R0(config-crypto-map)# set peer 58.1.1.1 #标识对方路由器IP地址
R0(config-crypto-map)# set transform-set tx18set #指定加密图使用的IPSec交换集
R0(config-crypto-map)# match address 180 #用ACL定义加密的通信

(6)将 crypto map 应用于对应接口

1
2
R0(config)# interface Serial 0/3/0			#进入Se0/3/0端口
R0(config-if)# crypto map tx18map #应用加密图到接口

测试PC0能否ping通PC5,为什么?

1
解析:PC 0可以ping通PC 5,因为此时我们配置了IPSec VPN,分公司之间的访问会通过IPSec VPN隧道进行访问。

分析IPSec VPN数据包,了解IPSec VPN数据封装格式

进入仿真模式,用PC0 ping PC5,并单步运行,直到面板上出现Last Device为Switch 0,At Device为Router 0的数据包为止,查看该数据包的Inbound PDU Details和 OurBound PDU Details。

1
观察第一张图可知:封装前的数据包源IP地址为192.168.123.10,目的IP地址为192.168.100.20。观察第二张图可知:封装后在原始IP头之前增加了新的IP头和ESP头,在新的IP头中源IP地址为58.1.1.1,目的地址为210.28.144.2,IPSec封装已经完成。ESP头中的信息如下:ESP SPI为1469921110,ESP序号为0,ESP的加密方式为3DES,ESP认证方式为MD5。

Router 0边界配置NAT

1
2
3
4
5
6
7
8
R0(config)# interface FastEthernet 0/0
R0(config-if)# ip nat inside
R0(config-if)# exit
R0(config)# interface Serial 0/3/0
R0(config-if)# ip nat outside
R0(config-if)# exit
R0(config)# ip nat pool natpool 100.1.1.1 100.1.1.2 netmask 255.255.255.252
R0(config)# ip nat inside source list 101 pool natpool overload

Router 1边界配置NAT

1
2
3
4
5
6
7
8
R1(config)# interface FastEthernet 0/0
R1(config-if)# ip nat inside
R1(config-if)# exit
R1(config)# interface Serial 0/3/0
R1(config-if)# ip nat outside
R1(config-if)# exit
R1(config)# ip nat pool natpool 200.1.1.1 200.1.1.3 netmask 255.255.255.248
R1(config)# ip nat inside source list 101 pool natpool overload

出现新问题

1
配置了NAT之后我们发现:PC0 不能ping通PC 5了。这是因为IPSec与NAT发生了冲突,路由器对数据包的处理流程是先进行NAT转换,然后进行IPSec封装。所以要对进行IPSec封装的数据流进行一些相关设置,使该数据流不被NAT转换,这样才能成功进行IPSec通信。

解决问题

Router 0添加配置

1
2
R0(config)# access-list 101 deny ip 192.168.123.0 0.0.0.255 192.168.100.0 0.0.0.255
R0(config)# access-list 101 permit ip 192.168.123.0 0.0.0.255 any

Router 1添加配置

1
2
R1(config)# access-list 101 deny ip 192.168.100.0 0.0.0.255 192.168.123.0 0.0.0.255
R1(config)# access-list 101 permit ip 192.168.100.0 0.0.0.255 any

测试结果

1
我们发现总公司和分公司的PC可以ping通公网PC,且解决了上面出现的配置NAT之后内网间无法互相访问的问题。

评论



2019-2020 覃浩的博客 鄂ICP备19020398号-4 正在载入...