在模拟器上实现 GRE 实验
一、实验拓扑
二、实验配置
1、使用静态路由实现GRE
R2配置命令
! 配置物理接口 e1/0(连接 192.168.20.0/24 网段)
Int e1/0
Ip add 192.168.10.1 255.255.255.0 ! 配置物理接口 e0/0(连接中间网络 172.16.1.0/24)
Int e0/0
Ip add 172.16.1.2 255.255.255.0 ! 默认路由:让 RT1 访问外部网络(如 RT2 侧)的流量,发往中间路由器 IntR 的 172.16.1.1
Ip route 0.0.0.0 0.0.0.0 172.16.1.1 ! 创建 GRE 隧道接口 Tunnel 0
interface tunnel 0ip add 1.1.1.1 255.255.255.0 ! 隧道“内部”IP(两端需在同一逻辑网段,RT2 侧是 1.1.1.2)tunnel source ethernet 0/0 ! 隧道源:物理接口 e0/0(从该接口发隧道流量)tunnel destination 172.16.2.2 ! 隧道目的:RT2 的 e0/0 接口 IP(需确保网络可达)exit! 静态路由:让 192.168.36.0/24 网段的流量,通过 Tunnel 0 隧道转发
ip route 192.168.20.0 255.255.255.0 tunnel 0
R3配置命令
! 配置物理接口 e1/0(连接 192.168.20.0/24 网段)
Int e1/0
Ip add 192.168.20.1 255.255.255.0 ! 配置物理接口 e0/0(连接中间网络 172.16.2.0/24)
Int e0/0
Ip add 172.16.2.2 255.255.255.0 ! 默认路由:让 RT2 访问外部网络(如 RT1 侧)的流量,发往中间路由器 IntR 的 172.16.2.1
Ip route 0.0.0.0 0.0.0.0 172.16.2.1 ! 创建 GRE 隧道接口 Tunnel 0
interface tunnel 0ip add 1.1.1.2 255.255.255.0 ! 隧道“内部”IP(与 RT1 侧 Tunnel 0 在同一逻辑网段)tunnel source ethernet 0/0 ! 隧道源:物理接口 e0/0tunnel destination 172.16.1.2 ! 隧道目的:RT1 的 e0/0 接口 IP(需确保网络可达)exit! 静态路由:让 192.168.20.0/24 网段的流量,通过 Tunnel 0 隧道转发
ip route 192.168.20.0 255.255.255.0 tunnel 0
使用pc4 ping pc5 测试连通性
可以看到pc4 和 pc5可以正常通信
抓包测试
icmp报文中有一个GRE段
2、ospf 实现 GRE
R2配置命令
rt1 (config-if)#no ip route 192.168.20.0 255.255.255.0 tunnel 0 删除之前的静态路由
rt1 (config)#router ospf 1
rt1 (config-router)#network 192.168.10.0 0.0.0.255 area 0
rt1 (config-router)#network 1.1.1.0 0.0.0.255 area 0
rt1 (config-router)#exit
R3配置命令
rt2 (config)#no ip route 192.168.10.0 255.255.255.0 tunnel 0 删除之前的静态路由
rt2 (config)#router ospf 1
rt2 (config-router)#network 1.1.1.0 0.0.0.255 area 0
rt2 (config-router)#network 192.168.20.0 0.0.0.255 area 0
rt2 (config-router)#exit
使用pc4 ping pc5 测试连通性
可以看到pc4 和 pc5可以正常通信
OSPF邻居通过tunnel隧道建立,ospf数据包来触发GRE,OSPF数据报文承载在GRE数据包中,学习到对方的私网路由(之前是静态配置)
3、GRE over Ipsec
R2 配置
RT1配置:
rt1(config)#interface tunnel 0
rt1(config-if)#ip add 1.1.1.1 255.255.255.0
rt1(config-if)#tunnel source ethernet 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)#authentication pre-share
rt1(config-isakmp)#hash md5
rt1(config-isakmp)#group 2
rt2(config-isakmp)#encryption des
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)#exit
rt1(config)#interface ethernet 0/0
rt1(config-if)#crypto map cisco
R3配置
rt2(config)#interface tunnel 0
rt2(config-if)#ip add 1.1.1.2 255.255.255.0
rt2(config-if)#tunnel source ethernet 0/0
rt2(config-if)#tunnel destination 172.1.1.2
rt2(config-if)#exit rt2(config)#crypto isakmp enable
rt2(config)#crypto isakmp policy 1
rt2(config-isakmp)#encryption des
rt2(config-isakmp)#authentication pre-share
rt2(config-isakmp)#hash md5
rt2(config-isakmp)#group 2
rt2(config-isakmp)#exit
rt2(config)#crypto isakmp key 0 cisco address 172.1.1.2
rt2(config)#crypto ipsec transform-set cisco esp-des esp-md5-hmac
rt2(cfg-crypto-trans)#exit
rt2(config)#access-list 101 permit ip host 172.1.2.2 host 172.1.1.2
rt2(config)#crypto map cisco 10 ipsec-isakmp
rt2(config-crypto-map)#set peer 172.1.1.2
rt2(config-crypto-map)#set transform-set cisco
rt2(config-crypto-map)#match address 101
rt2(config-crypto-map)#exit
rt2(config)#interface ethernet 0/0
rt2(config-if)#crypto map cisco
测试pc4 ping pc5 的连通性
可以正常通信
抓包结果如下
GRE本身不能解决VPN传输数据的安全性,通过承载在Ipsec VPN中实现安全性的要求,RT2客户端定义感兴趣的流量是公网地址,RT2pingRT1的时候,触发GRE的流量,被GRE封装,打上新的IP头部,这时匹配Ipsec 的流量做IP sec,这样实现的了GRE被IP sec承载,实现了安全性的要求。
三、实验总结
本次实验通过三种方案实现了基于GRE隧道的跨网段通信,验证了不同路由方式和安全增强的可行性。
首先,静态路由+GRE方案中,R2与R3配置物理接口、默认路由及GRE隧道,通过静态路由指定目标网段流量走隧道,PC4与PC5成功通信,验证了静态路由对GRE隧道的基础支持。
其次,OSPF+GRE方案删除静态路由,启用OSPF进程并宣告私网及隧道网段,利用OSPF动态学习路由,PC4与PC5仍保持连通。OSPF邻居通过隧道建立,数据包触发GRE封装,实现了路由自动化管理,提升了网络扩展性。
最后,GRE over IPsec方案在GRE基础上增加IPsec配置,通过ISAKMP协商加密策略、预共享密钥及安全联盟,对GRE流量进行加密保护。实验显示,IPsec有效解决了GRE安全性不足的问题,实现了加密传输,满足安全需求。
综上,静态路由适合小型网络,OSPF适合大型动态网络,IPsec可增强GRE安全性。三种方案各有优势,实际应用中可根据网络规模和安全需求选择,为跨网段互联提供了多样化的技术路径。