GRE是一项由美国思科公司开发的轻量级隧道协议,它能够将各种网络层协议进行封装到IP包中,通过隧道创建一个虚拟的点到点链路,把两台路由器连接起来,实现数据传输的功能。GRE本身是不加密的,但可以使用IPSEC对GRE中的数据进行保护,即GRE Over IPSEC,我们常用的DM×××也是GRE的一种。


封装:

***技术:GRE_第1张图片


抓包:


***技术:GRE_第2张图片


GRE实验


拓扑图:

***技术:GRE_第3张图片

实验介绍:

R1和R3模拟一家公司在不同两个地方的路由器,R2模拟运营商路由器。R1在北京,R3在上海,要想让上海的员工能够访问北京的服务器,在R1和R3之间建立一条GRE隧道,并启用动态路由协议,实现R1和R3路由器身后的网络能够互通。


网络基本配置:

R1(config)#int f0/0

R1(config-if)#ip add 12.1.1.1255.255.255.0

R1(config-if)#no shut

R1(config-if)#int lo 0

R1(config-if)#ip add 1.1.1.1255.255.255.0

R1(config)#ip route 0.0.0.0 0.0.0.012.1.1.2

 

R2(config)#int f0/0

R2(config-if)#ip add 12.1.1.2255.255.255.0

R2(config-if)#no shut

R2(config-if)#int f1/0

R2(config-if)#ip add 23.1.1.2255.255.255.0

R2(config-if)#no shut

 

R3(config)#int f1/0

R3(config-if)#ip add 23.1.1.3255.255.255.0

R3(config-if)#no shut

R3(config-if)#int lo 0

R3(config-if)#ip add 3.3.3.3255.255.255.0

R3(config)#ip route 0.0.0.0 0.0.0.023.1.1.2

 

GRE配置:

 

R1

R1(config)#int tunnel 0

R1(config-if)#ip add 172.16.1.1255.255.255.0

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

R1(config-if)#tunnel destination23.1.1.3

 

R3

R3(config)#int tunnel 0

R3(config-if)#ip add 172.16.1.2255.255.255.0

R3(config-if)#tunnel source f1/0

R3(config-if)#tunnel destination12.1.1.1

 

测试:

R1#ping 172.16.1.2

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to172.16.1.2, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5),round-trip min/avg/max = 56/84/104 ms

 

动态路由协议:

R1:

R1(config)#router ospf 110

R1(config-router)#net 1.1.1.0 0.0.0.255a 0

R1(config-router)#net 172.16.1.00.0.0.255 a 0

 

R3

R3(config)#router ospf 110

R3(config-router)#net 3.3.3.0 0.0.0.255a 0

R3(config-router)#net 172.16.1.00.0.0.255 a 0

 

测试:

查看OSPF邻居:

R1#show ip ospf neighbor

Neighbor ID     Pri  State           Dead Time   Address         Interface

3.3.3.3           0  FULL/  -       00:00:38    172.16.1.2      Tunnel0

Ping测试:

R1#ping 3.3.3.3 source 1.1.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to3.3.3.3, timeout is 2 seconds:

Packet sent with a source address of1.1.1.1

!!!!!

Success rate is 100 percent (5/5),round-trip min/avg/max = 44/79/100 ms

 

       可以看到R1和R3身后的网络已经连通了,需要注意,这时的数据都是没有加密的,只要中间有人捕获到这些数据就可以看到里面的内容,是不安全的。可以使用GRE Over IPSEC,即把GRE的数据再封装在IPSEC ×××中。这样数据即被加了密,还可以使用GRE的接口,启用动态路由协议,添加ACL等进行路由控制,比单纯的L2L IPSEC ×××要灵活很多。


附件是GRE的抓包,感兴趣的同学可以下载下来分析。