GRE Over IPSec配置及抓包分析

17 篇文章 1 订阅
2 篇文章 6 订阅

在这里插入图片描述
1、配置 tunnel 逻辑接口时,需要指定GRE隧道使用的源地址及目的地址。配置到对端网络内网网段的路由时,下一跳为tunnel接口。
2、配置GRE Over IPSec 时,与单独配置GRE和IPSec没有太大的区别。唯一需要注意的是,通过ACL定义需要 保护的数据流时,不能再以总部和分部内部私网地址为匹配条件,而是必须匹配经过GRE封装后的报文,即定义报文的源地址为GRE隧道的源地址,目的地址为GRE隧道的目的地址。

实验拓扑

在这里插入图片描述

网络环境描述

1、网络A属于10.1.1.0/24子网,与A的1/0/3接口相连
2、网络B属于10.1.2.0/24子网,与B的1/0/3接口相连
3、防火墙A和B之间的路由可达
通过组网实现以下需求:
NGFW_A与NGFW_B之间建立GRE Over IPSec隧道,使网络A和网络B之间可以实现信息的加密传输。

配置过程

1、首先配置好中间的Internet部分,这里就不演示了
2、配置GRE Tunnel接口

建议在配置的时候,将tunnel接口和隧道源端口(本段与公网连接的物理接口)加入到同一安全区域。如果他们加入了不同的安全区域,需要配置安全策略,使两个安全区域能够互相访问。
NGFW_A防火墙配置:
1)将接口加入安全区域,并配置域间策略,以保证网络通信正常(略)
2)配置GRE隧道接口

#
interface Tunnel0/0/0
 ip address 10.3.1.1 255.255.255.0 
 tunnel-protocol gre
 source 1.1.3.1
 destination 1.1.5.1
#

3)配置Tunnel接口转发路由

[NGFW_A]ip route-static 10.1.2.0 24 Tunnel 0/0/0

NGFW_B防火墙 配置:
1)将接口加入安全区域,并配置域间策略,以保证网络通信正常(略)
2)配置GRE隧道接口

#
interface Tunnel0/0/0
 ip address 10.3.1.2 255.255.255.0 
 tunnel-protocol gre
 source 1.1.5.1
 destination 1.1.3.1
#

3)配置Tunnel接口转发路由

[NGFW_B]ip route-static 10.1.1.0 24 Tunnel 0/0/0
3、配置IPSec VPN

NGFW_A防火墙配置:
1)配置ACL,定义需要保护的数据流:

[NGFW_A]acl 3000
[NGFW_A-acl-adv-3000]rule permit ip source 1.1.3.1 0 destination 1.1.5.1 0

2)配置IKE Peer

[NGFW_A]ike peer FW_B v1  //配置IKE第一阶段的协商
[NGFW_A-ike-peer-FW_B]pre-shared-key cipher 12345  //配置预共享秘钥为12345
[NGFW_A-ike-peer-FW_B]remote-address 1.1.5.1    //对方的IP地址
[NGFW_A-ike-peer-FW_B]exchange-mode main   //设置模式为主模式(默认)

3)配置IPSec Proposal

[NGFW_A]ipsec proposal p1    //配置第二阶段变换集
可以就只配置上面这一条,那它的IPSec提议会使用默认的;当然,也可以自行配置,如下:
[NGFW_A-ipsec-proposal-p1]encapsulation-mode tunnel  //设置封装模式为隧道模式(默认)	
[NGFW_A-ipsec-proposal-p1]esp authentication-algorithm sha1  //设置esp的认证算法为sha1(默认为MD5)
[NGFW_A-ipsec-proposal-p1]esp encryption-algorithm des  //设置esp的加密算法为des(默认)
[NGFW_A-ipsec-proposal-p1]transform esp    //设置传输协议为esp

4)配置IPSec Policy

[NGFW_A]ipsec policy policy1 1 isakmp    //配置调用策略
[NGFW_A-ipsec-policy-isakmp-policy1-1]security acl 3000    //调用加密数据acl
[NGFW_A-ipsec-policy-isakmp-policy1-1]ike-peer FW_B   //调用第一阶段协商策略
[NGFW_A-ipsec-policy-isakmp-policy1-1]proposal p1    //调用第二阶段变换集
[NGFW_A-ipsec-policy-isakmp-policy1-1]q
[NGFW_A]int GigabitEthernet 1/0/1                   //进入接口视图
[NGFW_A-GigabitEthernet1/0/1]ipsec policy policy1   //调用策略

NGFW_B防火墙配置:
1)配置ACL,定义需要保护的数据流:

[NGFW_B]acl 3000
[NGFW_B-acl-adv-3000]rule permit ip source 1.1.5.1 0 destination 1.1.3.1 0

2)配置IKE Peer

[NGFW_B]ike peer FW_A v1  //配置IKE第一阶段的协商
[NGFW_B-ike-peer-FW_A]pre-shared-key cipher 12345  
[NGFW_B-ike-peer-FW_A]remote-address 1.1.3.1    
[NGFW_B-ike-peer-FW_A]exchange-mode main 

