实验拓扑依旧如上图,实验需求依旧是要总部内网的某个网段可以和分公司的某个网段进行通信,上一节我们使用了 IPSEC ×××  现在我们使用 GRE ×××

GRE是一种传统的隧道协议,根本功能就是要实现隧道功能,通过隧道连接的两个远程网络就如同直连,GRE在两个远程网络之间模拟出直连的链路,从而使得网络之间达到直连的效果 GRE在创建隧道时需要创建虚拟直连链路,既然是要创建一个隧道,那么隧道肯定是有两个端点的,两个端点的IP就是隧道在公网中的起点和终点,隧道的源和终点分别都是公网IP地址,隧道通过GRE协议来创建

在路由器之间配置GRE总共分为三个步骤

1. 创建虚拟链路接口,号码任意 

2.配置虚拟链路接口地址,该地址是在GRE包头中被封装的地址

3.定义虚拟链路的源和目的,因为数据包最终要在公网中传递,所以该地址就是公网中指导路由器转发数据的可路由的公网IP,也就是建立隧道两端路由器的真实IP

 

配置GRE隧道

 

r1(config)#int tunnel 12

 

r1(config-if)#

%LINK-5-CHANGED: Interface Tunnel12, changed state to up

看到 tunnel 的物理层 up 

r1(config-if)#ip add 10.1.1.1 255.255.255.0

r1(config-if)#tunnel source f0/1

r1(config-if)#tunnel destination 23.1.1.1 

%LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel12, changed state to up

隧道的链路层UP   接口双UP代表链路已经成功开启

在R1上创建了GRE虚拟链路接口 号码为12 并且指定了隧道的源头和终点

GRE隧道接口没有OSI协议来做检测,只要本端的源地址有效,并且隧道终点地址有路由可达,那么GRE隧道的接口就会UP,不管隧道的对端是否已经配置了隧道接口

 

在对端路由器R2上进行相同配置

r2(config)#int tunnel 12

r2(config-if)#ip add 10.1.1.2 255.255.255.0

r2(config-if)#tunnel source f0/0

r2(config-if)#tunnel destination 12.1.1.1

%LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel12, changed state to up

隧道配置成功

 

我们首先来测试隧道的连通性

 

r1#ping 10.1.1.2

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.1.1.2, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 0/1/3 ms

隧道已经成功连通

 

我们再次测试公司总部和分公司中其中一个网段的连通性

 

我们发现此时两端内网并不能够通信,那么我们为了让两端的私网可以直接通信,要解决这个问题,我们需要让流量从GRE隧道里面传输

在GRE隧道中起动态路由协议,GRE隧道可以传递动态路由协议和静态路由,从而达到让私网流量从GRE隧道中进行传输的目的

r1(config)#router ospf 100

r1(config-router)#net 10.1.1.0 0.0.0.255 area 0

r1(config-router)#net 172.16.2.0 0.0.0.255 area 0

 

对端进行路由条目的宣告

r2(config)#router ospf 100

r2(config-router)#net 10.1.1.0 0.0.0.255 area 0

r2(config-router)#net 172.16.10.0 0.0.0.255 area 0

 

查看OSPF邻居建立状态

r1#show ip ospf neighbor 

 

Neighbor ID     Pri   State           Dead Time   Address         Interface

192.168.200.2     0   FULL/  -        00:00:32    10.1.1.2        Tunnel12

邻居建立成功

 

 

由于这个实验在CISCO PT模拟器里面做不了 我就在GNS3里面用同样的方式做了一次。。 我把172.16.2.2换成了 2.2.2.2   172.16.10.2 换成了 3.3.3.3  

 

我们发现成功的通过OSFP 学到了路由条目

 

建议使用GNS3模拟器做该实验。。 思科PT做不了