路由封装(GRE)最早是由Cisco提出的,而目前它已经成为了一种标准,被定义在RFC1701,RFC1702,以及RFC2784中,简单来说,GRE就是一种隧道协议,用来从一个网络向另一个网络传输数据包。
如果你觉得它它和虚拟专用网(VPN)有类似,那只是因为:从技术上讲,GRE隧道是某一类型的VPN,但是并不是个安全隧道方式。不过你也可以用使用某种加密协议对GRE隧道进行加密,比如VPN网络中常用的IPSec协议。
实际上,点到点隧道协议(PPTP)就是使用了GRE来创建VPN隧道。比如,如果你要创建Microsoft VPN隧道,默认情况下会使用PPTP,这时就会用到GRE。
为什么要用GRE?
为什么要使用GRE进行隧道传输?原因如下:
有时你需要加密的多播传输。GRE隧道可以像真实的网络接口那样传播多播数据包,而单独使用IPSec,则无法对多播传输进行加密。多播传输的例子包包括OSPF,EIGRP,以及RIPV2。另外,大量的视频,VoIP以及音乐流程序使用多播。
你所采用的某种协议无法进行路由,比如NETBIOS或在IP或在IP网络上进行非IP传输。比如,你可以在IP网络中使用GRE支持IPX或AppleTalk协议。
配置案例:
R1配置:
Router>en
Router#conf t
Router(config)#ho R1
R1(config)#int e0/0
R1(config-if)#ip add 13.1.1.1 255.255.255.0
R1(config-if)#no sh
R1(config-if)#int e0/1
R1(config-if)#ip add 192.168.1.254 255.255.255.0
R1(config-if)#no sh
R2配置:
Router>en
Router#conf t
R2(config)#int e0/0
R2(config-if)#ip add 23.1.1.2 255.255.255.0
R2(config-if)#no sh
R2(config-if)#int e0/1
R2(config-if)#ip add 192.168.2.254 255.255.255.0
R2(config-if)#no sh
R3配置:
Router>en
Router#conf t
Router(config)#int e0/0
Router(config-if)#ip add 13.1.1.3 255.255.255.0
Router(config-if)#no sh
Router(config-if)#int e0/1
Router(config-if)#ip add 23.1.1.3 255.255.255.0
Router(config-if)#no sh
检查并测试测试每个路由的连通性
测试连通性没有问题
分别在R1 和 R2上的配默认路由使外网连通
R1(config)#ip route 0.0.0.0 0.0.0.0 e0/0 13.1.1.3
R2(config)#ip route 0.0.0.0 0.0.0.0 e0/0 23.1.1.3
可以ping通 ,外网连通性布署完毕
配置GRE隧道的步骤如下:
步骤1 在全局配置下通过 interface tunnel id 命令创建虚拟隧道接口
步骤2 在接口配置模式下通过ip address 命令隧道接口配置接口地址
步骤3 通过tunnel source命令指定隧道的源
步骤4 通过tunnel destination命令指定隧道的目的
步骤5 在隧道另一头的路由器上重复以上的步骤
步骤1
R1(config)#int tunnel 10
步骤2 在接口配置模式下通过ip address 命令隧道接口配置接口地址
R1(config-if)#ip add 1.1.1.1 255.255.255.0 #这个网址要未使用过的地址
步骤3
R1(config-if)#tunnel source e0/0
步骤4
R1(config-if)#tunnel destination 23.1.1.2 #目标地址是对方外网口地址
步骤5
R2(config)#int tunnel 10
R2(config-if)#ip add 1.1.1.2 255.255.255.0
R2(config-if)#tunnel source e0/0
R2(config-if)#tunnel destination 13.1.1.1
查看路由器R1和R2的隧道接口
可以直接ping通tunnel 10的隧道接口
通过跑ospf来使通连通
测试连接性没有问题