华为网络IPSec VPN与GRE配置

IPSec(Internet Protocol Security)作为一种开放标准的安全框架结构,可以用来保证IP数据报
文在网络上传输的机密性、完整性和防重放,可满足企业日益提高的对网络安全性的需求。IPSec是
IETF定义的一个协议组,通信双方在IP层通过加密、完整性校验、数据源认证等方式,保证了IP数据
报文在网络上传输的机密性、完整性和防重放。 ● 机密性(Confidentiality)指对数据进行加密保护,用密文的形式传送数据。 ● 完整性(Data integrity)指对接收的数据进行认证,以判定报文是否被篡改。 ● 防重放(Anti-replay)指防止恶意用户通过重复发送捕获到的数据包所进行的攻击,即接收方会拒
绝旧的或重复的数据包。 IPSec VPN体系结构主要由AH(Authentication Header)、ESP(Encapsulating Security Payload)
、和IKE(Internet Key Exchange)协议套件组成。 ● AH协议:主要提供的功能有数据源验证、数据完整性校验和防报文重放功能,但AH并不加密所保护的
数据报文。 ● ESP协议:提供AH协议的所有功能外,还可提供对IP报文的机密功能。 ● IKE协议:用于自动协商AH和ESP所使用的密码算法。 ● SA:Security Association,安全联盟定义了IPSec通信对等体间将使用的数据封装模式、认证和加
密算法、秘钥等参数。SA是单向的,两个对等体之间的双向通信,至少需要两个SA。 ● 如果两个对等体同时使用AH和ESP安全协议来进行通信,则对等体针对每一种安全协议都需要协商一
对SA。 ● SA由一个三元组来唯一标识、这个三元组包括安全参数索引SPI(Security Parameter Index)、
目的IP地址、安全协议(SA或ESP)。 建立SA的方式有以下两种: 1、手工方式:安全联盟所需的全部信息都必须手工配置。手工方式建立安全联盟比较复杂,但优点是
可以不依赖IKE而单独实现IPSec。当对等体设备数量较少时,或是在小型静态环境中,手工配置SA是
可行的。 2、IKE动态协商方式:只需要通信对等体之间配置好IKE协商参数,由IKE自动协商来创建和维护SA。
动态协商方式建立安全联盟相对简单些。对于中大型的动态网络环境中,推荐使用IKE协商建立SA。 IPSec协议有两种封装模式: 1、传输模式:传输模式中,在IP报文头和高层协议之间插入AH或ESP头。传输模式中的AH和ESP主要
对上层协议数据提供保护。传输模式中的AH在IP头部之后插入AH头,对整个IP数据包进行完整性校验。
传输模式中的ESP在IP头部之后插入ESP头,在数据字段后插入尾部以及认证安段。对高层数据和ESP尾
部进行加密。对IP数据包中的ESP报文头,高层数据和ESP尾部进行完整性校验。传输模式中的AH+ESP
在IP头部之后插入AH和ESP头,在数据字段后插入尾部以及认证字段。 2、隧道模式:隧道模式中,AH或ESP头封装在原始IP报文头之前,并另外生成一个新的IP头封装到AH
或ESP之前。隧道模式可以完全地对原始IP数据报文进行认证和加密,并可以使用IPSec对等体的IP地
址来隐藏客户机的IP地址。隧道模式中的AH对整个原始IP服文提供完整性检查和认证、认证功能优于
ESP。但AH不提供加密功能,所以通常和ESP联合使用。隧道模式中的ESP对整个原始IP报文和ESP尾部
进行加密,对ESP报文文、原始IP报文和ESP尾部进行完整性校验。隧道模式中的AH_ESP对整个原始IP
报文和ESP尾部进行加密,AH、ESP分别会对不同部分进行完整 性校验。 3、IPSec VPN的配置步骤: 配置网络可达-->配置ACL识别兴趣流-->创建安全提议-->创建安全策略-->应用安全策略 配置IPSec VPN 1、我们以下图拓扑为例,来演示一下IPSec VPN的配置过程。我们需要在分支机构的边缘路由器R1和
总部边缘路由器R3之间部署IPSec VPN,建立IPSec隧道,用于安全传输指定的数据流。
2、首先配置各路由器的接口IP地址,包括物理接口以及Loopback接口。

3、在三台路由器上配置OSPF,将Loopback0的IP地址作为路由器的Router ID。使用OSPF的默认进程
1,并将公网网段10.0.12.0 /24和10.0.23.0 /24以及环回接口地址通告到OSPF区域0。以R1为例。 ospf router-id 10.0.1.1 area 0 network 10.0.1.0 0.0.0.255 network 10.0.11.0 0.0.0.255 network 10.0.12.0 0.0.0.255
2、OSPF配置完成后,查看OSPF邻居以及路由表。
3、在R1和R3上配置高级ACL来定义IPSec VPN的感兴趣流,高级ACL能够基于特定的参数来匹配流量。
R1:
acl 3001
 rule 5 permit ip source 10.0.1.0 0.0.0.255 destination 10.0.3.0 0.0.0.255
R3:
acl 3001
 rule 5 permit ip source 10.0.3.0 0.0.0.255 destination 10.0.1.0 0.0.0.255
