通用路由封装虚拟专网(GREVPN)
通用路由封装(Generic Routing Encapsulation,GRE)是一个在任意一种网络协议上传送任意一种其它网络协议的封装方法。其封装包格式为:
| 链路层头 | 协议A头 | GRE头 | 协议B头 | 载荷 |
其中协议A是公网网际层协议,协议B是内网网际层协议,当然一般都是IP协议报文。协议A头使用47标记后面的GRE协议,而GRE使用0x0800标记IP协议B。GRE VPN的拓扑一般如下所示:

由于洛阳私网的IP(192.168.0.0/24)和兰州私网的IP(192.168.1.0/24)不在中国联通的路由表里面,因此报文一旦离开洛阳出口(24.25.56.1/24)或者兰州出口(24.25.57.2/24)就会被丢弃掉。GRE的作用,就是在洛阳和兰州出口之间建立一个隧道(如洛阳10.0.0.1/24和兰州10.0.0.2/24),让GRE前面的协议A承载公网上面的IP流量,传输隧道上的数据,然后再经洛阳出口路由10.0.0.0到192.68.0.0,从而实现两个私网的互通。在保证洛阳出口的公网IP和兰州出口的公网IP能够联通的情况下,进行如下配置:
ROUTER1(config) interface tunnel 0
ROUTER1(config-if) ip address 10.10.10.1 255.255.255.0
ROUTER1(config-if) tunnel source Se1/0
ROUTER1(config-if) tunnel destination 24.25.56.2
ROUTER1(config-if) tunnel mode gre ip
ROUTER1(config) ip route 192.168.1.0 255.255.255.0 10.10.10.2
同上方法对另一路由配置,此时洛阳内网和兰州内网就可以ping通。