配置IPv6 GRE隧道
IPv6 GRE提供了将一种协议的报文封装在另一种协议报文中的机制,使报文能够在异种协议的网络中传输,而异种报文传输的通道称为Tunnel。
配置绑定GRE协议的接口
对应的源接口或者源地址所在接口上需要配置绑定GRE隧道协议,只有这些接口上绑定了GRE隧道协议,GRE隧道才能使用这些接口传输GRE封装的报文。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令interface interface-type interface-number,进入接口视图。
- 执行命令ip address ip-address { mask | mask-length },配置接口的IP地址。
- (可选)执行命令target-board slot-number [ backup slave-slot-number ],配置隧道源接口到隧道业务板的映射。
当GRE使用三维Tunnel接口(集中式GRE),必须先配置本命令,才能执行binding tunnel gre命令在接口上绑定GRE协议。这样当源地址为此接口的隧道收到报文时,才能送到相应的隧道业务板进行处理。设备上没配置该命令,标识Tunnel端口需要使用一维模式。
当设备上配置多块隧道业务板时,可以选择参数backup slave-slot-number参数指定备份隧道业务板配置GRE隧道的1:1保护功能,增强GRE业务的可靠性。配置GRE隧道的1:1保护功能后,必须在主用和备用隧道业务板上配置两条同源同宿的GRE隧道。当主板上的隧道工作时,备板上的隧道不工作。当主板上的隧道故障时,业务切换到备板上的隧道。
- 执行命令binding tunnel gre,配置在接口上绑定GRE隧道协议。
- quit,退出接口视图。
- 执行命令commit,提交配置。
配置Tunnel接口
创建Tunnel接口后,需要指定封装方式为IPv6 GRE、设置Tunnel接口的源地址、设置Tunnel接口的目的端地址。此外为使隧道支持动态路由协议,还要配置Tunnel接口的IP地址。
背景信息
IPv6 GRE隧道是通过隧道两端的Tunnel接口建立的,所以需要在隧道两端的设备上分别配置Tunnel接口。对于IPv6 GRE隧道的接口,需要指定其协议类型为IPv6 GRE、源地址或源接口、目的地址。为了使Tunnel接口支持路由,还要配置Tunnel接口的网络地址。
Tunnel接口配置的目的地址不可达或指向本Tunnel接口。
Tunnel接口配置的源接口状态为Down。
Tunnel接口配置的IP地址不合法。
当删除Tunnel接口后,该接口上的所有配置也将被删除。
在隧道两端的路由器上进行如下配置。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令interface tunnel interface-number,创建Tunnel接口,并进入Tunnel接口视图。
对于使用三维Tunnel接口的GRE(集中式GRE)情况下,创建Tunnel接口时,Tunnel接口的槽位号必须与作为源端接口所绑定的隧道业务板的槽位号保持一致。若配置成不一致,将导致GRE隧道无法成功建立。
- 执行命令tunnel-protocol gre ipv6,将Tunnel封装为IPv6 GRE隧道。
- 执行命令source { ipv6-address | ifName | ifTypeifNum },设置Tunnel接口的源地址或源接口。
对应的源接口或者源地址所在接口上需要配置binding tunnel gre命令绑定GRE隧道协议。只有这些接口上绑定了GRE隧道协议,GRE隧道才能使用这些接口传输GRE封装的报文。
- 执行命令destination [ vpn-instance vpn-instance-name ] des-ipv6-address,设置Tunnel接口的目的端地址。
- 执行命令ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length },配置Tunnel接口的IPv6地址。
为了使Tunnel接口支持路由,还要配置Tunnel接口的网络地址。Tunnel接口的网络地址可以不是公网地址。隧道两端的网络地址应该位于同一网段。
- 执行命令commit,提交配置。
配置Tunnel的路由
在源端设备和目的端设备上都必须存在经过Tunnel转发的路由,需要进行GRE封装的报文才能正确转发。
背景信息
在本端设备和远端设备上都必须存在经过Tunnel转发的路由,这样,需要进行IPv6 GRE封装的报文才能正确转发。经过Tunnel接口转发的路由目前只支持配置静态路由。配置静态路由时,源端设备和目的端设备都需要配置:此路由目的地址不是Tunnel的目的地址,也不是对端Tunnel接口的地址,而是未进行IPv6 GRE封装的报文的原始目的地址,出接口是本端Tunnel接口。
在隧道两端的路由器上进行如下配置:
操作步骤
- 执行命令system-view,进入系统视图。
- 配置经过Tunnel接口的路由。根据Tunnel接口配置的是IPv4还是IPv6地址,选择如下方法配置静态路由:
如果Tunnel接口配置的是IPv4地址:
执行命令ip route-static dest-ip-address { mask | mask-length } tunnel interface-number [ description text ],配置IPv4静态路由。
如果Tunnel接口配置的是IPv6地址:
执行命令ipv6 route-static dest-ipv6-address prefix-length { interface-type interface-number [ nexthop-ipv6-address ] | vpn-instance vpn-instance-name nexthop-ipv6-address | nexthop-ipv6-address } [ description text ],配置IPv6静态路由。
- 执行命令commit,提交配置。
检查配置结果
IPv6 GRE隧道配置成功后,您可以查看到Tunnel接口的工作状态和路由信息。
操作步骤
- 使用display ipv6 interface tunnel命令查看Tunnel接口的工作状态。
- 根据Tunnel接口配置的是IPv4还是IPv6地址,选择如下方法之一查看相关信息:
如果Tunnel接口配置为IPv4地址:
- 使用display ip routing-table命令查看IPv4路由表信息。
- 使用ping -a source-ip-address dest-ip-address命令查看隧道两端是否能互通。
如果Tunnel接口配置为IPv6地址:
- 使用display ipv6 routing-table命令查看IPv6路由表信息。
- 使用ping ipv6 -a source-ipv6-address dest-ipv6-address命令查看隧道两端是否能互通。