3)配置IPSec Proposal

[NGFW_B]ipsec proposal p1    //配置第二阶段变换集
可以就只配置上面这一条,那它的IPSec提议会使用默认的;当然,也可以自行配置,如下:
[NGFW_B-ipsec-proposal-p1]encapsulation-mode tunnel  	
[NGFW_B-ipsec-proposal-p1]esp authentication-algorithm sha1  
[NGFW_B-ipsec-proposal-p1]esp encryption-algorithm des 
[NGFW_B-ipsec-proposal-p1]transform esp    

4)配置IPSec Policy

[NGFW_B]ipsec policy policy1 1 isakmp    //配置调用策略
[NGFW_B-ipsec-policy-isakmp-policy1-1]security acl 3000    
[NGFW_B-ipsec-policy-isakmp-policy1-1]ike-peer FW_A   
[NGFW_A-ipsec-policy-isakmp-policy1-1]proposal p1   
[NGFW_B-ipsec-policy-isakmp-policy1-1]q
[NGFW_B]int GigabitEthernet 1/0/1                 
[NGFW_B-GigabitEthernet1/0/1]ipsec policy policy1   

使用wireshark抓包进行分析【重要】

在进行抓包分析之前,需要对IPSec有一定的了解,建议看下面链接部分内容:
IPSec详解

IKE协商阶段

在NGFW_B的 1/0/1接口抓包分析:

【注意】如果需要看到具体的IPSec协商过程,需要重启NGFW_B来观察其协商过程
在这里插入图片描述
通过第一阶段和第二阶段的协商可以看出:
第一阶段:主模式,需要交互消息6次,图中刚好是6个包。
第二阶段:快速模式。需要交互消息3次,图中刚好有3个第二阶段协商的报文。

第一阶段(主模式)

在这里插入图片描述

主模式交互——消息1

第一个消息由隧道的发起者发起,携带了如这样一些参数,如加密机制-DES,散列机制-SHA,Diffie-Hellman组-2,认证机制-预共享
DLAN6.25开始支持IKEv2
在这里插入图片描述

主模式交互——消息2

消息2是应答方对发送方信息的应答,当应答方查找SPD查找到发送方相关的策略后,将自己的信息同样发送给对端,当然,应答方在发送传输集时将会生成自己Cookie并添加到数据包中,数据包信息如下:
在这里插入图片描述
可以看到,双方交流的都是自己含有的配置信息,如果双方信息一致,则开始进行下一步传输。

第1、2个包里重点在于ISAKMP策略的协商,这是为后面能在一个安全的环境之下协商IPSEC SA策略打下基础,因为这些策略直接提供对第二阶段的IPSEC SA策略协商的加密保护;

主模式交互——消息3

当完成了第一步骤双方的策略协商后,则开始进行第二步骤DH公共值交换,随数据发送的还包含辅助随机数,用户生成双方的加密密钥。消息3的数据包信息如下:
在这里插入图片描述
可以看到在数据包中,当前载荷类型属于密钥交换,载荷为DH公共值和Nonce随机数。都属于明文,未加密

主模式交互——消息4

应答方同样将本端的DH公共值和Nonce随机数发送给对端,通过消息4传输:
在这里插入图片描述
在3、4个包里,重点在于通过DH算法产生和传递进行第一阶段认证的密钥材料,这些材料会让两端的设备产生一对相同的密钥,这个产生的密钥就是第一阶段相互间真实的认证密钥,这点很重要。

主模式交互——消息5

第五条消息由发起者向响应者发送,主要是为了验证对端就是自己想要与之通信的对端。这可以通过预共享、数字签名、加密临时值来实现

双方交换DH公共值后,结合随机数生成一系列的加密密钥,用于双方加密、校验,同时生成密钥后,将公共密钥和本端身份信息等进行hash,hash值传输给对端进行验证设备身份。发送方通过消息5发送给接收方,可以看到载荷类型为身份验证载荷,所携带的信息经过加密,无法查看相关信息
在这里插入图片描述

主模式交互——消息6

第六条消息由响应者向发起者发送,主要目的和第五条一样。
在这六条消息过后,也就是验证一旦通过,就进入了IKE第二阶段:快速模式
在这里插入图片描述
在5、6个包里,就用前面产生的认证密钥进行相互认证,当相互认证通过,那么为第二阶段协商IPSEC SA策略的安全通道立即打开,两端的VPN服务器会用第一阶段协商的安全策略对第二阶段协商的IPSEC SA策略进行安全加密和认证;
同时要注意,从第5个包起,后面的所有包将会加密,只不过不同的是,第5、6个包和第二阶段协商的3个包都是通过第一阶段协商的安全策略进行加密的,而用户通信的数据则是用第二阶段协商的IPSEC SA策略进行加密和认证的,至于两者的密钥是否一样,就要看在第二阶段是否定义了PFS策略,如果应用了,那第二阶段的密钥将与第一阶段的不同,否则两者的密钥是一样的。

第二阶段

