多厂商***系列之二:Cisco&H3C GRE Over IPsec& SVTI ***
作者:互联网
简介
在传统的IPsec ***中,IPsec只能为IPv4单播提供服务,因为IPsec技术是从IPv6挪移过来的,当时候没考虑到这种应用。这样的形式就使得我们必须用大量的ACL来匹配感兴趣流量,在SADB中建立大量的SA信息,非常消耗路由器的性能。 所以,必须使用一种技术来承载组播与广播包,这就是我们的Generic Routing Encapsulation (GRE),也就是我们常用的tunnel,它算是一个典型的***隧道技术,只是没有任何安全性可言,所以出现了 GRE Over IPsec。SVTI技术是cisco 12.4推出的一个feature,让IPsec有一个静态的接口,这样就不需要借助任何协议,就可单独完成动态路由协议的建立。
GRE
GRE最早由cisco公司提议,后来被IEFT公有化后,它能支持多种协议,比如 IP ,Decnet ,IPX,Appletalk 。 默认为point-to-point模式,也可以支持multicast point模式。 GRE隧道是没有物理层特性的,所以只要源地址是可用,目的地址是可达,那么这个隧道就会up。
R1与R2通过GRE建立一个tunnel,源为自己出接口,目的为对方目的地址。
R1
Interface tunnel 0
tunnel source f0/0 (这里可以为源接口,或者一个具体的地址,如果为动态IP的话,定义源接口最有效)
tunnel destination 202.100.2.1
ip address 172.16.1.1 255.255.255.0
这里R2没有起tunnel,R1的tunnel已经UP了,之前提到tunnel是没有物理层特性的,所以只要源地址是可用,目的地址路由可达,那么就会自动up。
R2
interface tunnel 0
tunnel source f0/1
tunnel destination 202.100.1.1
ip add 172.16.1.2 255.255.255.0
它们的通信是怎么封装的呢, 首先当一个数据包去往172.16.1.2 ,查找路由表,发现是直连的tunnel 0口,那么通过tunnel口指定的源目IP,封装GRE头部,里面承载ICMP的信息,外部加上公网头部的信息,通过默认路由发送给对方。
IP头部(公网) SIP:202.100.1.1 DIP:202.200.2,.1 | GRE IP头部 SIP:172.16.1.1 DIP:172.16.1.2 |ICMP 头部| 数据部分
由于GRE没有物理层的特性,所以只要条件可达,那么就会永远UP,后来,引进了一种类似与hello包的keepalive,用于探测对方的存在,默认为10s一次,3次收不到对方的hello就down了。
interface tunnel 0
keepalive 10 3 :10s发送一次,3次失败
这时候把R1 shutdown,R3 30s后就会直接down掉。
GRE Over IPsec
GRE Over IPsec的意思就是在IPsec包裹gre, 也许还会听到一个IPsec Over GRE,就是说IPsec的流量被包裹在GRE中,一般不会使用。
GRE Over IPsec还是需要tunnel的存在,首先,tunnel的源目地址还是为源接口和对方的目的地址,我们如果运行了动态路由协议的话,GRE里面包裹着tunnel地址的数据包,但源目IP还是公网地址,协议号为GRE,那么我们的加密点可以是 SIP 202.100.1.1 DIP 202。100.2.1 gre的流量, 通讯点 由于是路由协议并且被GRE包裹着,SIP 202.100.1.1 DIP 202.100.2.1 ,这里加密点等于通讯点了,所以可以为传输模式。 最后封装的数据是 DIP:202.100.1.1 DIP:202.100.2.1 | ESP | GRE | data
在之前的tunnel情况下建立 GRE Over IPsec
R1
1、crypto isakmp policy 10
authentication pre-share
2、crypto isakmp key 0 ccieh3c.taobao.com address 202.100.2.1
3、crypto ipsec transform-set trans esp-des esp-md5-hmac
mode transport
4、access-list 100 permit gre host 202.100.1.1 host 202.100.2.1
5、crypto map l2l 10 ipsec-isakmp
match address 100
set peer 202.100.2.1
set transform-set trans
6、interface f0/0
crypto map l2l
R2
1、crypto isakmp policy 10
authentication pre-share
2、crypto isakmp key 0 ccieh3c.taobao.com address 202.100.1.1
3、crypto ipsec transform-set trans esp-des esp-md5-hmac
mode transport
4、access-list 100 permit gre host 202.100.2.1 host 202.100.1.1
5、crypto map l2l 10 ipsec-isakmp
match address 100
set peer 202.100.1.1
set transform-set trans
6、interface f0/1
crypto map l2l
运行动态路由协议
R1:
rotuer ospf 1
router-id 1.1.1.1
network 172.16.1.0 0.0.0.255 a 0
network 1.1.1.1 0.0.0.0 a 0
R2
router ospf 1
router-id 2.2.2.2
network 17216.1.0 0.0.255 a 0
net 1.1.1.1 0.0.0.0 a 0
会发现IPsec 会自动的建立起来,这是因为路由协议的hello包触发了IPsec ***的隧道建立。这里注意的是,不需要宣告公网地址,因为你tunnel的流量都是通过公网发送出去的。这样的流量,只要存在OSPF 宣告的流量就为加密的流量,这样省去了需要大量ACL的输入。
IPsec SVIT
SVTI :Static VIrtual Tunnel interface,cisco IOS 12.4推出的新特性,为IPsec有一个静态的Tunnel接口,这样就能支持各种组播和广播的传递。它的出现比GRE Over IPSec更简化配置和许多特性的支持。
crypto isakmp policy 10
authentication pre-share
crypto isakmp key cisco address 202.100.2.1
crypto ipsec transform-set trans esp-des esp-md5-hmac
mode transport
crypto ipsec profile 1
set transform-set trans
interface tunnel 0
tunnel mode ipsec ipv4
tunnel protection ipsec profile 1
这里为一个新的技术,只需要在ipsec profile中调用一个策略,然后Tunnel下封装IPsec ipv4,这里会发现根本没有感兴趣流量,也没有Peer,在这种技术中,tunnel 的destination就是peer,而感兴趣流量就是通过IPsec封装的流量。 这种技术不需要依赖GRE,也不会存在GRE 头部。
目前提到的IPsec ***应用的都非常少,反而动态MAP形式用得比较多,因为其他技术都需要两边是固定的公网IP,而动态map可以一边为动态IP获取,后续的 remote ***中的EZ***扩展性很强 还有DM*** 这些技术应用的非常广泛,也适用于现在IPv4的网络。
H3C也支持SVTI技术,实现跟cisco差不多。
R1 Internet R2都基本配置,各自有条默认路由执行下一跳。保证公网之间能正常通信。
R1
interface Tunnel 0
source s0/2/0
destination 202.100.2.1
ip add 172.16.1.1 24
R2
interface Tunnel 0
source s0/2/0
destination 202.100.1.1
ip add 172.16.1.2 24
IKE:IKE peer 1
pre-shared-key ccieh3c.taobao.com
IPSEC: ipsec proposal 1
ipsec profile 1
ike-peer 1
proposal 1
inter tun 0
tunnel-protocol ipsec ipv4
ipsec profile 1
这里注意的是,如果不封装 ipsec ipv4的话,那么就不会有ipsec profile这条命令,***配置R1 R2都类似都可以复制
R1
ospf 1 router-id 1.1.1.1
area 0
network 172.16.1.0 0.0.0.255
network 1.1.1.1 0.0.0.0
R2
ospf 1 router-id 2.2.2.2
area 0
network 172.16.1.0 0.0.0255
network 2.2.2.2 0.0.0.0
加密解密情况
本文转载于公众号:网络之路博客
标签:H3C,Cisco,1.1,SVTI,tunnel,GRE,202.100,ipsec,IPsec 来源: https://blog.51cto.com/ccieh3c/2654756