4、在R1和R3上创建IPSec提议,并进入IPSec提议视图来指定安全协议。注意确保隧道两端的设备使用
相同的安全协议。 R1: ipsec proposal tran1 esp authentication-algorithm sha1 esp encryption-algorithm 3des R3: ipsec proposal tran1 esp authentication-algorithm sha1 esp encryption-algorithm 3des 5、检查配置结果 display ipsec proposal
7、在R1和R3上手工创建IPSec策略,每一个IPSec安全策略都使用唯一的名称和序号来标识,IPSec策
略中会应用IPSec提议中定义的安全协议、认证算法、加密算法和封装模式。另外手工创建的IPSec策
略还需要配置安全联盟SA中的参数。 R1: ipsec policy p1 10 manual security acl 3001 proposal tran1 tunnel remote 10.0.23.3 tunnel local 10.0.12.1 sa spi outbound esp 54321 sa spi inbound esp 12345 sa string-key outbound esp simple huawei sa string-key inbound esp simple huawei R3: ipsec policy p1 10 manual security acl 3001 proposal tran1 tunnel remote 10.0.12.1 tunnel local 10.0.23.3 sa spi outbound esp 12345 sa spi inbound esp 54321 sa string-key outbound esp simple huawei sa string-key inbound esp simple huawei
8、在R1和R3的相应物理接口上应用IPSec策略,接口将对感兴趣流量进行IPSec加密处理。
R1:
int s4/0/0
 ipsec policy p1
R3:
int s4/0/0
 ipsec policy p1

9、验证设备对不感兴趣的流量不进行IPSec加密处理。在R1上指定通过Loopback1接口Ping R3的
Loopback1接口。
10、查看IPSec流量统计,全为O,因为IPSec感兴趣流中并没有定义Loopback1接口。
11、验证设备对感兴趣的流量进行IPSec加密处理。在R1上指定通过Loopback0接口Ping R3的
Loopback0接口。
12、查看IPSec流量统计,可以看到Inpacket和Outpacket值为5,因为IPSec感兴趣流中定义了
Loopback0接口,指定接口的流量经过IPSec隧道进行了加密传输。
配置GRE
IPSec VPN用于在两个端点之间提供安全的IP通信,但只能加密并传输单播数据,无法加密和传输语音、
视频、动态路由协议信息等组播数据流量。Generic Routing Encapsulation通用路由封装协议GRE提
供了将一种协议的报文封装在另一种协议报文中的机制,是一种隧道封装技术。GRE可以封装组播数据,
并可以和IPSec结合使用,从而保证语音、视频等组播业务的安全。 GRE用来对某些网络层协议如IPX的报文进行封装,使这些被封装的报文能够在另一网络层协议(如IP)
中传输。GRE可以解决异种网络的传输问题。IPSec VPN技术可以创建一条跨越共享公网的隧道,从而
实现私网互联,IPSec VPN能够安全传输IP报文,但是无法在隧道的两个端点之间运行RIP和OSPF等路
由协议。GRE可以将路由协议信息封装在另一种协议报文中进行传输(如IP)。 使用GRE可以克服IGP协议是一些局限性,例如RIP的最大跳数为15,如果网络直径超过15,设备将无法
通信,这种情况下,可以使用GRE技术在两个网络节点之间搭建隧道,隐藏它们之间的跳数,扩大网络
的工作范围。GRE本身并不支持加密,因而通过GRE隧道传输的流量是不加密的。将IPSec技术与GRE相
结合,可以先建立GRE隧道对报文进行GRE封装,然后再建立IPSec隧道对报文进行加密,以保证报文传
输的完整性和私密性。
2、我们在上一步实验的基础之上,来继续创建GRE隧道,首先在R1和R3上创建隧道接口并为该接口配
置一个公网IP地址,然后指定接口封装类型为GRE,并配置隧道的实际源地址以及实际目的地址。 R1: int tunnel 0/0/1 ip address 100.1.1.1 24 tunnel-protocol gre source 10.0.12.1 destination 10.0.23.3 R3: int tunnel 0/0/1 ip address 100.1.1.1 24 tunnel-protocol gre source 10.0.23.3 destination 10.0.12.1
3、在R1和R3上配置OSPF进程2用于隧道路由,将隧道接口所在的网络通告在OSPF进程1,从OSPF进程
1中删除网络10.0.12.0/24和10.0.23.0/24。创建OSPF进程2,并将网络10.0.12.0/24和10.0.23.0/24
通告到OSPF进程2。 R1: ospf 1 area 0 undo network 10.0.12.0 0.0.0.255 network 100.1.1.0 0.0.0.255 ospf 2 router-id 10.0.1.1 area 0 network 10.0.12.0 0.0.0.255 R3: ospf 1 area 0 undo network 10.0.23.0 0.0.0.255 network 100.1.1.0 0.0.0.255 ospf 2 router-id 10.0.3.3 area 0 network 10.0.23.0 0.0.0.255 4、路由器会为不同的OSPF进程创建不同的LSDB,R1和R3中分别有LSDB1和LSDB2,两个数据库彼此独
立,不会同步路由信息。因此R2不会学习到R1和R3通告在进程2中的路由。检查两台路由器的隧道配
置结果。 dis int tun 0/0/1
5、在R1和R3上将GRE流量定义为感兴趣流量。
R1:
acl 3001
 rule 5 permit gre source 10.0.12.1 0 destination 10.0.23.3 0
R3:
acl 3001
 rule 5 permit gre source 10.0.23.3 0 destination 10.0.12.1 0

6、验证路由信息通过GRE封装后可由IPSec VPN传输,在两台路由器上查看路由表。可以看到,GRE隧
道建立以后,路由器可以将OSPF协议报文通过GRE封装后进行交互,从而获得对端路由信息。
7、清除IPSec统计信息,然后再通过Ping命令进行测试。
8、通过测试可以看到,OSPF协议交互报文进行了GRE封装后再被IPSec VPN加密传输。
9、在R1上为GRE隧道配置Keepalive功能。
int tunne 0/0/1
keepalive period 3
10、IPSec VPN与GRE配置完成,以R3为例的完整的配置如下。这里我们最终配置的是
GRE over IPSec。

发表评论