ISAKMP/IKE阶段2只有一种信息交换模式——快速模式,它定义了受保护数据连接是如何在两个IPSEC对等体之间构成的。
深信服的标准IPSEC 有几对的出站入站,在DLAN运行状态里面就会显示几条连接,每一对快速模式交互的包都是三个,第一个包由主连接发起方发起响应

快速模式有两个主要的功能:
1.协商安全参数来保护数据连接。
2.周期性的对数据连接更新密钥信息。
第二阶段的效果为协商出IPSec 单向SA,为保护IPsec数据流而创建。第二阶段整个协商过程受第一阶段ISAKMP/IKE SA保护。

第二阶段的所有数据包都进行了加密,抓取的数据如下:
在这里插入图片描述
阶段2 使用“快速模式”交换。快速模式交换通过三条消息建立IPsec SA。这3个包主要用来协商用于加密用户数据的安全策略(只有认证和加密方法和对应算法):
前两条消息协商IPsec SA的各项参数值,并生成IPsec使用的密钥;
第二条消息还为响应方提供在场的证据;
第三条消息为发起方提供在场的证据。
当第二阶段协商完毕之后,第一阶段的策略将暂时不会被使用,直到有新的VPN连接建立时或IPSEC SA加密密钥超时时,才会用第一阶段的策略重新生成并传递新的加密数据和认证的密钥。

SANGFOR设备上称PFS为“密钥完美向前保密”
在IPSEC协商的第一阶段,通过DH算法进行了密钥的交互,并生成了加密密钥。如果不使用PFS,则第二阶段的加密密钥会根据第一阶段的密钥自动生成。使用了PFS,则第二阶段要重新通过DH算法协商一个新的加密密钥,从而提高了数据的安全性。

数据传输阶段

在这里插入图片描述
数据传输阶段是通过AH或者ESP通信协议进行数据的传输,这里为ESP。
数据传输建立在网络层。
在这里插入图片描述
可以看到,报文中的ESP协议中只包含两个字段 ESP SPI 和 ESP Sequence
在这里插入图片描述

  • 5
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当然可以!下面是gre over ipsec vpn实验文档的基本步骤: 1.准备工作 在进行实验之前,你需要具备以下知识和技能: •网络基础知识(TCP/IP协议、子网掩码、IP地址、路由等) •GRE协议和IPSec协议的基本概念 •使用telnet工具访问路由器的基本操作 •使用Wireshark抓包分析的基本操作 •使用VPCS模拟本地主机的基本操作 此外,你还需要准备以下设备: •两台路由器(建议使用Cisco路由器) •一台计算机(用来运行Wireshark抓包工具) •两个VPCS(用来模拟本地主机) 2.配置GRE隧道 首先,你需要在两台路由器上配置GRE隧道。 具体步骤如下: (1)在Router1上创建一个隧道接口,并将Tunnel0接口的IP地址设置为192.168.100.1/24。 # configure terminal # interface tunnel 0 # ip address 192.168.100.1 255.255.255.0 # tunnel source fa0/0 # tunnel destination 10.0.0.2 # exit (2)在Router2上创建一个隧道接口,并将Tunnel0接口的IP地址设置为192.168.100.2/24。 # configure terminal # interface tunnel 0 # ip address 192.168.100.2 255.255.255.0 # tunnel source fa0/0 # tunnel destination 10.0.0.1 # exit 3.配置IPSec协议 接下来,你需要在两台路由器上配置IPSec协议,以加密隧道内的数据流。 具体步骤如下: (1)在Router1上创建IPSec策略,启用AH(认证头)协议,并将其应用到Tunnel0接口上。 # configure terminal # crypto isakmp policy 1 # encr aes # authentication pre-share # group 2 # exit # crypto isakmp key cisco123 address 10.0.0.2 # exit # crypto ipsec transform-set GRE-AH esp-aes esp-sha256-hmac # crypto map GRE 10 ipsec-isakmp # set peer 10.0.0.2 # set transform-set GRE-AH # match address VPN-TRAFFIC # exit (2)在Router2上创建IPSec策略,启用AH协议,并将其应用到Tunnel0接口上。 # configure terminal # crypto isakmp policy 1 # encr aes # authentication pre-share # group 2 # exit # crypto isakmp key cisco123 address 10.0.0.1 # exit # crypto ipsec transform-set GRE-AH esp-aes esp-sha256-hmac # crypto map GRE 10 ipsec-isakmp # set peer 10.0.0.1 # set transform-set GRE-AH # match address VPN-TRAFFIC # exit 4.测试GRE over IPSec VPN隧道 最后,你可以通过ping命令测试GRE over IPSec VPN隧道是否正常。 具体步骤如下: (1)在VPCS1上ping VPCS2的IP地址。 C:\> ping 192.168.1.2 如果VPN隧道正常工作,你会得到一个回复。 (2)在Wireshark中查看VPN隧道内的通信内容。 选择Tunnel0接口,启动抓包功能,并在VPCS1上执行ping命令。你可以看到通过VPN隧道传输的所有数据包。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值