编辑: liubingb | 2019-07-13 |
1701 中规定: 1-3 ? 若GRE 报文头中的 Key 标识位置 1, 则收发双方将进行通道识别关键字的验证, 只有 Tunnel 两端设置的识别关键字完全一致时才能通过验证,否则将报文丢弃. ? 若GRE 报文头中的 Checksum 标识位置 1, 则校验和有效. 发送方将根据 GRE 头及 Payload 信息计算校验和,并将包含校验和的报文发送给对端.接收方对接收到的报文计算校验和, 并与报文中的校验和比较,如果一致则对报文进行进一步处理,否则丢弃. 1.1.4 应用范围 GRE 主要应用于以下几种环境: 1. 多协议的本地网通过单一协议的骨干网传输 图1-4 多协议本地网通过单一协议骨干网传输 图1-4 中,Group
1 和Group
2 是运行Novell IPX协议的本地网,Team
1 和Team
2 是运行IP协议的 本地网.通过在Device A和Device B之间采用GRE协议封装的隧道,Group
1 和Group
2、Team
1 和Team
2 可以互不影响地进行通信. 2. 扩大了跳数受限协议(如RIP)的工作范围 图1-5 扩大网络工作范围 两台终端之间的跳数超过 15,它们将无法通信.通过在网络中使用隧道可以隐藏一部分跳数,从而 扩大网络的工作范围. 1-4 3. 将一些不能连续的子网连接起来,用于组建VPN 图1-6 Tunnel 连接不连续子网 运行 Novell IPX 协议的两个子网 Group
1 和Group
2 分别在不同的城市, 通过使用隧道可以实现跨 越广域网的 VPN. 4. 与IPsec结合使用 图1-7 GRE-IPsec 隧道应用 GRE 可以和 IPsec 结合使用,即对于路由协议、语音、视频等数据先进行 GRE 封装,再对封装后 的报文进行 IPsec 的加密处理,以提高数据在隧道中传输的安全性. 1.1.5 协议规范 与GRE 相关的协议规范有: ? RFC 1701:Generic Routing Encapsulation (GRE) ? RFC 1702:Generic Routing Encapsulation over IPv4 networks ? RFC 2784:Generic Routing Encapsulation (GRE) 1.2 配置GRE over IPv4隧道 1.2.1 配置准备 设备上存在已经配置 IP 地址、 能够进行正常通讯的接口 (如VLAN 接口, Ethernet 接口, Loopback 接口等) ,该接口将作为 Tunnel 接口的源接口. IP network Novell IPX protocol Group
1 Novell IPX protocol Group
2 GRE tunnel Device A Device B 1-5 1.2.2 配置GRE over IPv4 隧道 表1-1 配置 GRE over IPv4 隧道 操作 命令 说明 进入系统视图 system-view - 创建一个Tunnel接口, 并进入 该Tunnel接口视图 interface tunnel interface-number 必选 缺省情况下,设备上无Tunnel接口 设置Tunnel接口的IPv4地址 ip address ip-address { mask | mask-length } 必选 缺省情况下,Tunnel接口上没有设置IPv4地址 配置隧道模式为GRE over IPv4 tunnel-protocol gre 可选 缺省情况下,隧道模式为GRE 在隧道的两端应配置相同的隧道模式,否则可能造 成报文传输失败 设置Tunnel接口的源端地址 或接口 source { ip-address | interface-type interface-number } 必选 缺省情况下,Tunnel接口上没有设置源端地址和接 口 设置Tunnel接口的目的端地 址destination ip-address 必选 缺省情况下,Tunnel接口上没有设置目的端地址 使能GRE的keepalive功能, 探测Tunnel接口状态, 并配置 keepalive报文发送周期及最 大发送次数 keepalive [ seconds [ times ] ] 可选 缺省情况下,不启用GRE的keepalive功能 使能GRE报文校验和功能 gre checksum 可选 缺省情况下,未使能GRE报文校验和功能 设置GRE类型隧道接口的密 钥gre key key-number 可选 缺省情况下,没有设置GRE类型隧道接口的密钥 隧道两端要么设置相同的密钥,要么都不设置密钥 设置GRE头中Recursion Control字段的值 gre recursion recursion-value 可选 缺省情况下,GRE头中Recursion Control字段的值 为0,表示不限制GRE报文被封装的次数 配置通过Tunnel转发报文的 路由 配置的详细情况请参见 网络管理配置指导 中的 IPv4路由配置 必选 在源端路由器和目的端路由器上都必须存在经过 Tunnel转发报文的路由,这样需要进行GRE封装的 报文才能正确转发.可以配置静态路由,也可以配 置动态路由 退回系统视图 quit - 配置丢弃含有IPv4兼容IPv6 地址的IPv6报文 tunnel discard ipv4-compatible-packet 可选 缺省情况下,不会丢弃含有IPv4兼容IPv6地址的 IPv6报文 1-6 ? Tunnel 接口的详细介绍,及Tunnel 接口下的更多配置命令,请参见 VPN 配置指导 中的 隧 道配置 . ? interface tunnel、tunnel-protocol、source、destination 和tunnel discard ipv4-compatible-packet 命令的详细介绍,请参见 VPN 配置命令参考 中的 隧道命令 . ? Tunnel 的源端地址与目的端地址唯一标识了一个通道.Tunnel 两端必须配置源端地址与目的端 地址,且两端地址互为源地址和目的地址. ? 两个或两个以上使用同种封装协议的 Tunnel 接口不能配置完全相同的源地址和目的地址. ? 配置Tunnel接口的源端地址时,若采用配置源接口形式,则Tunnel的源地址取的是源接口的主 IP 地址. ? 隧道两端可以根据实际应用的需要决定配置校验和或禁止校验和. 如果本端配置了校验和而对端 没有配置,则本端将不会对接收到的报文进行校验和检查,但对发送的报文计算校验和;