1、通用路由平台 VRP 操作手册 VPN 分册 目 录i 目 录 第4章 GRE协议配置.4-1 4.1 简介 4-1 4.1.1 GRE 协议概述 . 4-2 4.1.2 GRE 协议应用 . 4-3 4.1.3 采用 GRE 隧道接入 MPLS VPN 4-6 4.1.4 支持 Keepalive 特性 4-6 4.1.5 参考信息 4-7 4.2 配置普通 GRE 隧道 4-7 4.2.1 建立配置 GRE 的任务 4-7 4.2.2 配置 Tunnel 接口 . 4-8 4.2.3 配置 Tunnel 的路由 4-8 4.2.4 配置 GRE 的安全选项 4-9 4.2.5 检查配置结果
2、 . 4-10 4.3 配置 CE-PE 间的 GRE 隧道 . 4-10 4.3.1 建立配置任务 . 4-10 4.3.2 在 CE 配置 Tunnel 接口 . 4-11 4.3.3 在 PE 配置 Tunnel 接口 . 4-12 4.3.4 在 PE 上将 GRE Tunnel 与 CE 所在的 VPN 进行绑定 . 4-12 4.3.5 检查配置结果 . 4-12 4.4 配置 GRE 支持 Keepalive 特性 4-13 4.4.1 建立配置任务 . 4-13 4.4.2 配置源端和对端的 GRE 隧道 . 4-14 4.4.3 使能 GRE 隧道的 Linkalive 功能
3、 4-15 4.4.4 检查配置结果 . 4-15 4.5 典型配置举例 . 4-16 4.5.1 配置 GRE 使用静态路由示例 . 4-16 4.5.2 配置 GRE 使用动态路由协议示例 . 4-21 4.5.3 在 CE-PE 间配置穿过公网的 GRE 隧道,使 CE 的用户接入 MPLS VPN. 4-25 4.5.4 在 CE-PE 间配置穿过 VPN 的 GRE 隧道,使 CE 的用户接入 MPLS VPN . 4-31 4.5.5 配置 GRE 支持 Keepalive 特性示例 4-38 4.5.6 配置 GRE 封装 IPSec 传输 VPN 组播数据示例 . 4-42 通
4、用路由平台 VRP 操作手册 VPN 分册 第 4 章 GRE 协议配置4-1 第 4章 GRE 协议配置 通用路由封装 GRE( Generic Routing Encapsulation)是对使用某些网络层协议封装的报文能够在另一网络层协议中传输。下表列出了本章所包含的内容。 如果您需要 请阅读 了解 GRE 的基本原理和概念 简介 配置普通的、较简单的 GRE 隧道 配置任务: 配置普通 GRE 隧道 配置举例 1: 配置 GRE 使用静态路由示例 配置举例 2: 配置 GRE 使用动态路由协议示例 配置举例 3: 配置 GRE 封装 IPSec 传输 VPN 组播数据示例 配置私网用户
5、边缘设备 CE使用 GRE隧道接入公网 配置任务: 配置 CE-PE 间的 GRE 隧道 配置举例 1: 在 CE-PE 间配置穿过公网的 GRE 隧道,使 CE 的用户接入 MPLS VPN 配置举例 2: 在 CE-PE 间配置穿过 VPN 的 GRE隧道,使 CE 的用户接入 MPLS VPN 配置具有 Keepalive 特性的 GRE 隧道 配置任务: 配置 GRE 支持 Keepalive 特性 配置举例: 配置 GRE 支持 Keepalive 特性示例 4.1 简介 本节介绍配置 GRE 所需理解的基本知识,具体包括: z GRE 协议概述 z GRE 协议应用 z 采用 GR
6、E 隧道接入 MPLS VPN z 支持 Keepalive 特性 z 参考信息 通用路由平台 VRP 操作手册 VPN 分册 第 4 章 GRE 协议配置4-2 4.1.1 GRE协议概述 1. GRE协议 通用路由封装 GRE 是对某些网络层协议(如 IP 和 IPX)的报文进行封装,使这些被封装的报文能够在另一网络层协议(如 IP)中传输。 GRE 可以作为 VPN 的第三层隧道协议,在协议层之间采用隧道( Tunnel)技术。Tunnel 是一个虚拟的点对点的连接,可以看成仅支持点对点连接的虚拟接口,这个接口提供了一条通路,使封装的数据报能够在这个通路上传输,并在一个 Tunnel的两
7、端分别对数据报进行封装及解封装。 2. 报文封装及解封装 (1) 报文的传输 报文在 Tunnel 中传输包括加封装与解封装两个过程,下面以 图 4-1的网络为例说明这两个过程: InternetRouterA RouterBNovell IPXgroup 2Novell IPXgroup 1Tunnel图4-1 IPX网络通过GRE隧道互连 z 加封装过程 连接 Novell group1 的接口收到 IPX 数据报后,首先交由 IPX 协议处理。 IPX 协议检查 IPX 报头中的目的地址域来确定如何路由此包。如果发现报文的目的地址要经过网号为 1f 的网络( Tunnel 的虚拟网号),
8、则将此报文发给网号为 1f 的Tunnel 接口。 Tunnel 接口收到此报文后进行 GRE 封装,封装完成后交给 IP 模块处理,在封装 IP报文头后,根据报文目的地址及路由表交由相应的网络接口处理。 z 解封装过程 解封装过程和加封装过程相反。从 Tunnel 接口收到 IP 报文,检查目的地址,当发现目的地就是此路由器时,系统去掉此报文的 IP 报头,交给 GRE 协议模块处理;GRE 协议模块完成相应的处理后,去掉 GRE 报头,再交由 IPX 协议模块处理, IPX协议模块像对待一般数据报一样对此数据报进行处理。 (2) 基本概念 通用路由平台 VRP 操作手册 VPN 分册 第
9、4 章 GRE 协议配置4-3 系统收到的需要封装和路由的数据报称为净荷( Payload),净荷首先被加上 GRE封装,成为 GRE 报文;再被封装在 IP 报文中,这样 IP 层就可以完全负责此报文的转发( forward)。 负责转发的 IP 协议被称为传输协议( Delivery Protocol 或者 Transport Protocol)。 封装好的报文的形式如 图 4-2所示: Delivery HeaderGRE HeaderPayload PacketTransport ProtocolCarrier Protocol /Encapsulation ProtocolPasse
10、nger Protocol图4-2 封装好的Tunnel报文格式 举例来说,一个封装在 IP Tunnel 中的 IPX 报文的格式可以表示为: IP GRE IPXPassenger ProtocolCarrier ProtocolEncapsulation ProtocolTransport ProtocolPassenger Protocol:乘客协议 Carrier Protocol / Encapsulation Protocol:运载协议/封装协议 Transport Protocol:传输协议 图4-3 Tunnel中传输报文的格式 4.1.2 GRE协议应用 GRE 主要可用于
11、实现以下几种服务类型: 通用路由平台 VRP 操作手册 VPN 分册 第 4 章 GRE 协议配置4-4 1. 多协议的本地网通过单一协议的骨干网传输 InternetRouterA RouterBNovell IPXGroup 2IPTeam 2Novell IPXGroup 1IPTeam 1GRE tunnel图4-4 多协议本地网通过单一协议骨干网传输 图 4-4中, Group1 和 Group2 是运行 Novell IPX 的本地网, Team1 和 Team2 是运行 IP 的本地网。 通过在 Router A 和 Router B 之间采用 GRE 协议封装的隧道( Tunn
12、el), Group1和 Group2、 Team1 和 Team2 可以互不影响地进行通信。 2. 扩大了步跳数受限协议(如IPX)的网络的工作范围 IP networkIP networkIP networkPC PCTunnel图4-5 扩大网络工作范围 在 图 4-5中,如果两台终端之间的步跳数超过 15,它们将无法通信。在网络中使用隧道( Tunnel)可以隐藏一部分步跳,从而扩大网络的工作范围。 通用路由平台 VRP 操作手册 VPN 分册 第 4 章 GRE 协议配置4-5 3. 将不连续的子网连接起来,用于组建VPN TunnelGroup2NovellGroup1Novell
13、IP network图4-6 Tunnel连接不连续子网 运行 Novell IPX 协议的两个子网 Group1 和 Group2 分别在不同的城市,通过使用隧道可以实现跨越广域网的 VPN。 4. 与IPSec结合使用,弥补IPSec不能保护组播数据的缺陷 Remote officenetworkInternetCorporateintranet GRE tunnelIPSec tunnel图4-7 GRE-IPSec隧道应用 GRE 可以封装组播数据并在 GRE 隧道中传输,而 IPSec 目前只能对单播数据进行加密保护。对于组播数据需要在 IPSec 隧道中传输的情况,可以先建立 GR
14、E 隧道,对组播数据进行 GRE 封装,再对封装后的报文进行 IPSec 加密,从而实现组播数据在 IPSec 隧道中的加密传输。 5. 其他特性 GRE 本身提供两种比较弱的安全机制:校验和验证与识别关键字验证。前者对封装的报文进行端到端校验,后者对 Tunnel 接口进行校验。 RFC1701( Generic Routing Encapsulation)中规定:如果 GRE 报文头中的Checksum 位置位,则校验和有效。发送方将根据 GRE 头及 payload 信息计算校验和,并将包含校验和的报文发送给对端。接收方对接收到的报文计算校验和,并与报文中的校验和比较,如果一致则对报文进
15、一步处理,否则丢弃报文。 隧道两端可以根据实际需要选择是否配置校验和,从而决定是否触发校验功能。如果本端配置了校验和而对端没有配置,则本端将不会对接收到的报文进行校验和检通用路由平台 VRP 操作手册 VPN 分册 第 4 章 GRE 协议配置4-6 查;相反,如果本端没有配置校验和而对端已配置,本端将对从对端发来的报文进行校验和检查。 RFC1701 中还规定:若 GRE 报文头中的 KEY 位置位,则收发双方将进行通道识别关键字的验证。只有 Tunnel 两端设置的识别关键字完全一致时才能通过验证,否则将报文丢弃。 4.1.3 采用GRE隧道接入MPLS VPN 在 MPLS VPN 中,
16、 为了让用户端设备 CE 接入 VPN 中往往需要 CE 与 PE 之间有直接的物理链路,即在同一个网络中。在这样的组网中,需要在 PE 上将 VPN 与 PE到 CE 的物理接口进行绑定。 在 CE 和 PE 不是直连的情况下,为了让 CE 也能接入到 VPN 中,可以考虑在 CE和 PE 之间创建“逻辑上的直连”,也就是在 CE 与 PE 之间创建 GRE 隧道。在这样的组网中,就需要在 PE 上将 VPN 与 PE-CE 之间的 GRE 隧道进行绑定。其实就是把 GRE 隧道当作一个物理接口来看待。 采用 GRE 隧道接入 MPLS VPN 时,在 PE 上的配置可按以下三种情形来划分:
17、 (1) GRE 隧道的源接口绑定 VPN 实例, GRE 隧道的目的地址也属于该 VPN 实例。 (2) GRE 隧道绑定 VPN 实例, GRE 隧道的源地址和目的地址不属于 VPN 实例。 (3) GRE 隧道绑定一个 VPN 实例(例如 VPN1), GRE 隧道的源接口绑定了另一个 VPN 实例(例如 VPN2),即 GRE 隧道需要穿过 VPN2。 由于在第 1 种情形中, GRE 隧道的源和目的地址都属于私有网络,在实际的应用中在私有网络里再创建一个隧道到 PE,没有什么价值。因此第 1 种情形不会在实际网络中存在。后面的配置过程和举例主要针对第 2 和第 3 种情况。 4.1.
18、4 支持Keepalive特性 目前 GRE 协议并不具备探测链路状态的功能。如果远端端口不可达,隧道并不能及时关闭该 Tunnel 连接,这样会造成源端会不断的向对端转发数据,而对端却因Tunnel 不通而丢弃所有报文,由此就会形成数据发送的空洞。 GRE Keepalive 功能可以使 Tunnel 检测隧道状态。如果对端不可达,隧道连接就会及时关闭,避免形成数据空洞。 GRE 隧道的源端使能 link-alive 功能后,就会周期地发送一个 link-alive 探测报文来检测对端是否可达。若对端可达,则源端会收到对端的回应报文,否则源端收不到对端的回应报文。 通用路由平台 VRP 操作
19、手册 VPN 分册 第 4 章 GRE 协议配置4-7 4.1.5 参考信息 如果要更详细了解 GRE 的原理,请参考以下文档。 z RFC1701: Generic Routing Encapsulation( GRE) z RFC1702: Generic Routing Encapsulation over IPv4 networks z RFC2784: Generic Routing Encapsulation (GRE) 4.2 配置普通GRE隧道 4.2.1 建立配置GRE的任务 1. 应用环境 配置 GRE 需要创建 Tunnel 接口,在 Tunnel 接口上进行功能特性的配
20、置。当删除Tunnel 接口后,该接口上的所有配置也将被删除。 2. 前置任务 在配置 GRE 之前,需完成以下任务: 实现源接口和目的接口之间的 IP 连通性。 3. 数据准备 在配置 GRE 之前,需准备以下数据。 序号 数据 1 Tunnel 接口的编号 2 Tunnel 的源地址和目的地址 3 Tunnel 接口的 IP 地址 4 Tunnel 接口的识别关键字 4. 配置过程 序号 过程 1 配置 Tunnel 接口 2 配置 Tunnel 的路由 3 配置 GRE 的安全选项 通用路由平台 VRP 操作手册 VPN 分册 第 4 章 GRE 协议配置4-8 序号 过程 4 检查配置
21、结果 4.2.2 配置Tunnel接口 步骤 操作 命令 1 进入系统视图 system-view 2 创建 Tunnel 接口, 并进入 Tunnel接口视图 interface tunnel interface-number 3 将 Tunnel 封装为 GRE 隧道 tunnel-protocol gre 4 设置 Tunnel 接口的源端地址 source source-ip-address | interface-type interface-number 5 设置 Tunnel 接口的目的端地址 destination vpn-instance vpn-instance-name
22、ip-address 6 设置 Tunnel 接口的 IP 地址 ip address ip-address mask | mask-length sub 或配置 Tunnel 接口借用 IP 地址 ip address unnumbered interface interface-type interface-number 配置 Tunnel 接口的详细说明请参见“第 2 章 VPN 隧道管理配置”。 4.2.3 配置Tunnel的路由 步骤 操作 命令 1 进入系统视图 system-view 2 配置静态路由 ip route-static dest-ip-address mask |
23、mask-length tunnel interface-number 3 配置动态路由 (略) 说明: 实际配置时,根据需要选择上述步骤2、3中的一种即可。 在源端路由器和目的端路由器上都必须存在经过 Tunnel 转发的路由,这样,需要进行 GRE 封装的报文才能正确转发。 配置静态路由时, Tunnel 的两端都要配置;需要注意:目的地址不是 Tunnel 的目的端地址,而是未进行 GRE 封装的报文的目的地址,下一跳是本端 Tunnel 接口。 通用路由平台 VRP 操作手册 VPN 分册 第 4 章 GRE 协议配置4-9 配置动态路由协议时, 在 Tunnel 接口和与私网相连的路
24、由器接口上都要使能该动态路由协议。并且,配置去往 Tunnel 目的端实际接口地址的路由时,为保证能够选到正确的路由,应注意 Tunnel 接口不能作为该路由的下一跳。 RouterARouterCTunnel1/0/1Tunnel2/0/1PC2PC1POS1/0/0POS2/0/0BackboneGE2/0/0GE1/0/0Tunnel图4-8 GRE动态路由协议配置图 在 图 4-8中, 以 RouterA 为例, Tunnel1/0/1 的源端物理接口为 RouterA 的 POS1/0/0,目的端物理接口为 RouterC 的 POS2/0/0。如果使用动态路由协议,则 Tunnel
25、 接口和接入 PC 的 GigabitEthernet 接口上都需要配置动态路由协议,并且,路由表中去往 RouterC 的 POS2/0/0 网段地址的出接口不能是 Tunnel1/0/1。 实际配置时,可以采用多进程路由协议或改变 Tunnel 接口度量值,避免 Tunnel 接口被选为去往 Tunnel 目的端物理地址的路由出接口。 4.2.4 配置GRE的安全选项 步骤 操作 命令 1 进入系统视图 system-view 2 进入 Tunnel 接口视图 interface tunnel interface-number 3 设置 Tunnel 进行端到端校验 gre checksu
26、m 4 设置 Tunnel 接口的识别关键字 gre key key-number 本节的配置都是可选配置,且步骤 3 和步骤 4 相互没有影响。 如果在隧道两端设置 key-number,则必须指定相同的 key-number;或隧道两端都不设置 key-number。 缺省情况下,禁止 Tunnel 两端进行端到端校验; Tunnel 不使用识别关键字。 通用路由平台 VRP 操作手册 VPN 分册 第 4 章 GRE 协议配置4-10 4.2.5 检查配置结果 步骤 操作 命令 1 查看 Tunnel 接口的工作状态 display interface tunnel interface-
27、number 2 查看路由表 display ip routing-table 3 查看隧道两端是否能互通 ping -a source-ip-address dest-ip-address 在配置成功时,执行上面的命令,应能得到如下的结果: z Tunnel 接口状态为 Up,且链路层协议状态为 Up。 z 路由表中有 “ Interface” 为此 Tunnel 接口, 且 “ Destination” 为所设置的 Tunnel的目的端网段地址。 z 从本端隧道接口地址 ping 目的端隧道接口地址,能 ping 通。 4.3 配置CE-PE间的GRE隧道 4.3.1 建立配置任务 1.
28、应用环境 如果 CE 不与 PE 直接连接,但 CE 所接入的用户需要接入到 MPLS VPN 中,这种需求可以通过在 CE-PE 间配置 GRE 隧道实现。通常,在如下 2 种情况下需要创建CE-PE 之间的 GRE 隧道: z CE 经过公网与 PE 互连 z CE 经过二级运营商的 VPN 与 PE 互连 2. 前置任务 在配置 CE-PE 间的 GRE 隧道之前,需完成以下任务: z 配置 CE 与 PE 上接口的 IP 地址 z 配置 CE-PE 间的路由 z 如果 CE-PE 间的 GRE 隧道穿过另外的 VPN,还需要完成该 VPN 的配置 3. 数据准备 在配置 CE-PE 间
29、的 GRE 隧道之前,需准备以下数据。 序号 数据 1 CE 上 GRE Tunnel 接口的编号 通用路由平台 VRP 操作手册 VPN 分册 第 4 章 GRE 协议配置4-11 序号 数据 2 CE 上 GRE Tunnel 的源地址和目的地址 3 PE 上 GRE Tunnel 接口的编号 4 PE 上 GRE Tunnel 接口的源地址和目的地址 5 如果 GRE Tunnel 穿过另外的 VPN,还需知道该 VPN 的名字 4. 配置过程 序号 过程 1 在 CE 配置 Tunnel 接口 2 在 PE 配置 Tunnel 接口 3 在 PE 上将 GRE Tunnel 与 CE
30、所在的 VPN 进行绑定 4 检查配置结果 说明: 要让CE所挂的用户接入到MPLS VPN中,还需在配置PE上的MPLS VPN,以及PE与CE间的路由。 4.3.2 在CE配置Tunnel接口 步骤 操作 命令 1 进入系统视图 system-view 2 创建 Tunnel 接口, 并进入 Tunnel接口视图 interface tunnel interface-number 3 将 Tunnel 封装为 GRE 隧道 tunnel-protocol gre 4 设置 Tunnel 接口的源端地址 source source-ip-address | interface-type in
31、terface-number 5 设置 Tunnel 接口的目的端地址 destination vpn-instance vpn-instance-name ip-address 6 设置 Tunnel 接口的 IP 地址 ip address ip-address mask | mask-length sub 或配置 Tunnel 接口借用 IP 地址 ip address unnumbered interface interface-type interface-number CE 上隧道的源地址与 PE 上隧道的目的地址相同, CE 上隧道的目的地址与 PE 上隧道的源地址相同。 通用路
32、由平台 VRP 操作手册 VPN 分册 第 4 章 GRE 协议配置4-12 4.3.3 在PE配置Tunnel接口 步骤 操作 命令 1 进入系统视图 system-view 2 创建 Tunnel 接口, 并进入 Tunnel接口视图 interface tunnel interface-number 3 将 Tunnel 封装为 GRE 隧道 tunnel-protocol gre 4 设置 Tunnel 接口的源端地址 source source-ip-address | interface-type interface-number 5 设置 Tunnel 接口的目的端地址 dest
33、ination vpn-instance vpn-instance-name ip-address PE 上隧道的源地址与 CE 上隧道的目的地址相同, PE 上隧道的目的地址与 CE 上隧道的源地址相同。 在 PE 上配置隧道的目的地址时,如果隧道需要穿过另外的 VPN,则要指定参数vpn-instance vpn-instance-name,如果隧道穿过公网,则不需要指定该参数。 4.3.4 在PE上将GRE Tunnel与CE所在的VPN进行绑定 步骤 操作 命令 1 进入系统视图 system-view 2 创建 Tunnel 接口, 并进入 Tunnel接口视图 interface
34、tunnel interface-number 3 将 Tunnel 与 VPN 实例进行绑定 ip binding vpn-instance vpn-instance-name 4 设置 Tunnel 接口的 IP 地址 ip address ip-address mask | mask-length sub 或配置 Tunnel 接口借用 IP 地址 ip address unnumbered interface interface-type interface-number 4.3.5 检查配置结果 步骤 操作 命令 1 查看 Tunnel 接口的工作状态 display interfa
35、ce tunnel interface-number 2 在 PE 上查看 VPN 路由表 display ip routing-table vpn-instance vpn-instance-name 3 在 PE 上查看隧道两端是否能互通 ping -a source-ip-address dest-ip-address 4 在 CE 上查看路由表 display ip routing-table 通用路由平台 VRP 操作手册 VPN 分册 第 4 章 GRE 协议配置4-13 步骤 操作 命令 5 查看隧道两端是否能互通 ping -a source-ip-address dest-i
36、p-address 在配置成功时,执行上面的命令,应能得到如下的结果: z Tunnel 接口状态为 Up,且链路层协议状态为 Up。 z PE 的 VPN 路由表中有“ Interface”项为本端 Tunnel 接口,且“ Destination”为本端 Tunnel 的目的端网段地址。 z 隧道两端能互相 ping 通。 z CE 的路由表中有“ Interface”项为本端 Tunnel 接口,且“ Destination”为本端 Tunnel 的目的端网段地址。 z CE 能 ping 通 PE 上的 Tunnel 接口 IP 地址。 4.4 配置GRE支持Keepalive特性 4
37、.4.1 建立配置任务 1. 应用环境 InternetGRE tunnelRouter ARouter BSourceDestination图4-9 支持Keepalive的GRE隧道 在源端配置支持 Keepalive 特性的 GRE,使源端能够检测隧道状态,避免因对端不可达而造成的数据空洞。 说明: 目前,本功能只能应用在NE05、NE08E、NE16E、NE20和NE20E上。 2. 前置任务 在配置 Link-alive 的基本功能之前,需完成以下任务: z 配置接口的链路层属性 通用路由平台 VRP 操作手册 VPN 分册 第 4 章 GRE 协议配置4-14 z 配置接口的 IP
38、 地址 z 建立 GRE 隧道,且隧道状态为 Up 3. 数据准备 在配置 Link-alive 的基本功能之前,需准备以下数据。 序号 数据 1 源端 GRE Tunnel 接口的 IP 地址 2 源端 GRE Tunnel 的源地址和目的地址 3 对端 GRE Tunnel 接口的 IP 地址 4 对端 GRE Tunnel 的源地址和目的地址 4. 配置过程 序号 过程 1 配置源端和对端的 GRE 隧道 2 使能 GRE 隧道的 Linkalive 功能 3 检查配置结果 4.4.2 配置源端和对端的GRE隧道 步骤 操作 命令 1 进入系统视图 system-view 2 创建 Tu
39、nnel 接口, 并进入 Tunnel接口视图 interface tunnel interface-number 3 将 Tunnel 封装为 GRE 隧道 tunnel-protocol gre 4 设置 Tunnel 接口的源端地址 source source-ip-address | interface-type interface-number 5 设置 Tunnel 接口的目的端地址 destination vpn-instance vpn-instance-name ip-address 6 设置 Tunnel 接口的 IP 地址 ip address ip-address ma
40、sk | mask-length sub 或配置 Tunnel 接口借用 IP 地址 ip address unnumbered interface interface-type interface-number 通用路由平台 VRP 操作手册 VPN 分册 第 4 章 GRE 协议配置4-15 4.4.3 使能GRE隧道的Linkalive功能 步骤 操作 命令 1 进入系统视图 system-view 2 进入 Tunnel 接口视图 interface tunnel interface-number 3 使能 GRE 的 Linkalive 功能 link-alive period pe
41、riod retry-times retry-times GRE 隧道的 Keepalive 功能是单向的。要使两端都具备 Keepalive 功能,需在两端都使能 GRE 隧道的 Linkalive 功能。对端是否支持 Keepalive 功能不影响本端的Keepalive 功能。 4.4.4 检查配置结果 步骤 操作 命令 1 查看 GRE Tunnel 的 Link-alive 功能 debugging tunnel 在配置成功时,执行上面的命令,可以得到 表 4-1类似的显示消息。 表4-1 debugging tunnel命令的显示信息及其解释 项目 描述 *0.251227568
42、RT3 TUNNEL/8/ATKDBG:Starting linkalive timer successfully! ID: 748 linkalive 的计时器启动成功。 *0.251232481 RT3TUNNEL/8/ATKDBG:Preparing linkalive frame successfully 生成 linkalive 报文。 *0.251232560 RT3TUNNEL/8/ATKDBG:Tunnel2/0/0-Out: Mbuf length = 24 from GRE Tunnel out 在 tunnel 接口完成对 Linkalive 报文的 GRE 封装。*0.
43、251232656 RT3TUNNEL/8/ATKDBG:Tunnel2/0/0-Out: GRE/IP encapsulated 192.168.1.3-192.168.1.2(len = 48). 在 Tunnel接口中完成了对 GRE报文的 IP头封装。*0.251232785 RT3 TUNNEL/8/ATKDBG:Judge keepalive finished. Keepalive response packet from original router. 收到源端的 Keepalive 报文。 *0.251232912 RT3 TUNNEL/8/ATKDBG:Receive th
44、e keepalive response on mainboard successfully.Finish. 完成 keepalive 探测功能。 通用路由平台 VRP 操作手册 VPN 分册 第 4 章 GRE 协议配置4-16 项目 描述 *0.251233296 RT3 TUNNEL/8/ATKDBG:Slot=2; IO board received keepalive packet, resend to mainboard. 接口板收到 Keepalive 报文,送往主控板。 *0.251234995 RT3 TUNNEL/8/ATKDBG:Judge keepalive finis
45、hed. Keepalive packet from peer router. 判断出该报文是对端发送的 link-alive 报文。 *0.251235104 RT3 TUNNEL/8/ATKDBG:Receive peer keepalive on mainboard successfully. Put into decapsulation 主控板收到对端的 link-alive 回应报文,放入解封装队列。 *0.251235232 RT3 TUNNEL/8/ATKDBG:Tunnel2/0/0-In: GRE decapsulated IP 192.168.1.3-192.168.1.2
46、(len = 24). 完成了对端回应报文的解封装。 4.5 典型配置举例 本章的配置举例包括以下案例: z 配置 GRE 使用静态路由示例 z 配置 GRE 使用动态路由协议示例 z 在 CE-PE 间配置穿过公网的 GRE 隧道,使 CE 的用户接入 MPLS VPN z 在 CE-PE 间配置穿过 VPN 的 GRE 隧道,使 CE 的用户接入 MPLS VPN z 配置 GRE 支持 Keepalive 特性示例 z 配置 GRE 封装 IPSec 传输 VPN 组播数据示例 4.5.1 配置GRE使用静态路由示例 1. 组网需求 如 图 4-10, RouterA、 RouterB、
47、 RouterC 属于 VPN 骨干网,它们之间运行 OSPF。 RouterA 和 RouterC 之间使用三层隧道协议 GRE,实现 PC1 和 PC2 互联。 PC1 和 PC2 上分别指定 RouterA、 RouterC 为自己的缺省网关。 通用路由平台 VRP 操作手册 VPN 分册 第 4 章 GRE 协议配置4-17 RouterA RouterCRouterBTunnel1/0/140.1.1.1/24Tunnel1/0/140.1.1.2/2410.2.1.1/2410.1.1.1/24GE2/0/010.1.1.2/24POS1/0/020.1.1.1/24POS1/0/
48、020.1.1.2/24POS1/0/030.1.1.2/24POS2/0/030.1.1.1/24GE2/0/010.2.1.2/24PC1 PC2Tunnel图4-10 GRE静态路由配置组网图 2. 配置思路 本例按如下思路配置 GRE: (1) 路由器运行动态路由协议实现互通。 (2) 在 RouterA 和 RouterB 上创建 Tunnel 接口,指定 Tunnel 的源地址和目的地址。注意 Tunnel 的源地址是发出报文的实际接口 IP 地址,目的地址是接收报文的实际接口 IP 地址。 (3) 为使隧道支持动态路由协议,需要配置 Tunnel 接口的网络地址。 (4) 为使
49、PC1 和 PC2 之间的流量通过 GRE 隧道传输, RouterA 和 RouterC 上需配置到各自相连的 PC 的静态路由,出接口为本端的 Tunnel 接口。 3. 数据准备 为完成此配置例,需准备如下的数据: z 运行 OSPF 所需数据 z GRE 隧道两端的源地址、目的地址、 Tunnel 接口 IP 地址 4. 配置步骤 (1) 配置各接口 IP 地址 按照 图 4-10配置各接口的 IP 地址,具体配置过程略。 (2) 配置 VPN 骨干网的 IGP # 配置 RouterA。 通用路由平台 VRP 操作手册 VPN 分册 第 4 章 GRE 协议配置4-18 RouterA ospf 1 RouterA-ospf-1 area 0 RouterA-ospf-1-area-0.0.0.0 network 20.1.1.0 0.0.0.255 RouterA-ospf-1-area-0.0.0.0 quit