华为路由GRE隧道搭建
通用路由封装(GRE) 是一种协议,用于将使用一个路由协议的数据包封装在另一协议的数据包中。“封装”是指将一个数据包包装在另一个数据包中,就像将一个盒子放在另一个盒子中一样。GRE 是在网络上建立直接点对点连接的一种方法,目的是简化单独网络之间的连接。它适用于各种网络层协议。
就好比说在两个不同地点让其路由下的设备互通使用,如总部电脑访问分部电脑的场景。大致拓补如下:
需要注意的是2地点间的路由做隧道,这两台路由间的IP必须是能够互通的(这里我将使用ospf的方式来实现。如运营商给的公网IP可以直接访问等等方式)
首先给电脑配置上静态IP(实际上一般会是做DHCP服务,但是在该文章不配置这个,仅供参考GRE隧道使用)
先给3台路由的网口做好IP的配置。
AR1
interface GigabitEthernet0/0/0
ip address 192.168.1.254 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.1.12.1 255.255.255.0
AR2
interface GigabitEthernet0/0/0
ip address 10.1.12.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.1.23.2 255.255.255.0
AR3
interface GigabitEthernet0/0/0
ip address 192.168.2.254 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.1.23.3 255.255.255.0
配置好IP后,我们将2台路由创建一个GRE隧道 0/0/1
AR1
interface Tunnel0/0/1
ip address 1.1.1.1 255.255.255.255 //给该隧道配置一个IP
tunnel-protocol gre //配置该接口协议为GRE协议
source 10.1.12.1 //本地接口IP
destination 10.1.23.3 //目的接口IP
AR3
interface Tunnel0/0/1
ip address 2.2.2.2 255.255.255.255
tunnel-protocol gre
source 10.1.23.3
destination 10.1.12.1
配置好隧道协议,这个时候可以查看到协议还未起来的,因为这个时候这两台设备还没有互通
下一步将这两台设备以ospf来做互通。
AR1
ospf 1
area 0.0.0.0
network 1.1.1.1 0.0.0.0
network 10.1.12.0 0.0.0.255
AR2
ospf 1
area 0.0.0.0
network 10.1.12.0 0.0.0.255
network 10.1.23.0 0.0.0.255
AR3
ospf 1
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 10.1.23.0 0.0.0.255
当链路起来后可以查看路由表,这时候可以看到路由1学习到了路由3的路由表,但是路由1并没有到路由3的电脑IP,这时候到最后一步,添加一条静态路由。
路由1和路由3之间做一个静态路由,让其能够互相访问。
AR1
ip route-static 192.168.2.0 255.255.255.0 Tunnel0/0/1
AR3
ip route-static 192.168.1.0 255.255.255.0 Tunnel0/0/1
添加完路由后可以查看路由表有对方的IP段。
尝试在路由ping路由3的192.168.2.x的IP,ping通,则证明隧道配置完成。
这个时候路由可以ping通的话,PC一般也没有问题(实际场景中可能后因为防火墙原因导致ping不同,修改规则即可)
PS:细心的伙伴可以看到ping的时候第一个包是无反应的,有兴趣的伙伴可以自己琢磨一下原因,这里不多说;该隧道配置,在路由间不一定是ospf,也可以是其他方法,有兴趣的小伙伴可以自己尝试其他的办法。该配置需要注意的是在配置GRE的时候。目的地址的命令需要确认,否则可能出现把目的地址写成了描述。后面将附上拓补文件。