一、实验拓扑
二、实验配置
1、静态路由实现GRE
RT1配置:
RT1(config)# int fa1/0
RT1(config-if)# ip add 192.168.20.1 255.255.255.0
RT1(config-if)# no shutdown
RT1(config)# int fa0/0
RT1(config-if)# ip add 172.1.1.2 255.255.255.0
RT1(config-if)# no shutdown
RT1(config)# ip route 0.0.0.0 0.0.0.0 172.1.1.1
RT1(config)# interface tunnel 0
RT1(config-if)# ip add 1.1.1.1 255.255.255.0
RT1(config-if)# tunnel source fastethernet 0/0
RT1(config-if)# tunnel destination 172.1.2.2
RT1(config-if)# exit
RT1(config)# ip route 192.168.36.0 255.255.255.0 tunnel 0
RT3配置:
RT3(config)# int fa1/0
RT3(config-if)# ip add 192.168.36.1 255.255.255.0
RT3(config-if)# no shutdown
RT3(config)# int fa0/0
RT3(config-if)# ip add 172.1.2.2 255.255.255.0
RT3(config-if)# no shutdown
RT3(config)# ip route 0.0.0.0 0.0.0.0 172.1.2.1
RT3(config)# interface tunnel 0
RT3(config-if)# ip add 1.1.1.2 255.255.255.0
RT3(config-if)# tunnel source fastethernet 0/0
RT3(config-if)# tunnel destination 172.1.1.2
RT3(config-if)# exit
RT3(config)# ip route 192.168.20.0 255.255.255.0 tunnel 0
RT2配置:
RT2(config)# int fa0/0
RT2(config-if)# ip add 172.1.1.1 255.255.255.0
RT2(config-if)# no shutdown
RT2(config)# int fa1/0
RT2(config-if)# ip add 172.1.2.1 255.255.255.0
RT2(config-if)# no shutdown
测试:
RT1# ping 172.1.2.2
RT1# ping 1.1.1.2
VPC4 > ping 192.168.36.88(配置隧道tunnel接口前)
配置隧道tunnel接口后:
在外网的任意一个接口抓包,可以看到在原始 IP 数据包封装进一个 GRE 头部,然后再封装进一个新的 IP 头部(源地址是站点RT1网关的公网 IP,目标地址是站点RT2网关的公网 IP)。
RT3 ping RT1:
RT3# ping 192.168.20.1 source 192.168.36.1
本试验现象:
在ping包过程中的数据包没有加密
2、OSPF实现GRE
RT1配置:
rt1(config)#no ip route 192.168.36.0 255.255.255.0 tunnel 0 //删除之前的静态路由
rt1(config)#router ospf 1
rt1(config-router)#network 192.168.20.0 0.0.0.255 a 0
rt1(config-router)#network 1.1.1.0 0.0.0.255 a 0
rt1(config-router)#exit
RT3配置:
RT3(config)#no ip route 192.168.20.0 255.255.255.0 tunnel 0 //删除之前的静态路由
RT3(config)#router ospf 1
RT3(config-router)#network 1.1.1.0 0.0.0.255 a 0
RT3(config-router)#network 192.168.36.0 0.0.0.255 a 0
RT3(config-router)#exit
测试:
可重复静态的测试方法,进行抓包验证。
本试验现象:
OSPF邻居通过tunnel隧道建立,ospf数据包来触发GRE,OSPF数据报文承载在GRE数据包中,学习到对方的私网路由(之前是静态配置)
3、GRE over Ipsec
RT1配置:
RT1(config)# interface tunnel 0
RT1(config-if)# ip add 1.1.1.1 255.255.255.0
RT1(config-if)# tunnel source fastethernet 0/0
RT1(config-if)# tunnel destination 172.1.2.2
RT1(config-if)# exit
RT1(config)#crypto isakmp enable
RT1(config)#crypto isakmp policy 1
RT1(config-isakmp)#encryption des
RT1(config-isakmp)#authentication pre-share
RT1(config-isakmp)#hash md5
RT1(config-isakmp)#group 2
RT1(config-isakmp)#exit
RT1(config)#crypto isakmp key 0 cisco address 172.1.2.2
RT1(config)#crypto ipsec transform-set cisco esp-des esp-md5-hmac
RT1(cfg-crypto-trans)#exit
RT1(config)#access-list 101 permit ip host 172.1.1.2 host 172.1.2.2
RT1(config)#crypto map cisco 10 ipsec-isakmp
RT1(config-crypto-map)#set peer 172.1.2.2
RT1(config-crypto-map)#set transform-set cisco
RT1(config-crypto-map)#match address 101
RT1(config-crypto-map)#exitexit
RT1(config)#interface ethernet 0/0
RT1(config-if)#crypto map cisco
RT3配置:
RT3(config)# interface tunnel 0
RT3(config-if)# ip add 1.1.1.2 255.255.255.0
RT3(config-if)# tunnel source fastethernet 0/0
RT3(config-if)# tunnel destination 172.1.1.2
RT3(config-if)# exit
RT3(config)#crypto isakmp enable
RT3(config)#crypto isakmp policy 1
RT3(config-isakmp)#encryption des
RT3(config-isakmp)#authentication pre-share
RT3(config-isakmp)#hash md5
RT3(config-isakmp)#group 2
RT3(config-isakmp)#exit
RT3(config)#crypto isakmp key 0 cisco address 172.1.1.2
RT3(config)#crypto ipsec transform-set cisco esp-des esp-md5-hmac
RT3(cfg-crypto-trans)#exit
RT3(config)#access-list 101 permit ip host 172.1.2.2 host 172.1.1.2
RT3(config)#crypto map cisco 10 ipsec-isakmp
RT3(config-crypto-map)#set peer 172.1.1.2
RT3(config-crypto-map)#set transform-set cisco
RT3(config-crypto-map)#match address 101
RT3(config-crypto-map)#exit
RT3(config)#interface ethernet 0/0
RT3(config-if)#crypto map cisco
本试验现象:
GRE本身不能解决VPN传输数据的安全性,通过承载在Ipsec VPN中实现安全性的要求,RT2客户端定义感兴趣的流量是公网地址,RT2pingRT1的时候,触发GRE的流量,被GRE封装,打上新的IP头部,这时匹配Ipsec 的流量做IP sec,这样实现的了GRE被IP sec承载,实现了安全性的要求。