GRE原理与配置

GRE用来对某些网络层协议如IPX(Internet Packet Exchange)的报文进行封装,使这些被封装的报文能够在另一网络层协议(如IP)中传输。GRE可以解决异种网络的传输问题。GRE可以将路由协议信息封装在另一种协议报文(例如IP)中进行传输。

关键字

greylog各个端口 gre使用端口_greylog各个端口


GRE配置

interface tunnel interface-number命令用来创建Tunnel接口。创建Tunnel接口后,需要配置Tunnel接口的IP地址和Tunnel接口的封装协议。

tunnel-protocol命令用来配置Tunnel接口的隧道协议。

source { source-ip-address | interface-type interface-number }命令用来配置Tunnel源地址或源接口。

destination dest-ip-address命令用来指定Tunnel接口的目的IP地址。

在本端设备和远端设备上还必须存在经过Tunnel转发的路由,这样,需要进行GRE封装的报文才能正确转发。经过Tunnel接口转发的路由可以是静态路由,也可以是动态路由。配置静态路由时,路由的目的地址是GRE封装前原始报文的目的地址,出接口是本端Tunnel接口。

[RTA]interface Tunnel 0/0/1
[RTA-Tunnel0/0/1]ip address 40.1.1.1 24
[RTA-Tunnel0/0/1]tunnel-protocol gre
[RTA-Tunnel0/0/1]source 20.1.1.1
[RTA-Tunnel0/0/1]destination 20.1.1.2
[RTA-Tunnel0/0/1]quit
[RTA]ip route-static 10.1.2.0 24 Tunnel 0/0/1
[RTA]display interface Tunnel 0/0/1

实验

greylog各个端口 gre使用端口_网络_02


要求

本实验模拟普通企业穿越ISP公网建立GRE-VPN网络。

完成以下需求:

1.如图所示,配置各设备IP地址。

2.R1是企业总部网关路由器;

R3是企业分部网关路由器;

R2是ISP骨干路由器。

R1和R3上配置默认路由,使得12.1.1.1和23.1.1.3可以通信。

3.R1和R3的Loopback0模拟企业内网,并建立GRE隧道。

3.1 R1/3分别新建Tunnel0/0/0,隧道协议选择GRE。

3.2 隧道源地址使用各自公网接口IP,目的地址为对端公网接口IP。

3.3 如图,配置隧道接口IP地址。

4.R1和R3运行OSPF,进程1

4.1 手动设置RID,R1为1.1.1.1,R3为3.3.3.3

4.2 全部划入区域0

4.3 使用network命令宣告,通配符0.0.0.0

*注意,不能宣告公网接口。

4.4 确认192.168.1.1可以与192.168.3.1通信。

具体过程
1.如图所示,配置各设备IP地址。
R1:
interface LoopBack0
ip address 192.168.1.1 255.255.255.0
interface GigabitEthernet0/0/0
ip address 12.1.1.1 255.255.255.0

R2:
interface GigabitEthernet0/0/0
ip address 12.1.1.2 255.255.255.0
interface GigabitEthernet0/0/1
ip address 23.1.1.2 255.255.255.0

R3:
interface LoopBack0
ip address 192.168.3.1 255.255.255.0
interface GigabitEthernet0/0/0
ip address 23.1.1.3 255.255.255.0

2.R1是企业总部网关路由器;
R3是企业分部网关路由器;
R2是ISP骨干路由器。
R1和R3上配置默认路由,使得12.1.1.1和23.1.1.3可以通信。
R1:
ip route-static 0.0.0.0 0.0.0.0 12.1.1.2
R3:
ip route-static 0.0.0.0 0.0.0.0 23.1.1.2

3.R1和R3的Loopback0模拟企业内网,并建立GRE隧道。
3.1 R1/3分别新建Tunnel0/0/0,隧道协议选择GRE。
3.2 隧道源地址使用各自公网接口IP,目的地址为对端公网接口IP。
3.3 如图,配置隧道接口IP地址。
R1:
interface Tunnel0/0/0
ip address 192.168.13.1 255.255.255.0
tunnel-protocol gre
source 12.1.1.1
destination 23.1.1.3
R3:
interface Tunnel0/0/0
ip address 192.168.13.3 255.255.255.0
tunnel-protocol gre
source 23.1.1.3
destination 12.1.1.1

4.R1和R3运行OSPF,进程1
4.1 手动设置RID,R1为1.1.1.1,R3为3.3.3.3
4.2 全部划入区域0
4.3 使用network命令宣告,通配符0.0.0.0
*注意,不能宣告公网接口。
4.4 确认192.168.1.1可以与192.168.3.1通信。
R1:
ospf 1 router-id 1.1.1.1
area 0.0.0.0
network 192.168.1.1 0.0.0.0
network 192.168.13.1 0.0.0.0

R3:
ospf 1 router-id 3.3.3.3
area 0.0.0.0
network 192.168.3.1 0.0.0.0
network 192.168.13.3 0.0.0.0

可以看到R1和R3通过隧道接口建立了OSPF邻居。
*关于OSPF不能宣告公网接口的原因:
如果R1宣告12.1.1.0/24到ospf中,那么R3就会从隧道接口通过OSPF学习到这条路由。
那么当R3与12.1.1.1通信时,就会将数据包发往隧道接口。
而隧道接口新封装的目的IP又是12.1.1.1,再次递归到隧道接口。
导致循环封装IP层而无法发包。
如果R1不宣告12.1.1.0/24到ospf中,那么R3就会依靠默认路由与12.1.1.1通信,默认路由的
出接口直接就是物理接口,就能正常发包。