一、GRE概述
GRE (Generic Routing Encapsulation)是一种网络层封装技术,主要用于在两个网络设备之间建立逻辑总线,将数据从源端透明地传输到目的端,即使中间网络不支持这些协议。12
工作原理:
封装过程:当数据包从源主机发送时,GRE路由器会接收该数据包,并在原始数据包的头部添加GRE头部信息。这个GRE头部包含了必要的控制信息,如源和目的地址、GRE协议类型等。这样,原始数据包就被封装在了一个新的GRE数据包中。
传输过程:封装后的数据包通过公共网络传输到目的端。目的端的路由器在接收到数据包后,首先进行网络层解封装,然后去除GRE头部信息,还原出原始的数据包,最后将其转发到目标网络。
主要目的:实现私网数据在公网上的互通(封装上公网IP地址)
二、配置
拓扑图:
配置思路:
首先实现基本的数据通信之后,接着在出口路由器配置隧道,最后实现数据通信
(为了使私网数据匹配上进入隧道接口去封装上公网IP地址之后实现在公网的数据通信)
1.基础配置
(IP地址配置实现直连网段能够通信)
R3:
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 192.168.1.254 24[R3]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 192.168.13.3 24
R1:
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.13.1 24
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]ip add 15.15.15.1 24
R5:
[R5]int g0/0/0
[R5-GigabitEthernet0/0/0]ip add 15.15.15.5 24
[R5]int g0/0/1
[R5-GigabitEthernet0/0/1]ip add 25.25.25.5 24
R2:
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 25.25.25.2 24
[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 192.168.24.2 24
R4:
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip add 192.168.24.4 24
[R4]int g0/0/1
[R4-GigabitEthernet0/0/1]ip add 192.168.2.254 24
直连通信测试(其他一样)
在各设备上配置默认路由实现跨网段通信
R3:
[R3]ip route-static 0.0.0.0 0.0.0.0 192.168.13.1
R1回程路由
[R1]ip route-static 192.168.1.0 24 192.168.13.3
R1与公网的通信
[R1]ip route-static 0.0.0.0 0.0.0.0 15.15.15.5
R2回程路由
[R2]ip route-static 192.168.2.0 24 192.168.24.4
R2与公网的通信
[R2]ip route-static 0.0.0.0 0.0.0.0 25.25.25.5
R4:
[R4]ip route-static 0.0.0.0 0.0.0.0 192.168.24.2
测试:以A站点为例(B站点同理)
PC1能够访问到R1出口路由器
R1能够访问R2(公网可达)
2.GRE隧道配置
①创建隧道口
[R1]int Tunnel 0/0/12
[R1-Tunnel0/0/12]ip add 12.12.12.1 30[R2]int Tunnel 0/0/12
[R2-Tunnel0/0/12]ip add 12.12.12.2 30
②进入隧道之后进行外层封装协议,确保数据能够到达对端
R1
[R1-Tunnel0/0/12]tunnel-protocol gre
[R1-Tunnel0/0/12]source 15.15.15.1
[R1-Tunnel0/0/12]destination 25.25.25.2R2
[R2-Tunnel0/0/12]tunnel-protocol gre
[R2-Tunnel0/0/12]source 25.25.25.2
[R2-Tunnel0/0/12]destination 15.15.15.1
测试隧道可达性:
R5-Internet设备没有隧道(12.12.12.0/30)的路由信息但为什么R1能够到达对端的隧道接口?
因为通过了tunnel口的gre封装
此时PC1仍然无法访问PC2
③将私网数据引流到隧道口
[R1]ip route-static 192.168.2.0 24 Tunnel 0/0/12
[R2]ip route-static 192.168.1.0 24 Tunnel 0/0/12
最后测试PC之间的连通性:
三、wireshark抓包分析
在R5的g0/0/0口(连接R1的接口)进行抓包分析
在私网IP地址先封装上GRE报头,接着再封装上公网的IP地址