09-IPv6静态路由命令
本章节下载: 09-IPv6静态路由命令 (392.63 KB)
目 录
1.1.1 delete ipv6 static-routes all
1.1.2 display ipv6 route-static nib
1.1.3 display ipv6 route-static routing-table
1.1.6 ipv6 route-static default-preference
1.1.7 ipv6 route-static fast-reroute auto
1.1.8 ipv6 route-static nd-request
1.1.9 ipv6 route-static primary-path-detect bfd echo
1.1.10 ipv6 route-static recursive-lookup segment-routing-ipv6
1.1.11 ipv6 route-static recursive-lookup tunnel
1.1.12 ipv6 route-static vpn-instance
delete ipv6 static-routes all命令用来删除所有IPv6静态路由。
【命令】
delete ipv6 [ vpn-instance vpn-instance-name ] static-routes all
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
vpn-instance vpn-instance-name:删除指定VPN的所有IPv6静态路由。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果不指定该参数,则删除公网实例下的所有IPv6静态路由。
【使用指导】
删除全部IPv6静态路由可能导致网络不通,报文转发失败,请谨慎使用。
使用本命令删除IPv6静态路由时,系统会提示确认,确认后才会删除所配置的所有IPv6静态路由。
【举例】
# 删除所有IPv6静态路由。
<Sysname> system-view
[Sysname] delete ipv6 static-routes all
This will erase all IPv6 static routes and their configurations, you must reconf
igure all static routes.
Are you sure?[Y/N]:y
【相关命令】
· ipv6 route-static
display ipv6 route-static nib命令用来显示IPv6静态路由下一跳信息。
【命令】
display ipv6 route-static nib [ nib-id ] [ verbose ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
nib-id:路由邻居ID值,取值范围为十六进制数1~ffffffff。
verbose:显示详细信息。如果未指定本参数,则显示概要信息。
【举例】
# 显示IPv6静态路由邻居信息与下一跳信息。
<Sysname> display ipv6 route-static nib
Total number of nexthop(s): 35
NibID: 0x21000000 Sequence: 0
Type: 0x41 Flushed: Yes
Age: 00h01m50s
UserKey0: 0x0 VrfNthp: 0
UserKey1: 0x0 Nexthop: 2::3
UserKey2: 0x0 IFIndex: 0x10001
UserKey3: 0x0 LocalAddr: ::
TopoNthp: Invalid ExtType: 0x0
Color: 0 COFlag: 0x0
LinkID: 0x0 AS-path: 0 0
SIDIndex: 0x0 SRPName:
OriNexthop: :: ExtBandwidth:0
NibID: 0x21000001 Sequence: 1
Type: 0x41 Flushed: Yes
Age: 00h01m50s
UserKey0: 0x0 VrfNthp: 0
UserKey1: 0x0 Nexthop: 3::4
UserKey2: 0x0 IFIndex: 0x10002
UserKey3: 0x0 LocalAddr: ::
TopoNthp: Invalid ExtType: 0x0
Color: 0 COFlag: 0x0
LinkID: 0x0 AS-path: 0 0
SIDIndex: 0x0 SRPName:
OriNexthop: :: ExtBandwidth:0
...
表1-1 display ipv6 route-static nib命令显示信息描述表
字段 |
描述 |
Total number of nexthop(s) |
总的NIB个数 |
NibID |
NIB ID号 |
Sequence |
NIB序列号 |
Type |
NIB类型 |
Flushed |
是否下刷FIB |
Age |
下一跳信息最近一次更新的时间 |
UserKey0 |
NIB协议保留数据1 |
UserKey1 |
NIB协议保留数据2 |
UserKey2 |
NIB协议保留数据3 |
UserKey3 |
NIB协议保留数据4 |
VrfNthp |
下一跳所在VPN索引,显示为0表示公网 |
Nexthop |
下一跳信息 |
IFIndex |
接口索引 |
LocalAddr |
本地接口地址 |
TopoNthp |
(暂不支持子拓扑)下一跳所在拓扑索引,显示为0表示公网拓扑(目前IPv6不支持子拓扑,显示为Invalid) |
ExtType |
下一跳扩展类型 |
Color |
Color扩展团体属性 |
COFlag |
Color的下一跳标志位 |
LinkID |
SDWAN TTE连接的Link ID |
SIDIndex |
SID的索引值 |
SRPName |
(暂不支持)SR-MPLS TE Policy的名称 |
OriNexthop |
路由的原始下一跳地址,如果是从BGP更新消息中获得的路由,则该地址为接收到的消息中的下一跳IP地址 |
ExtBandwidth |
来自BGP协议的链路带宽属性值 |
AS-path |
下一跳携带的AS号,取值为BGP路由AS_PATH属性中由近到远的前两个AS号,以空格分隔。如果不存在这样的AS号,则显示为0 |
# 显示IPv6静态路由邻居与下一跳的详细信息。
<Sysname> display ipv6 route-static nib verbose
Total number of nexthop(s): 35
NibID: 0x21000000 Sequence: 0
Type: 0x41 Flushed: Yes
Age: 00h01m50s
UserKey0: 0x0 VrfNthp: 0
UserKey1: 0x0 Nexthop: 2::3
UserKey2: 0x0 IFIndex: 0x10001
UserKey3: 0x0 LocalAddr: ::
IFIndex: 0x0 LocalAddr: ::
TopoNthp: Invalid ExtType: 0x0
Color: 0 COFlag: 0x0
LinkID: 0x0 AS-path: 0 0
SIDIndex: 0x0 SRPName:
OriNexthop: :: ExtBandwidth:0
RefCnt: 1 FlushRefCnt: 0
Flag: 0x12 Version: 1
ExtFlag: 0x0
1 nexthop(s):
PrefixIndex: 0 OrigNexthop: 2::3
RelyDepth: 2 RealNexthop: ::
Interface: NULL0 LocalAddr: ::
TunnelCnt: 0 Vrf: default-vrf
TunnelID: N/A Topology:
Weight: 0 Flags: 0x0
SRPolicyNID: 4294967295 SRInterface:
ColorWeight: 0 Locator: N/A
OrigLinkID: 0x0 RealLinkID: 0x0
Bandwidth: 0
NibID: 0x21000001 Sequence: 1
Type: 0x41 Flushed: Yes
Age: 00h01m50s
UserKey0: 0x0 VrfNthp: 0
UserKey1: 0x0 Nexthop: 3::4
UserKey2: 0x0 IFIndex: 0x10002
UserKey3: 0x0 LocalAddr: ::
TopoNthp: Invalid ExtType: 0x0
Color: 0 COFlag: 0x0
LinkID: 0x0 AS-path: 0 0
SIDIndex: 0x0 SRPName:
OriNexthop: :: ExtBandwidth:0
RefCnt: 1 FlushRefCnt: 0
Flag: 0x12 Version: 1
ExtFlag: 0x0
1 nexthop(s):
PrefixIndex: 0 OrigNexthop: 3::4
RelyDepth: 1 RealNexthop: ::
Interface: GE1/0/1 LocalAddr: ::
TunnelCnt: 0 Vrf: default-vrf
TunnelID: N/A Topology:
Weight: 0 Flags: 0x0
SRPolicyNID: 4294967295 SRInterface:
ColorWeight: 0 Locator: N/A
OrigLinkID: 0x0 RealLinkID: 0x0
Bandwidth: 0
...
表1-2 display ipv6 route-static nib verbose命令显示信息描述表
字段 |
描述 |
Total number of nexthop(s) |
总的NIB个数 |
NibID |
NIB ID号 |
Sequence |
NIB序列号 |
Type |
NIB类型 |
Flushed |
是否下刷FIB |
Age |
下一跳信息最近一次更新的时间 |
UserKey0 |
NIB协议保留数据1 |
UserKey1 |
NIB协议保留数据2 |
UserKey2 |
NIB协议保留数据3 |
UserKey3 |
NIB协议保留数据4 |
VrfNthp |
下一跳所在VPN索引,显示为0表示公网 |
Nexthop |
下一跳信息 |
IFIndex |
接口索引 |
LocalAddr |
本地接口地址 |
TopoNthp |
下一跳所在拓扑索引,显示为0表示公网拓扑(目前IPv6不支持子拓扑,显示为Invalid) |
ExtType |
下一跳扩展类型 |
Color |
Color扩展团体属性 |
COFlag |
Color的下一跳标志位 |
LinkID |
SDWAN TTE连接的Link ID |
SIDIndex |
SID的索引值 |
SRPName |
(暂不支持)SR-MPLS TE Policy的名称 |
OriNexthop |
路由的原始下一跳地址,如果是从BGP更新消息中获得的路由,则该地址为接收到的消息中的下一跳IP地址 |
ExtBandwidth |
来自BGP协议的链路带宽属性值 |
AS-path |
下一跳携带的AS号,取值为BGP路由AS_PATH属性中由近到远的前两个AS号,以空格分隔。如果不存在这样的AS号,则显示为0 |
x nexthop(s) |
下一跳具体值(前面数值表示下一跳个数) |
PrefixIndex |
等价时下一跳序号 |
Vrf |
VPN实例名,显示为default-vrf表示公网 |
OrigNexthop |
原始下一跳 |
RealNexthop |
真实下一跳 |
Interface |
出接口 |
localAddr |
本地接口地址 |
RelyDepth |
迭代深度 |
TunnelCnt |
迭代到隧道的个数 |
TunnelID |
迭代到隧道的ID |
Topology |
(暂不支持)拓扑名称,显示为base表示公网拓扑(目前IPv6不支持子拓扑,显示为空) |
Weight |
等价路由各路由的权重,取值为0表示不是等价路由 |
RefCnt |
下一跳信息的引用计数 |
FlushRefCnt |
下一跳信息的下刷引用计数 |
Flag |
下一跳信息的标志位 |
Version |
下一跳信息的版本号 |
ExtFlag |
下一跳信息的扩展标志位 |
Flags |
当前下一跳的标志位 |
SRPolicyNID |
(暂不支持)SR-MPLS TE Policy迭代路由的下一跳ID |
SRInterface |
(暂不支持)SR-MPLS TE Policy迭代路由的出接口 |
ColorWeight |
(暂不支持)SR-MPLS TE Policy中Color的权重值 |
Locator |
SID所属Locator段的IPv6前缀,N/A表示没有该属性 |
OrigLinkID |
SDWAN TTE连接的原始Link ID |
RealLinkID |
SDWAN TTE连接的真实Link ID |
Bandwidth |
来自IGP协议或接口配置的链路带宽属性值 |
display ipv6 route-static routing-table命令用来显示IPv6静态路由表信息。
【命令】
display ipv6 route-static routing-table [ vpn-instance vpn-instance-name ] [ ipv6-address prefix-length ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
vpn-instance vpn-instance-name:显示指定VPN的信息。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果未指定本参数,则显示公网的信息。
ipv6-address:目的IPv6地址。
prefix-length:前缀长度,取值范围为0~128。
【举例】
# 显示IPv6静态路由表信息。
<Sysname> display ipv6 route-static routing-table
Total number of routes: 5
Status: * - valid
*Destination: 1::1/128
NibID: 0x21000000 NextHop: 2::2
MainNibID: N/A BkNextHop: N/A
BkNibID: N/A Interface: GigabitEthernet0/0/1
TableID: 0xa BkInterface: N/A
Flag: 0x80d0a BfdSrcIp: N/A
DbIndex: 0x3 BfdIfIndex: 0x0
Type: Normal BfdVrfIndex: 0
TrackIndex: 0xffffffff Label: NULL
Preference: 60 vrfIndexDst: 0
BfdMode: N/A vrfIndexNH: 0
Permanent: 0 Tag: 0
MicroSegID: 0 RecurseMaskLen: N/A
*Destination: 1::1234/128
NibID: 0x21000000 NextHop: 2::2
MainNibID: N/A BkNextHop: N/A
BkNibID: N/A Interface: NULL0
TableID: 0xa BkInterface: N/A
Flag: 0x80d0a BfdSrcIp: N/A
DbIndex: 0x1 BfdIfIndex: 0x0
Type: Normal BfdVrfIndex: 0
TrackIndex: 0xffffffff Label: NULL
Preference: 60 vrfIndexDst: 0
BfdMode: N/A vrfIndexNH: 0
Permanent: 0 Tag: 0
MicroSegID: 0 RecurseMaskLen: N/A
...
表1-3 display ipv6 route-static routing-table命令显示信息描述表
字段 |
描述 |
Total number of routes |
总的路由条数 |
Destination |
目的地址/掩码 |
NibID |
下一跳信息ID |
MainNibID |
FRR静态路由主下一跳信息ID |
BkNibID |
FRR静态路由备下一跳信息ID |
NextHop |
此路由的下一跳地址 |
BkNextHop |
此路由的备份下一跳地址 |
Interface |
出接口,即到该目的网段的数据包将从此接口发出(当路由迭代到SRv6 TE Policy或SR-MPLS TE Policy时,出接口显示为该Policy的名称) |
BkInterface |
备份出接口(当路由迭代到SRv6 TE Policy或SR-MPLS TE Policy时,出接口显示为该Policy的名称) |
TableID |
路由所在的表ID |
Flag |
路由标志位 |
DbIndex |
路由所在DB的DB索引 |
Type |
路由类型: · Normal:普通类型的静态路由 · DHCP:DHCP类型的静态路由 · NAT:NAT类型的静态路由 |
BfdSrcIp |
BFD非直连会话源地址 |
BfdIfIndex |
BFD使用的接口索引 |
BfdVrfIndex |
BFD所在VPN索引,显示为0表示公网 |
BfdMode |
BFD模式: · N/A:未配置BFD会话 · Ctrl:控制报文方式的BFD会话 · Echo:echo报文方式的BFD会话 |
TrackIndex |
NQA Track索引 |
Label |
标签 |
Preference |
路由优先级 |
vrfIndexDst |
目的所在VPN,显示为0表示公网 |
vrfIndexNH |
下一跳所在VPN,显示为0表示公网 |
Permanent |
永久静态路由标志(1表示永久静态路由) |
Tag |
路由标记 |
MicroSegID |
(暂不支持)路由携带的微分段ID |
RecurseMaskLen |
路由迭代时精确匹配的掩码长度(N/A表示采用最长匹配原则进行路由迭代) |
ipv6 route-static命令用来配置IPv6静态路由。
undo ipv6 route-static命令用来删除指定的IPv6静态路由。
【命令】
ipv6 route-static ipv6-address prefix-length interface-type interface-number [ next-hop-address ] [ bfd { { control-packet | echo-packet } [ bfd-source ipv6-address ] | static session-name } | permanent | track track-entry-number ] [ preference preference ] [ tag tag-value ] [ recursive-lookup ] [ description text ]
ipv6 route-static ipv6-address prefix-length interface-type interface-number next-hop-address track-nd [ preference preference ] [ tag tag-value ] [ description text ]
ipv6 route-static ipv6-address prefix-length interface-type interface-number gateway [ bfd { { control-packet | echo-packet } [ bfd-source ipv6-address ] | static session-name } | track track-entry-number ] [ preference preference ] [ tag tag-value ] [ description text ]
ipv6 route-static ipv6-address prefix-length next-hop-address [ recursive-lookup { host-route | longest-match } ] [ bfd { control-packet bfd-source ipv6-address | static session-name } | permanent | track track-entry-number ] [ preference preference ] [ tag tag-value ] [ recursive-lookup ] [ description text ]
ipv6 route-static ipv6-address prefix-length vpn-instance d-vpn-instance-name next-hop-address [ recursive-lookup { host-route | longest-match } ] [ bfd { control-packet bfd-source ipv6-address | static session-name } | permanent | track track-entry-number ] [ preference preference ] [ tag tag-value ] [ recursive-lookup ] [ description text ]
undo ipv6 route-static ipv6-address prefix-length [ interface-type interface-number [ next-hop-address | gateway ] | [ vpn-instance d-vpn-instance-name ] next-hop-address ] [ preference preference ]
ipv6 route-static ipv6-address prefix-length srv6-policy { color color-value end-point { ipv4 ipv4-address | ipv6 ipv6-address } | name policy-name } [ sid sid [ block block-value compress-flavor { coc-next | next [ wlib ] } ] ] [ preference preference ] [ tag tag-value ] [ description text ]
undo ipv6 route-static ipv6-address prefix-length srv6-policy [ color color-value end-point { ipv4 ipv4-address | ipv6 ipv6-address } | name policy-name ] [ preference preference ]
【缺省情况】
未配置IPv6静态路由。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
ipv6-address prefix-length:IPv6地址及前缀长度。如果配置的IPv6静态路由指定目的地址为::/0(前缀长度为0),则表示配置了一条IPv6缺省路由。如果报文的目的地址无法匹配路由表中的任何一项,设备将选择IPv6缺省路由来转发IPv6报文。
interface-type interface-number:路由出接口的类型和编号。对于接口类型为非P2P接口(包括NBMA类型接口或广播类型接口),必须指定下一跳地址。
next-hop-address:下一跳IPv6地址。
gateway:使用接口在自动配置IPv6地址过程中获取的网关地址作为IPv6静态路由的下一跳地址。当网关地址发生变化时,设备自动将IPv6静态路由下一跳地址修改为变化后的网关地址。有关自动配置IPv6地址的详细介绍,请参见“三层技术-IP业务配置指导”中的“IPv6基础”和“DHCPv6”。
recursive-lookup host-route:指定IPv6静态路由只能迭代到主机路由。当使用本参数指定静态路由迭代到主机路由时,需要在本端下一跳对应的出接口以及对端接口上配置ipv6 nd route-direct advertise命令开启ND直连路由通告功能,通告128位主机路由。
recursive-lookup longest-match:指定IPv6静态路由迭代到前缀长度最长匹配的路由。
bfd:使能BFD(Bidirectional Forwarding Detection,双向转发检测)功能,对静态路由下一跳的可达性进行快速检测。
control-packet:通过BFD控制报文方式实现BFD功能。
echo-packet:通过BFD echo报文方式实现BFD功能。
bfd-source ipv6-address:BFD源IPv6地址。
static session-name:将静态路由与静态BFD会话相关联。session-name表示静态BFD会话名称,为1~64个字符的字符串,区分大小写。指定的静态BFD会话可以不存在,但要使配置生效,必须创建静态BFD会话。
permanent:指定为永久IPv6静态路由。指定该参数后,如果对应的IPv6静态路由当前为激活状态,则后续无论出接口状态是Up还是Down,该路由均保持active状态,并始终保留在IPv6路由表中。如果IPv6静态路由未曾激活过,即便配置了permanent参数,该路由也不会出现在IPv6路由表中。
track track-entry-number:将IPv6静态路由与Track项相关联,track-entry-number为Track项的序号,取值范围为1~1024。关于Track的详细介绍,请参见“可靠性配置指导”中的“Track”。
track-nd:将静态路由与下一跳对应的ND表项相关联。指定本参数后,当IPv6静态路由下一跳对应的ND表项不存在时,该IPv6静态路由不激活。如果不指定本参数,则IPv6静态路由的激活状态与ND表项无关。通过指定本参数配置IPv6静态路由与下一跳对应的ND表项联动,建议通过ipv6 route-static nd-request命令配置设备周期性向IPv6静态路由下一跳发送ND请求,以免ND表项老化导致该IPv6静态路由不激活。
vpn-instance d-vpn-instance-name:指定目的VPN。d-vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果指定目的VPN实例,但未指定next-hop-address参数,则IPv6静态路由将在目的VPN实例中查找出接口。如果指定目的VPN,且指定next-hop-address参数,IPv6静态路由将根据配置的下一跳IPv6地址在目的VPN中查找出接口。
preference preference:路由的优先级,取值范围为1~255,缺省值为60。优先级数值越小,该路由越优先。对于为同一目的地配置多条路由,如果指定相同的优先级,则实现路由负载分担;如果指定不同的优先级,则实现路由备份。
tag tag-value:静态路由Tag值,用于标识该条静态路由,以便在路由策略中根据Tag对路由进行灵活的控制。tag-value的取值范围为1~4294967295,缺省值为0。关于路由策略的详细信息,请参见“三层技术-IP路由配置指导”中的“路由策略”。
recursive-lookup:开启IPv6静态路由下一跳循环迭代功能(即允许迭代到更大网段的路由)。如果不指定本参数,则表示关闭IPv6静态路由的下一跳循环迭代功能。
description text:静态路由描述信息。text为1~150个字符的字符串,除“?”外,可以包含空格等特殊字符。
srv6-policy name policy-name:配置IPv6静态路由迭代到指定名称的SRv6 TE Policy。policy-name表示SRv6 TE Policy名称,为1~59个字符的字符串,区分大小写。有关SRv6 TE Policy的详细介绍,请参见“Segment Routing配置指导”中的“SRv6 TE Policy”。
srv6-policy color color-value end-point ipv4 ipv4-address:配置IPv6静态路由迭代到指定Color值和目的节点地址的SRv6 TE Policy。color-value表示SRv6 TE Policy的Color值,取值范围1~4294967295。ipv4-address表示目的节点的IPv4地址。非缺省vSystem不支持本参数。
srv6-policy color color-value end-point ipv6 ipv6-address:配置IPv6静态路由迭代到指定Color值和目的节点地址的SRv6 TE Policy。color-value表示SRv6 TE Policy的Color值,取值范围1~4294967295。ipv6-address表示SRv6 TE Policy的Endpoint地址。
sid sid:指定尾节点的SRv6 SID。报文经SRv6 TE Policy转发后,再依据该SRv6 SID继续进行转发。
block block-length:指定16-bit压缩的G-SID的Block部分的长度,即G-SID的公共长度。其中block-length取值范围为16~88。如果不指定该参数,表示不对SID进行压缩。
compress-flavor:指定SRv6 SID携带的附加行为。
coc-next:SRv6 SID同时携带COC和NEXT附加行为,表示该SRv6 SID支持“替换”和“位移”操作。
next [ wlib ]:SRv6 SID携带NEXT附加行为,表示该SRv6 SID支持“位移”操作。如果指定了wlib参数,则表示指定的SRv6 SID必须是从wlib模式的coc16类型Locator段的W-LIB空间(Wide Local Identifiers Block,扩展LIB)中分配的,并且该SID携带NEXT附加行为。该SID封装时需要封装32bit信息,包括16bit压缩Function部分和扩展的16bit W-LIB空间部分。未指定wlib参数时,则表示压缩封装时仅封装16bit的压缩Function部分。
【使用指导】
当网络结构比较简单时,只需配置静态路由就可以使网络正常工作。当设备不能使用动态路由协议或者不能建立到达目的网络的路由时,也可以使用静态路由。
在配置静态路由时,可以指定出接口(interface-type interface-number),也可指定下一跳地址(next-hop-address),具体采用哪种方法,需要根据实际情况而定:
· 如果出接口类型为广播或者NBMA类型,必须指定下一跳地址。
· 如果出接口类型为点到点类型,配置时可以只指定出接口,不指定下一跳地址。这样,即使对端地址发生了变化也无须改变配置。
配置IPv6静态路由与BFD联动时,需要注意的是:
· 对于直连下一跳,当指定的出接口类型为非P2P接口时,建议用户通过bfd-source命令指定BFD源IPv6地址,该地址必须为出接口的IPv6地址,且与下一跳IPv6地址处在同一网段。如果下一跳IPv6地址指定的是链路本地地址,本参数也必须是链路本地地址。
· 对于直连下一跳或者非直连下一跳,如果要指定BFD源IPv6地址,那么下一跳IPv6地址和BFD源IPv6地址必须成对配置,即本端指定的下一跳IPv6地址是对端的BFD源IPv6地址,本端指定的BFD源IPv6地址是对端的下一跳IPv6地址。
配置IPv6静态路由时需要注意的是:
· 路由震荡时,使能BFD检测功能可能会加剧震荡,需谨慎使用。关于BFD的详细介绍,请参考“可靠性配置指导”中的“BFD”。
· 配置BFD echo报文方式时,下一跳IPv6地址必须为全球单播地址。
· 参数permanent不能和bfd一起进行配置。
如果未指定recursive-lookup longest-match和recursive-lookup host-route参数,则IPv6静态路由优先迭代到直连路由。仅当未查找到匹配的直连路由时,才会迭代到前缀长度最长匹配的路由。上述机制可能会引发如下问题:设备直连路由的目的地址网段包含IPv6静态路由的下一跳地址时,IPv6静态路由会迭代下一跳至该直连路由,此时设备认为静态路由的下一跳地址为本地直连,而该下一跳可能是错误的下一跳,导致匹配该IPv6静态路由的报文转发失败。指定recursive-lookup longest-match参数后,IPv6静态路由会迭代到前缀长度最长匹配的路由,以保证迭代到正确的下一跳。指定recursive-lookup host-route参数后,IPv6静态路由只能迭代到前缀长度为128的主机路由,只有当主机路由可达时,该IPv6静态路由才会激活。
配置IPv6静态路由关联Track项时,如果Track模块通过NQA探测私网静态路由中下一跳的可达性,静态路由下一跳的VPN实例号与NQA测试组配置的实例号必须相同,才能进行正常的探测。
IPv6静态路由进行路由迭代时,若迭代路由的目的地址范围包含该IPv6静态路由的目的地址,例如某条IPv6静态路由4::2/64的迭代路由的目的地址为4::2/48,则认为发生了循环迭代。在开启IPv6静态路由下一跳循环迭代功能之前,循环迭代会导致本次迭代失败并继续进行路由迭代。在开启IPv6静态路由下一跳循环迭代功能之后,只要迭代路由的出接口为设备的直连出接口,则即使发生了循环迭代,也认为本次迭代成功。经过循环迭代找到出接口的IPv6静态路由不允许被其他路由协议发布到其他设备。
参数recursive-lookup host-route和recursive-lookup互斥,不能同时配置。
【举例】
# 配置IPv6静态路由,该路由的目的地址为1:1:2::/64,下一跳地址为1:1:3::1。
<Sysname> system-view
[Sysname] ipv6 route-static 1:1:2:: 64 1:1:3::1
【相关命令】
· display ipv6 routing-table protocol(三层技术-IP路由命令参考/IP路由基础)
·
ipv6 route-static bfd命令用来配置IPv6静态路由的BFD会话参数。
undo ipv6 route-static bfd命令用来取消IPv6静态路由BFD会话参数的配置。
【命令】
控制报文方式单跳检测和echo报文方式检测的BFD会话参数:
ipv6 route-static bfd interface-type interface-number next-hop-address { detect-multiplier detect-multiplier | min-echo-receive-interval min-echo-receive-interval | min-receive-interval min-receive-interval | min-transmit-interval min-transmit-interval }*
undo ipv6 route-static bfd interface-type interface-number next-hop-address
控制报文方式多跳检测的会话参数:
ipv6 route-static bfd [ vpn-instance d-vpn-instance-name ] next-hop-address source-ipv6 ipv6-address { detect-multiplier detect-multiplier | min-receive-interval min-receive-interval | min-transmit-interval min-transmit-interval } *
undo ipv6 route-static bfd [ vpn-instance s-vpn-instance-name ] next-hop-address
【缺省情况】
未配置IPv6静态路由的BFD会话参数,使用通用BFD会话参数作为IPv6静态路由的BFD会话参数。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
interface-type interface-number:指定静态路由的出接口类型和接口号。
vpn-instance d-vpn-instance-name:指定目的VPN实例。d-vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果未指定本参数,表示IPv6静态路由的下一跳位于公网。
next-hop-address:指定路由的下一跳IPv6地址。
source-ipv6 ipv6-address:指定BFD报文的源IPv6地址。
detect-multiplier detect-multiplier:BFD检测时间倍数,取值范围为3~50。缺省值为5。
min-echo-receive-interval min-echo-receive-interval:接收echo报文的最小时间间隔,单位为毫秒。
本参数的取值范围和缺省值与设备的型号有关,请以设备的实际情况为准。
型号 |
说明 |
MSR1008 |
取值范围为30~10000 |
MSR1004-G |
取值范围为30~10000 |
MSR1004-G-5GCN |
取值范围为30~10000 |
MSR2630E-X1 |
取值范围为10~10000 |
MSR3610E-X1、MSR3610E-X1-DP |
取值范围为10~10000 |
MSR3610-G-X3-DP、MSR3610-G-X3、MSR3610-G-X3-DP-DC、 MSR3610-G-X3-DC |
取值范围为10~10000 |
MSR3620-G-X3 |
取值范围为10~10000 |
型号 |
说明 |
MSR2660-XS |
取值范围为30~10000 |
MSR2680-XS |
取值范围为10~10000 |
型号 |
说明 |
MSR2600-12X-WiNet |
取值范围为30~10000 |
MSR2610-13X-WiNet |
取值范围为10~10000 |
min-receive-interval min-receive-interval:接收BFD控制报文的最小时间间隔,单位为毫秒。
本参数的取值范围和缺省值与设备的型号有关,请以设备的实际情况为准。
型号 |
说明 |
MSR1008 |
取值范围为30~10000 |
MSR1004-G |
取值范围为30~10000 |
MSR1004-G-5GCN |
取值范围为30~10000 |
MSR2630E-X1 |
取值范围为10~10000 |
MSR3610E-X1、MSR3610E-X1-DP |
取值范围为10~10000 |
MSR3610-G-X3-DP、MSR3610-G-X3、MSR3610-G-X3-DP-DC、 MSR3610-G-X3-DC |
取值范围为10~10000 |
MSR3620-G-X3 |
取值范围为10~10000 |
型号 |
说明 |
MSR2660-XS |
取值范围为30~10000 |
MSR2680-XS |
取值范围为10~10000 |
型号 |
说明 |
MSR2600-12X-WiNet |
取值范围为30~10000 |
MSR2610-13X-WiNet |
取值范围为10~10000 |
min-transmit-interval min-transmit-interval:发送BFD控制报文的最小时间间隔,单位为毫秒。
本参数的取值范围和缺省值与设备的型号有关,请以设备的实际情况为准。型号 |
说明 |
MSR1008 |
取值范围为30~10000 |
MSR1004-G |
取值范围为30~10000 |
MSR1004-G-5GCN |
取值范围为30~10000 |
MSR2630E-X1 |
取值范围为10~10000 |
MSR3610E-X1、MSR3610E-X1-DP |
取值范围为10~10000 |
MSR3610-G-X3-DP、MSR3610-G-X3、MSR3610-G-X3-DP-DC、 MSR3610-G-X3-DC |
取值范围为10~10000 |
MSR3620-G-X3 |
取值范围为10~10000 |
型号 |
说明 |
MSR2660-XS |
取值范围为30~10000 |
MSR2680-XS |
取值范围为10~10000 |
型号 |
说明 |
MSR2600-12X-WiNet |
取值范围为30~10000 |
MSR2610-13X-WiNet |
取值范围为10~10000 |
【使用指导】
当配置静态路由与BFD联动时,通过本命令可为单条静态路由配置BFD会话参数。
通过本命令可为单条IPv6静态路由指定BFD会话参数。IPv6静态路由BFD会话的检测时间=detect-multiplier×max(min-echo-receive-interval,min-receive-interval,min-transmit-interval),关于实际检测时间的计算方法请参见“可靠性命令参考”中的“BFD”。
IPv6静态路由获取BFD会话参数的机制如下:
· 如果未通过本命令配置任何IPv6静态路由的BFD会话参数,则所有IPv6静态路由均使用通用BFD会话参数。
· 如果配置了IPv6静态路由的BFD会话参数,获取BFD会话参数的方式如下:
¡ 对于使用echo报文方式或控制报文方式单跳检测的IPv6静态路由,根据出接口和下一跳IPv6地址获取BFD会话参数。
¡ 对于使用控制报文方式多跳检测的IPv6静态路由,根据下一跳IPv6地址与BFD源IPv6地址获取BFD会话参数。对于在目的VPN中查找出接口的IPv6静态路由,根据VPN实例、下一跳IPv6地址与BFD源IPv6地址获取BFD会话参数。
¡ 如果本命令仅配置了部分BFD会话参数,则对于配置的BFD会话参数,IPv6静态路由使用本命令配置的值;对于未配置的参数,IPv6静态路由使用通用BFD会话参数。
指定了静态路由的出接口类型和接口号时,对于不同方式的BFD会话,能够生效的参数不同,具体如下:
· 对于echo报文方式的BFD会话,仅min-echo-receive-interval和detect-multiplier参数可以生效。
· 对于控制报文方式单跳检测的BFD会话,仅min-receive-interval、min-transmit-interval和detect-multiplier参数可以生效。
【举例】
# 为出接口为GigabitEthernet0/0/1、下一跳地址为1:2::3:4的IPv6静态路由配置BFD会话参数:BFD检测时间倍数为20,接收BFD echo报文的最小时间间隔为1000毫秒。
<Sysname> system-view
[Sysname] ipv6 route-static bfd gigabitethernet 0/0/1 1:2::3:4 detect-multiplier 20 min-echo-receive-interval 1000
ipv6 route-static default-preference命令用来配置IPv6静态路由的缺省优先级。
undo ipv6 route-static default-preference命令用来恢复缺省情况。
【命令】
ipv6 route-static default-preference default-preference
undo ipv6 route-static default-preference
【缺省情况】
IPv6静态路由的缺省优先级为60。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
default-preference:IPv6静态路由缺省优先级的值,取值范围为1~255。数值越小,表示该路由越优先。
【使用指导】
如果在配置IPv6静态路由时没有指定优先级,就会使用缺省优先级。
重新配置缺省优先级后,新设置的缺省优先级仅对新增的IPv6静态路由有效。
【举例】
# 配置IPv6静态路由的缺省优先级为120。
<Sysname> system-view
[Sysname] ipv6 route-static default-preference 120
【相关命令】
· display ipv6 routing-table protocol(三层技术-IP路由命令参考/IP路由基础)
ipv6 route-static fast-reroute auto命令用来开启IPv6静态路由自动快速重路由功能。
undo ipv6 route-static fast-reroute auto命令用来关闭IPv6静态路由自动快速重路由功能。
【命令】
ipv6 route-static fast-reroute auto
undo ipv6 route-static fast-reroute auto
【缺省情况】
IPv6静态路由自动快速重路由功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【举例】
# 开启IPv6静态路由自动快速重路由功能。
<Sysname> system-view
[Sysname] ipv6 route-static fast-reroute auto
ipv6 route-static nd-request命令用来开启向IPv6静态路由下一跳发送ND请求的功能。
undo ipv6 route-static nd-request命令用来关闭向IPv6静态路由下一跳发送ND请求功能。
【命令】
ipv6 route-static nd-request [ interval interval ]
undo ipv6 route-static nd-request
【缺省情况】
向IPv6静态路由下一跳发送ND请求功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
interval:发送ND请求的时间间隔,取值范围为1~300,单位为秒,缺省值为5。
【使用指导】
设备上存在如下类型IPv6静态路由时,建议配置本命令:
· 迭代到主机路由的IPv6静态路由,即按照路由策略迭代到主机路由(通过protocol nexthop recursive-lookup命令配置)的IPv6静态路由。如果因下一跳主机地址对应的ND表项无法及时更新为老化删除,会导致设备的IPv6路由表中不存在直接相连的邻居设备的主机路由,从而导致路由迭代失败、该IPv6静态路由无法激活。
· 指定了track-nd参数将下一跳与ND表项相关联的IPv6静态路由。如果设备上该下一跳地址对应的ND表项无法及时更新而老化删除,会造成该IPv6静态路由不激活。
配置本命令后,对于迭代到主机路由的IPv6静态路由,设备将按照设置的时间间隔周期性地向不带出接口且下一跳迭代主机路由失败的IPv6静态路由下一跳发送ND请求,当收到主机的ND应答后,设备会将该主机路由添加到路由表中,迭代到该主机路由的IPv6静态路由便会自动激活,这时设备停止向该IPv6静态路由下一跳发送ND请求;对于指定了track-nd参数将下一跳与ND表项相关联的IPv6静态路由,设备将按照设置的时间间隔周期性地向关ND表项的IPv6静态路由下一跳发送ND请求,当收到下一跳的ND应答后,该IPv6静态路由便会自动激活,这时设备停止向该IPv6静态路由下一跳发送ND请求。
关于ND的详细介绍,请参见“三层技术-IP业务配置指导”中的“IPv6邻居发现”。
【举例】
# 开启向IPv6静态路由下一跳发送ND请求功能,并设置发送时间间隔为10秒。
<Sysname> system-view
[Sysname] ipv6 route-static nd-request interval 10
【相关命令】
· ipv6 route-static
· protocol nexthop recursive-lookup(三层技术-IP路由命令参考/IP路由基础)
ipv6 route-static primary-path-detect bfd echo命令用来开启IPv6静态路由中主用链路的BFD(Echo方式)检测功能。
undo ipv6 route-static primary-path-detect bfd命令用来关闭IPv6静态路由中主用链路的BFD(Echo方式)检测功能。
【命令】
ipv6 route-static primary-path-detect bfd echo
undo ipv6 route-static primary-path-detect bfd
【缺省情况】
IPv6静态路由中主用链路的BFD(Echo方式)检测功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
当用户在设备上配置了静态路由快速重路由功能后,执行本命令可以让设备快速检测到快速重路由主用链路的故障,从而减少流量丢失。
如果静态路由快速重路由功能形成了主备下一跳,则用户配置本命令后,设备会自动建立echo方式的BFD会话检测主路由的下一跳。该BFD会话信息的源地址为本端设备IP地址,目的地址为主路由的下一跳地址。执行display bfd session命令可以查看BFD会话信息。
如果用户没有配置静态路由快速重路由功能,或者配置了快速重路由功能但是没找到可达的备用下一跳,则设备无法建立检测主路由下一跳的BFD会话。
【举例】
# 开启IPv6静态路由快速重路由特性中主用链路使能BFD(Echo方式)功能。
<Sysname> system-view
[Sysname] ipv6 route-static primary-path-detect bfd echo
ipv6 route-static recursive-lookup segment-routing-ipv6命令用来配置允许IPv6静态路由继承迭代路由的SRv6 SID信息。
undo ipv6 route-static recursive-lookup segment-routing-ipv6命令用来恢复缺省情况。
【命令】
ipv6 route-static recursive-lookup segment-routing-ipv6
undo ipv6 route-static recursive-lookup segment-routing-ipv6
【缺省情况】
不允许IPv6静态路由继承迭代路由的SRv6 SID信息。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
如果IPv6静态路由的下一跳不是直连的,则需要进行路由迭代。当IPv6静态路由的下一跳迭代到SRv6 BE或SRv6 TE Policy路径时,缺省情况下,IPv6静态路由不会继承迭代路由的SRv6 SID信息,即设备不会为满足匹配该IPv6静态路由的报文添加迭代路由的SRv6 SID信息。
配置本功能后,如果IPv6静态路由的下一跳迭代到了SRv6 BE或SRv6 TE Policy路径,则IPv6静态路由会继承迭代路由的SRv6 SID信息,设备会对匹配该IPv6静态路由的报文添加SID信息,然后添加SRv6封装信息、并将封装后的报文以SRv6 BE方式或通过SRv6 TE Policy转发出去。有关SRv6 BE的详细介绍,请参见“Segment Routing配置指导”中的“IP L3VPN over SRv6”或“公网IP over SRv6”。有关SRv6 TE Policy的详细介绍,请参见“Segment Routing配置指导”中的“SRv6 TE Policy”。
【举例】
# 配置允许IPv6静态路由继承迭代路由的SRv6 SID信息。
<Sysname> system-view
[Sysname] ipv6 route-static recursive-lookup segment-routing-ipv6
ipv6 route-static recursive-lookup tunnel命令用来配置允许IPv6静态路由迭代到SRv6 TE Policy隧道或LSP隧道。
undo ipv6 route-static recursive-lookup tunnel命令用来恢复缺省情况。
【命令】
ipv6 route-static recursive-lookup [ srv6-policy ] tunnel [ prefix-list ipv6-prefix-list-name ] [ tunnel-policy tunnel-policy-name | tunnel-selector tunnel-selector-name ]
undo ipv6 route-static recursive-lookup [ srv6-policy ] tunnel
【缺省情况】
IPv6静态路由不能迭代到SRv6 TE Policy隧道或LSP隧道。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
srv6-policy:允许IPv6静态路由迭代到SRv6 TE Policy隧道。如果未指定本参数,表示允许IPv6静态路由迭代到LSP隧道。
prefix-list ipv6-prefix-list-name:IPv6地址前缀列表名,为1~63个字符的字符串,区分大小写。只有通过IPv6地址前缀列表过滤的IPv6静态路由才能迭代到SRv6 TE Policy隧道或LSP隧道。如果未指定本参数,则允许所有IPv6静态路由迭代到SRv6 TE Policy隧道或LSP隧道。
tunnel-policy tunnel-policy-name:IPv6静态路由只能迭代到满足相应隧道策略的SRv6 TE Policy隧道或LSP隧道。tunnel-policy-name表示隧道策略名称,为1~19字符的字符串,区分大小写。
tunnel-selector tunnel-selector-name:IPv6静态路由只能迭代到满足相应隧道策略的SRv6 TE Policy隧道或LSP隧道。tunnel-selector-name表示隧道迭代器名称,为1~40个字符的字符串,区分大小写。
【使用指导】
缺省情况下,IPv6静态路由只能根据IP转发迭代到出接口和下一跳地址,不会迭代到SRv6 TE Policy隧道或LSP隧道。配置了本命令后,IPv6静态路由将优先迭代到SRv6 TE Policy隧道或LSP隧道。迭代SRv6 TE Policy隧道或LSP隧道失败后,可以按照IP转发迭代到出接口和下一跳。
如果未指定tunnel-policy tunnel-policy-name或tunnel-selector tunnel-selector-name参数,则IPv6静态路由可以迭代到任意SRv6 TE Policy隧道或LSP隧道。
在系统视图下多次执行本命令,最后一次执行的命令生效。
【举例】
# 配置允许IPv6静态路由迭代到LSP隧道。
<Sysname> system-view
[Sysname] ipv6 route-static recursive-lookup tunnel
ipv6 route-static vpn-instance命令用来为VPN实例配置IPv6静态路由。
undo ipv6 route-static vpn-instance命令用来删除为VPN实例配置的IPv6静态路由。
【命令】
ipv6 route-static vpn-instance s-vpn-instance-name ipv6-address prefix-length interface-type interface-number [ next-hop-address ] [ bfd { { control-packet | echo-packet } [ bfd-source ipv6-address ] | static session-name } | permanent | track track-entry-number ] [ preference preference ] [ tag tag-value ] [ recursive-lookup ] [ description text ]
ipv6 route-static vpn-instance s-vpn-instance-name ipv6-address prefix-length interface-type interface-number next-hop-address track-nd [ preference preference ] [ tag tag-value ] [ description text ]
ipv6 route-static vpn-instance s-vpn-instance-name ipv6-address prefix-length interface-type interface-number gateway [ bfd { { control-packet | echo-packet } [ bfd-source ipv6-address ] | static session-name } | track track-entry-number ] [ preference preference ] [ tag tag-value ] [ no-advertise ] [ description text ]
ipv6 route-static vpn-instance s-vpn-instance-name ipv6-address prefix-length next-hop-address [ recursive-lookup { host-route | longest-match } ] [ public ] [ bfd { control-packet bfd-source ipv6-address | static session-name } | permanent | track track-entry-number ] [ preference preference ] [ tag tag-value ] [ recursive-lookup ] [ description text ]
ipv6 route-static vpn-instance s-vpn-instance-name ipv6-address prefix-length vpn-instance d-vpn-instance-name next-hop-address [ recursive-lookup { host-route | longest-match } ] [ bfd { control-packet bfd-source ipv6-address | static session-name } | permanent | track track-entry-number ] [ preference preference ] [ tag tag-value ] [ recursive-lookup ] [ description text ]
undo ipv6 route-static vpn-instance s-vpn-instance-name ipv6-address prefix-length [ interface-type interface-number [ next-hop-address | gateway ] | next-hop-address [ public ] | vpn-instance d-vpn-instance-name next-hop-address ] [ preference preference ]
ipv6 route-static vpn-instance s-vpn-instance-name ipv6-address prefix-length { public | vpn-instance d-vpn-instance-name } [ track track-entry-number ] [ preference preference ] [ tag tag-value ] [ description text ]
undo ipv6 route-static vpn-instance s-vpn-instance-name ipv6-address prefix-length [ public | vpn-instance d-vpn-instance-name ] [ preference preference ]
ipv6 route-static vpn-instance s-vpn-instance-name ipv6-address prefix-length srv6-policy { color color-value end-point { ipv4 ipv4-address | ipv6 ipv6-address } | name policy-name } [ sid sid [ block block-value compress-flavor { coc-next | next [ wlib ] } ] ] [ preference preference ] [ tag tag-value ] [ description text ]
undo ipv6 route-static vpn-instance s-vpn-instance-name ipv6-address prefix-length srv6-policy [ color color-value end-point { ipv4 ipv4-address | ipv6 ipv6-address } | name policy-name ] [ preference preference ]
【缺省情况】
未为VPN实例配置IPv6静态路由。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
vpn-instance s-vpn-instance-name:指定源VPN。s-vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。每个VPN都有自己的路由表,配置的IPv6静态路由将被加入指定VPN的路由表。
ipv6-address prefix-length:IPv6地址及前缀长度。如果配置的IPv6静态路由指定目的地址为::/0(前缀长度为0),则表示配置了一条IPv6缺省路由。如果报文的目的地址无法匹配路由表中的任何一项,设备将选择IPv6缺省路由来转发IPv6报文。
interface-type interface-number:路由出接口的类型和编号。对于接口类型为非P2P接口(包括NBMA类型接口或广播类型接口),必须指定下一跳地址。
next-hop-address:下一跳IPv6地址。
gateway:使用接口在自动配置IPv6地址过程中获取的网关地址作为IPv6静态路由的下一跳地址。当网关地址发生变化时,设备自动将IPv6静态路由下一跳地址修改为变化后的网关地址。有关自动配置IPv6地址的详细介绍,请参见“三层技术-IP业务配置指导”中的“IPv6基础”和“DHCPv6”。
recursive-lookup host-route:指定IPv6静态路由只能迭代到主机路由。当使用recursive-lookup host-route参数指定静态路由迭代到主机路由时,需要在本端下一跳对应的出接口以及对端接口上配置ipv6 nd route-direct advertise命令开启ND直连路由通告功能,通告128位主机路由。
recursive-lookup longest-match:指定IPv6静态路由迭代到前缀长度最长匹配的路由。
bfd:使能BFD(Bidirectional Forwarding Detection,双向转发检测)功能,对静态路由下一跳的可达性进行快速检测。
control-packet:通过BFD控制报文方式实现BFD功能。
echo-packet:通过BFD echo报文方式实现BFD功能。
bfd-source ipv6-address:BFD源IPv6地址。
static session-name:将静态路由与静态BFD会话相关联。session-name表示静态BFD会话名称,为1~64个字符的字符串,区分大小写。指定的静态BFD会话可以不存在,但要使配置生效,必须创建静态BFD会话。
permanent:指定为永久IPv6静态路由。指定该参数后,如果对应的IPv6静态路由当前为激活状态,则后续无论出接口状态是Up还是Down,该路由均保持active状态,并始终保留在IPv6路由表中。如果IPv6静态路由未曾激活过,即便配置了permanent参数,该路由也不会出现在IPv6路由表中。
track track-entry-number:将IPv6静态路由与Track项相关联,track-entry-number为Track项的序号,取值范围为1~1024。关于Track的详细介绍,请参见“可靠性配置指导”中的“Track”。
track-nd:将静态路由与下一跳对应的ND表项相关联。指定本参数后,当IPv6静态路由下一跳对应的ND表项不存在时,该IPv6静态路由不激活。如果不指定本参数,则IPv6静态路由的激活状态与ND表项无关。通过指定本参数配置IPv6静态路由与下一跳对应的ND表项联动,建议通过ipv6 route-static nd-request命令配置设备周期性向IPv6静态路由下一跳发送ND请求,以免ND表项老化导致该IPv6静态路由不激活。
public:指定公网实例。如果指定next-hop-address参数后再指定公网实例,表示下一跳是公网地址,IPv6静态路由将根据next-hop-address在公网实例中查找出接口。如果仅指定next-hop-address参数,未指定公网实例,则IPv6静态路由将根据next-hop-address在源VPN实例中查找出接口。如果未指定next-hop-address参数,但指定公网实例,则IPv6静态路由将在公网实例中查找出接口。
vpn-instance d-vpn-instance-name:指定目的VPN。d-vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果指定目的VPN实例,但未指定next-hop-address参数,则IPv6静态路由将在目的VPN实例中查找出接口。如果指定目的VPN,且指定next-hop-address参数,IPv6静态路由将根据配置的下一跳IPv6地址在目的VPN中查找出接口。如果指定目的VPN实例,但未指定next-hop-address参数,则目的VPN实例和源VPN实例不能相同。
preference preference:路由的优先级,取值范围为1~255,缺省值为60。优先级数值越小,该路由越优先。对于为同一目的地配置多条路由,如果指定相同的优先级,则实现路由负载分担;如果指定不同的优先级,则实现路由备份。
tag tag-value:静态路由Tag值,用于标识该条静态路由,以便在路由策略中根据Tag对路由进行灵活的控制。tag-value的取值范围为1~4294967295,缺省值为0。关于路由策略的详细信息,请参见“三层技术-IP路由配置指导”中的“路由策略”。
recursive-lookup:开启IPv6静态路由下一跳循环迭代功能(即允许迭代到更大网段的路由)。如果不指定本参数,则表示关闭IPv6静态路由的下一跳循环迭代功能。
description text:静态路由描述信息。text为1~150个字符的字符串,除“?”外,可以包含空格等特殊字符。
srv6-policy name policy-name:配置IPv6静态路由迭代到指定名称的SRv6 TE Policy。policy-name表示SRv6 TE Policy名称,为1~59个字符的字符串,区分大小写。有关SRv6 TE Policy的详细介绍,请参见“Segment Routing配置指导”中的“SRv6 TE Policy”。
srv6-policy color color-value end-point ipv4 ipv4-address:配置IPv6静态路由迭代到指定Color值和目的节点地址的SRv6 TE Policy。color-value表示SRv6 TE Policy的Color值,取值范围1~4294967295。ipv4-address表示目的节点的IPv4地址。
srv6-policy color color-value end-point ipv6 ipv6-address:配置IPv6静态路由迭代到指定Color值和目的节点地址的SRv6 TE Policy。color-value表示SRv6 TE Policy的Color值,取值范围1~4294967295。ipv6-address表示SRv6 TE Policy的Endpoint地址。
sid sid:指定尾节点的SRv6 SID。报文经SRv6 TE Policy转发后,再依据该SRv6 SID继续进行转发。
block block-length:指定16-bit压缩的G-SID的Block部分的长度,即G-SID的公共长度。其中block-length取值范围为16~88。如果不指定该参数,表示不对SID进行压缩。
compress-flavor:指定SRv6 SID携带的附加行为。
coc-next:SRv6 SID同时携带COC和NEXT附加行为,表示该SRv6 SID支持“替换”和“位移”操作。
next [ wlib ]:SRv6 SID携带NEXT附加行为,表示该SRv6 SID支持“位移”操作。如果指定了wlib参数,则表示指定的SRv6 SID必须是从wlib模式的coc16类型Locator段的W-LIB空间(Wide Local Identifiers Block,扩展LIB)中分配的,并且该SID携带NEXT附加行为。该SID封装时需要封装32bit信息,包括16bit压缩Function部分和扩展的16bit W-LIB空间部分。未指定wlib参数时,则表示压缩封装时仅封装16bit的压缩Function部分。
【使用指导】
当网络结构比较简单时,只需配置静态路由就可以使网络正常工作。当设备不能使用动态路由协议或者不能建立到达目的网络的路由时,也可以使用静态路由。
在缺省vSystem系统视图下配置ipv6 route-static vpn-instance s-vpn-instance-name ipv6-address prefix-length vpn-instance d-vpn-instance-name [ preference preference ] [ tag tag-value ] [ description text ]命令,可以实现非缺省vSystem之间互相通信,其中s-vpn-instance-name和d-vpn-instance-name均为与非缺省vSystem同名的VPN实例名称。
在配置静态路由时,可以指定出接口(interface-type interface-number),也可指定下一跳地址(next-hop-address),具体采用哪种方法,需要根据实际情况而定:
· 如果出接口类型为广播或者NBMA类型,必须指定下一跳地址。
· 如果出接口类型为点到点类型,配置时可以只指定出接口,不指定下一跳地址。这样,即使对端地址发生了变化也无须改变配置。
配置IPv6静态路由与BFD联动时,需要注意的是:
· 对于直连下一跳,当指定的出接口类型为非P2P接口时,建议用户通过bfd-source命令指定BFD源IPv6地址,该地址必须为出接口的IPv6地址,且与下一跳IPv6地址处在同一网段。如果下一跳IPv6地址指定的是链路本地地址,本参数也必须是链路本地地址。
· 对于直连下一跳或者非直连下一跳,如果要指定BFD源IPv6地址,那么下一跳IPv6地址和BFD源IPv6地址必须成对配置,即本端指定的下一跳IPv6地址是对端的BFD源IPv6地址,本端指定的BFD源IPv6地址是对端的下一跳IPv6地址。
配置IPv6静态路由时需要注意的是:
· 路由震荡时,使能BFD检测功能可能会加剧震荡,需谨慎使用。关于BFD的详细介绍,请参考“可靠性配置指导”中的“BFD”。
· 配置BFD echo报文方式时,下一跳IPv6地址必须为全球单播地址。
· 参数permanent不能和bfd一起进行配置。
如果未指定recursive-lookup longest-match和recursive-lookup host-route参数,则IPv6静态路由优先迭代到直连路由。仅当未查找到匹配的直连路由时,才会迭代到前缀长度最长匹配的路由。上述机制可能会引发如下问题:设备直连路由的目的地址网段包含IPv6静态路由的下一跳地址时,IPv6静态路由会迭代下一跳至该直连路由,此时设备认为静态路由的下一跳地址为本地直连,而该下一跳可能是错误的下一跳,导致匹配该IPv6静态路由的报文转发失败。指定recursive-lookup longest-match参数后,IPv6静态路由会迭代到前缀长度最长匹配的路由,以保证迭代到正确的下一跳。指定recursive-lookup host-route参数后,IPv6静态路由只能迭代到前缀长度为128的主机路由,只有当主机路由可达时,该IPv6静态路由才会激活。
配置IPv6静态路由关联Track项时,如果Track模块通过NQA探测私网静态路由中下一跳的可达性,静态路由下一跳的VPN实例号与NQA测试组配置的实例号必须相同,才能进行正常的探测。
IPv6静态路由进行路由迭代时,若迭代路由的目的地址范围包含该IPv6静态路由的目的地址,例如某条IPv6静态路由4::2/64的迭代路由的目的地址为4::2/48,则认为发生了循环迭代。在开启IPv6静态路由下一跳循环迭代功能之前,循环迭代会导致本次迭代失败并继续进行路由迭代。在开启IPv6静态路由下一跳循环迭代功能之后,只要迭代路由的出接口为设备的直连出接口,则即使发生了循环迭代,也认为本次迭代成功。经过循环迭代找到出接口的IPv6静态路由不允许被其他路由协议发布到其他设备。
参数recursive-lookup host-route和recursive-lookup互斥,不能同时配置。
【举例】
# 为实例名为vpn1的VPN实例配置IPv6静态路由,该路由的目的地址为1:1:2::/64,指定下一跳为VPN实例vpn2的地址1:1:3::1。
<Sysname> system-view
[Sysname] ipv6 route-static vpn-instance vpn1 1:1:2:: 64 vpn-instance vpn2 1:1:3::1
【相关命令】
· display ipv6 routing-table protocol(三层技术-IP路由命令参考/IP路由基础)
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!