02-静态路由命令
本章节下载: 02-静态路由命令 (412.82 KB)
目 录
1.1.1 delete static-routes all
1.1.2 display route-static nib
1.1.3 display route-static routing-table
1.1.5 ip route-static arp-request
1.1.7 ip route-static default-preference
1.1.8 ip route-static fast-reroute auto
1.1.9 ip route-static primary-path-detect bfd echo
1.1.10 ip route-static recursive-lookup segment-routing-ipv6
1.1.11 ip route-static recursive-lookup tunnel
1.1.12 ip route-static vpn-instance
delete static-routes all命令用来删除所有静态路由。
【命令】
delete [ vpn-instance vpn-instance-name ] static-routes all
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
vpn-instance vpn-instance-name:删除指定VPN实例的所有静态路由。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果未指定本参数,则表示删除公网的所有静态路由。
【使用指导】
删除全部静态路由可能导致网络不通,报文转发失败,请谨慎使用。
使用本命令删除静态路由时,系统会提示确认,确认后才会删除所配置的所有静态路由。
使用undo ip route-static命令可以删除一条静态路由,而使用delete static-routes all命令可以删除包括缺省路由在内的所有静态路由。
【举例】
# 删除所有静态路由。
<Sysname> system-view
[Sysname] delete static-routes all
This will erase all IPv4 static routes and their configurations, you must reconf
igure all static routes.
Are you sure?[Y/N]:y
【相关命令】
· ip route-static
display route-static nib命令用来显示静态路由下一跳信息。
【命令】
display route-static nib [ nib-id ] [ verbose ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
nib-id:路由邻居ID值,取值范围为十六进制数1~ffffffff。如果未指定本参数,则显示所有的静态路由下一跳信息。
verbose:显示详细信息。如果未指定本参数,则显示概要信息。
【举例】
# 显示静态路由下一跳信息。
<Sysname> display route-static nib
Total number of nexthop(s): 44
NibID: 0x11000000 Sequence: 0
Type: 0x21 Flushed: Yes
Age: 00h01m50s
UserKey0: 0x111 VrfNthp: 0
UserKey1: 0x0 Nexthop: 0.0.0.0
UserKey2: 0x0 IFIndex: 0x111
UserKey3: 0x0 LocalAddr: 0.0.0.0
TopoNthp: 0 ExtType: 0x0
Color: 0 COFlag: 0x0
LinkID: 0x0 AS-path: 0 0
SIDIndex: 0x0 SRPName:
OriNexthop: 0.0.0.0 ExtBandwidth:0
NibID: 0x11000001 Sequence: 1
Type: 0x41 Flushed: Yes
Age: 00h01m50s
UserKey0: 0x0 VrfNthp: 5
UserKey1: 0x0 Nexthop: 2.2.2.2
UserKey2: 0x0 IFIndex: 0x111
UserKey3: 0x0 LocalAddr: 0.0.0.0
TopoNthp: 0 ExtType: 0x0
Color: 0 COFlag: 0x0
LinkID: 0x0 AS-path: 0 0
SIDIndex: 0x0 SRPName:
OriNexthop: 0.0.0.0 ExtBandwidth:0
...
表1-1 display route-static nib命令显示信息描述表
字段 |
描述 |
Total number of nexthop(s) |
总的下一跳个数 |
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表示公网拓扑 |
ExtType |
NIB扩展类型 |
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 |
# 显示静态路由下一跳详细信息。
<Sysname> display route-static nib verbose
Total number of nexthop(s): 44
NibID: 0x11000000 Sequence: 0
Type: 0x21 Flushed: Yes
Age: 00h01m50s
UserKey0: 0x111 VrfNthp: 0
UserKey1: 0x0 Nexthop: 0.0.0.0
UserKey2: 0x0 IFIndex: 0x10002
UserKey3: 0x0 LocalAddr: 0.0.0.0
TopoNthp: 0 ExtType: 0x0
Color: 0 COFlag: 0x0
LinkID: 0x0 AS-path: 0 0
SIDIndex: 0x0 SRPName:
OriNexthop: 0.0.0.0 ExtBandwidth:0
RefCnt: 2 FlushRefCnt: 0
Flag: 0x2 Version: 1
ExtFlag: 0x0
1 nexthop(s):
PrefixIndex: 0 OrigNexthop: 0.0.0.0
RelyDepth: 0 RealNexthop: 0.0.0.0
Interface: NULL0 LocalAddr: 0.0.0.0
TunnelCnt: 0 Vrf: default-vrf
TunnelID: N/A Topology: base
Weight: 1000000 Flags: 0x0
SRPolicyNID: 4294967295 SRInterface:
ColorWeight: 0 Locator: N/A
OrigLinkID: 0x0 RealLinkID: 0x0
Bandwidth: 0
NibID: 0x11000001 Sequence: 1
Type: 0x41 Flushed: Yes
Age: 00h01m50s
UserKey0: 0x0 VrfNthp: 5
UserKey1: 0x0 Nexthop: 2.2.2.2
UserKey2: 0x0 IFIndex: 0x10002
UserKey3: 0x0 LocalAddr: 0.0.0.0
TopoNthp: 0 ExtType: 0x0
Color: 0 COFlag: 0x0
LinkID: 0x0 AS-path: 0 0
SIDIndex: 0x0 SRPName:
OriNexthop: 0.0.0.0 ExtBandwidth:0
RefCnt: 1 FlushRefCnt: 0
Flag: 0x12 Version: 1
ExtFlag: 0x0
2 nexthop(s):
PrefixIndex: 0 OrigNexthop: 2.2.2.2
RelyDepth: 7 RealNexthop: 8.8.8.8
Interface: GE1/0/1 LocalAddr: 12.12.12.12
TunnelCnt: 0 Vrf: default-vrf
TunnelID: N/A Topology: base
Weight: 1000000 Flags: 0x0
SRPolicyNID: 4294967295 SRInterface:
ColorWeight: 0 Locator: N/A
OrigLinkID: 0x0 RealLinkID: 0x0
Bandwidth: 0
PrefixIndex: 0 OrigNexthop: 2.2.2.2
RelyDepth: 9 RealNexthop: 0.0.0.0
Interface: NULL0 LocalAddr: 0.0.0.0
TunnelCnt: 0 Vrf: default-vrf
TunnelID: N/A Topology: base
Weight: 1000000 Flags: 0x0
SRPolicyNID: 4294967295 SRInterface:
ColorWeight: 0 Locator: N/A
OrigLinkID: 0x0 RealLinkID: 0x0
Bandwidth: 0
...
表1-2 display route-static nib verbose命令显示信息描述表
字段 |
描述 |
Total number of nexthop(s) |
总的下一跳个数 |
NibID |
NIB ID号 |
Sequence |
NIB序列号 |
Type |
NIB类型 |
Flushed |
是否下刷FIB |
Age |
下一跳信息最近一次更新的时间 |
UserKey0 |
NIB协议保留数据1 |
VrfNthp |
下一跳所在VPN索引,显示为0表示公网 |
UserKey1 |
NIB协议保留数据2 |
UserKey2 |
NIB协议保留数据3 |
UserKey3 |
NIB协议保留数据4 |
Nexthop |
下一跳信息 |
IFIndex |
接口索引 |
LocalAddr |
本地接口地址 |
TopoNthp |
(暂不支持子拓扑)下一跳所在拓扑索引,显示为0表示公网拓扑 |
ExtType |
NIB扩展类型 |
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 |
RefCnt |
下一跳信息的引用计数 |
FlushRefCnt |
下一跳信息的下刷引用计数 |
Flag |
下一跳信息的标志位 |
Version |
下一跳信息的版本号 |
ExtFlag |
下一跳信息的扩展标志位 |
x nexthop (s) |
下一跳具体值(前面数值表示下一跳个数) |
PrefixIndex |
等价时下一跳序号 |
OrigNexthop |
原始下一跳 |
RelyDepth |
迭代深度 |
RealNexthop |
真实下一跳 |
Interface |
出接口 |
localAddr |
本地接口地址 |
TunnelCnt |
迭代到隧道的个数 |
Vrf |
VPN实例名,显示为default-vrf表示公网 |
TunnelID |
迭代到隧道的ID |
Topology |
(暂不支持子拓扑)拓扑名称,显示为base表示公网拓扑 |
Weight |
等价路由各路由的权重,取值为0表示不是等价路由 |
Flags |
当前下一跳的标志位 |
SRPolicyNID |
(暂不支持)SRPolicy迭代路由的下一跳ID |
SRInterface |
(暂不支持)SRPolicy迭代路由的出接口 |
ColorWeight |
(暂不支持)SRPolicy中Color的权重值 |
Locator |
SID所属Locator段的IPv6前缀,N/A表示没有该属性 |
OrigLinkID |
SDWAN TTE连接的原始Link ID |
RealLinkID |
SDWAN TTE连接的真实Link ID |
Bandwidth |
来自IGP协议或接口配置的链路带宽属性值 |
display route-static routing-table命令用来显示静态路由表信息。
【命令】
display route-static routing-table [ vpn-instance vpn-instance-name ] [ ip-address { mask-length | mask } ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
vpn-instance vpn-instance-name:显示指定VPN实例的信息。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果未指定本参数,则显示公网的信息。
ip-address:目的IP地址,点分十进制。如果未指定本参数,则显示所有的静态路由表信息。
mask-length:网络掩码长度,取值范围为0~32。
【举例】
# 显示静态路由表信息。
<Sysname> display route-static routing-table
Total number of routes: 24
Status: * - valid
*Destination: 0.0.0.0/0
NibID: 0x1100000a NextHop: 2.2.2.10
MainNibID: N/A BkNextHop: N/A
BkNibID: N/A Interface: GigabitEthernet0/0/1
TableID: 0x2 BkInterface: GigabitEthernet0/0/2
Flag: 0x82d01 BfdSrcIp: N/A
DbIndex: 0xd 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: 0
Destination: 0.0.0.0/0
NibID: 0x1100000b NextHop: 2.2.2.11
MainNibID: N/A BkNextHop: N/A
BkNibID: N/A Interface: GigabitEthernet0/0/3
TableID: 0x2 BkInterface: GigabitEthernet0/0/4
Flag: 0x82d01 BfdSrcIp: N/A
DbIndex: 0xd 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: 0
...
表1-3 display route-static routing-table命令显示信息描述表
字段 |
描述 |
Total number of routes |
总的路由条数 |
Destination |
目的地址/掩码 |
NibID |
下一跳信息ID |
MainNibID |
FRR静态路由主下一跳信息ID |
BkNibID |
FRR静态路由备下一跳信息ID |
NextHop |
此路由的下一跳地址 |
BkNextHop |
此路由的备份下一跳地址 |
Interface |
出接口,即到该目的网段的数据包将从此接口发出(当路由迭代到SRv6 TE Policy时,出接口显示为该Policy的名称) |
BkInterface |
备份出接口(当路由迭代到SRv6 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表示采用最长匹配原则进行路由迭代) |
ip route-static命令用来配置静态路由。
undo ip route-static命令用来删除指定的静态路由。
【命令】
ip route-static dest-address { mask-length | mask } interface-type interface-number [ next-hop-address [ nexthop-index index-string ] | dhcp ] [ backup-interface interface-type interface-number [ backup-nexthop backup-nexthop-address ] [ permanent ] | bfd { control-packet | echo-packet | static session-name } | permanent | track track-entry-number ] [ preference preference ] [ tag tag-value ] [ recursive-lookup ] [ description text ]
ip route-static dest-address { mask-length | mask } interface-type interface-number next-hop-address [ nexthop-index index-string ] track-arp [ preference preference ] [ tag tag-value ] [ description text ]
ip route-static dest-address { mask-length | mask } next-hop-address [ nexthop-index index-string ] [ recursive-lookup { host-route | longest-match } ] [ bfd { control-packet bfd-source ip-address | static session-name } | permanent | track track-entry-number ] [ preference preference ] [ tag tag-value ] [ recursive-lookup ] [ description text ]
ip route-static dest-address { mask-length | mask } vpn-instance d-vpn-instance-name next-hop-address [ nexthop-index index-string ] [ recursive-lookup { host-route | longest-match } ] [ bfd { control-packet bfd-source ip-address | static session-name } | permanent | track track-entry-number ] [ preference preference ] [ tag tag-value ] [ recursive-lookup ] [ description text ]
ip route-static group group-name interface-type interface-number [ next-hop-address | dhcp ] [ backup-interface interface-type interface-number [ backup-nexthop backup-nexthop-address ] [ permanent ] | bfd { control-packet | echo-packet | static session-name } | permanent | track track-entry-number ] [ preference preference ] [ tag tag-value ] [ recursive-lookup ] [ description text ]
ip route-static group group-name interface-type interface-number next-hop-address track-arp [ preference preference ] [ tag tag-value ] [ description text ]
ip route-static group group-name next-hop-address [ recursive-lookup { host-route | longest-match } ] [ bfd { control-packet bfd-source ip-address | static session-name } | permanent | track track-entry-number ] [ preference preference ] [ tag tag-value ] [ recursive-lookup ] [ description text ]
ip route-static group group-name vpn-instance d-vpn-instance-name next-hop-address [ recursive-lookup { host-route | longest-match } ] [ bfd { control-packet bfd-source ip-address | static session-name } | permanent | track track-entry-number ] [ preference preference ] [ tag tag-value ] [ recursive-lookup ] [ description text ]
undo ip route-static { dest-address { mask-length | mask } | group group-name } [ interface-type interface-number [ next-hop-address | dhcp ] | next-hop-address | vpn-instance d-vpn-instance-name next-hop-address ] [ preference preference ]
ip route-static dest-address { mask-length | mask } [ preference preference ] [ tag tag-value ] [ description text ]
undo ip route-static dest-address { mask-length | mask } [ preference preference ]
【缺省情况】
未配置静态路由。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
dest-address:静态路由的目的IP地址,点分十进制格式。如果目的IP地址和掩码都为0.0.0.0(或掩码长度为0),则配置的路由为缺省路由。当没有匹配的路由表项时,将使用缺省路由进行报文转发。
mask-length:网络掩码长度,取值范围为0~32。
mask:网络掩码,点分十进制格式。
group group-name:指定静态路由配置组。group-name 表示配置组名称,为1~31个字符的字符串,区分大小写。按配置组配置静态路由时,配置组下的所有前缀会应用相同的下一跳、出接口信息。如果配置组不存在或者配置组中没有任何前缀,则不会创建静态路由。
vpn-instance d-vpn-instance-name:指定目的VPN实例。d-vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果指定目的VPN实例,但未指定next-hop-address参数,则静态路由将在目的VPN实例中查找出接口。如果指定目的VPN实例,且指定了next-hop-address参数,静态路由将根据配置的next-hop-address在目的VPN中查找出接口。
interface-type interface-number:指定静态路由的出接口类型和接口号。在指定静态路由的出接口类型和接口号时需要注意的事项,详见使用指导。
next-hop-address:指定路由的下一跳的IP地址,点分十进制格式。在指定路由的下一跳的IP地址时需要注意的事项,详见使用指导。
dhcp:使用DHCP服务器为客户端指定的网关地址作为静态路由的下一跳地址。
nexthop-index index-string:指定路由的下一跳的索引标识。index-string表示索引标识,为1~93个字符的字符串,不区分大小写。如果未指定本参数,静态路由采用出接口和下一跳的IP地址作为索引标识。去往同一目的地的多条路由,其下一跳的索引标识不能相同。
recursive-lookup host-route:指定静态路由只能迭代到主机路由。当使用本参数指定静态路由迭代到主机路由时,需要在下一跳对应的出接口上配置arp route-direct advertise命令开启ARP直连路由通告功能,通告32位主机路由。
recursive-lookup longest-match:指定静态路由迭代到子网掩码长度最长匹配的路由。
backup-interface interface-type interface-number:备份出接口。对于备份出接口为非P2P类型的接口时(包括NBMA类型接口或广播类型接口),必须同时指定其对应的备份下一跳地址。interface-type interface-number为指定的接口类型和编号。
backup-nexthop backup-nexthop-address:备份下一跳地址。
bfd:使能BFD(Bidirectional Forwarding Detection,双向转发检测)功能,对静态路由下一跳的可达性进行快速检测,当下一跳不可达时可以快速切换到备份路由。
control-packet:通过BFD控制报文方式实现BFD功能。
bfd-source ip-address:BFD源IP地址。建议配置为Loopback接口IP地址。
echo-packet:通过BFD echo报文方式实现BFD功能。
static session-name:将静态路由与静态BFD会话相关联。session-name表示静态BFD会话名称,为1~64个字符的字符串,区分大小写。指定的静态BFD会话可以不存在,但要使配置生效,必须创建静态BFD会话。使用静态BFD会话检测静态路由下一跳的可达性时,需要将静态路由出接口的IP地址作为静态BFD会话的源地址,将静态路由下一跳的IP地址作为静态BFD会话的对端地址。
permanent:指定为永久静态路由。指定该参数后,如果对应的静态路由当前为激活状态,则后续无论出接口状态是Up还是Down,该路由均保持active状态,并始终保留在IP路由表中。如果静态路由未曾激活过,即便配置了permanent参数,该路由也不会出现在IP路由表中。
track track-entry-number:将静态路由与Track项相关联,track-entry-number为Track项的序号,取值范围为1~1024。关于Track的详细介绍,请参见“可靠性配置指导”中的“Track”。
track-arp:将静态路由与下一跳对应的ARP表项相关联。指定本参数后,当静态路由下一跳对应的ARP表项不存在时,该静态路由不激活。如果不指定本参数,则静态路由的激活状态与ARP表项无关。当使用本参数指定静态路由与下一跳对应的ARP表项联动时,建议通过ip route-static arp-request命令配置设备周期性向静态路由下一跳发送ARP请求,以免ARP表项老化导致该静态路由不激活。
srv6-policy name policy-name:配置静态路由迭代到指定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:配置静态路由迭代到指定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:配置静态路由迭代到指定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部分。
preference preference:指定静态路由的优先级,取值范围为1~255,缺省值为60。优先级数值越小,该路由越优先。对于为同一目的地配置多条路由,如果指定相同的优先级,则实现路由负载分担;如果指定不同的优先级,则实现路由备份。
tag tag-value:静态路由Tag值,用于标识该条静态路由,以便在路由策略中根据Tag对路由进行灵活的控制。tag-value的取值范围为1~4294967295,缺省值为0。关于路由策略的详细信息,请参见“三层技术-IP路由配置指导”中的“路由策略”。
recursive-lookup:开启静态路由下一跳循环迭代功能(即允许迭代到更大网段的路由)。如果不指定本参数,则表示关闭静态路由的下一跳循环迭代功能。
description text:配置的静态路由描述信息,取值范围为1~150个字符。除“?”外,可以包含空格等特殊字符。
【使用指导】
本命令用来在公网中配置静态路由。
当网络结构比较简单时,只需配置静态路由就可以使网络正常工作。当设备不能使用动态路由协议或者不能建立到达目的网络的路由时,也可以使用静态路由。
配置静态路由时,可根据实际需要指定出接口或下一跳地址。需要注意的是:
· 对于Null0接口,配置了出接口就不需要配置下一跳地址。
· 对于点到点接口,配置时可以只指定出接口,不指定下一跳地址。这样,即使对端地址发生了变化也无须改变配置。
· 对于NBMA、P2MP等接口,需要进行IP地址到链路层地址的映射,建议同时配置出接口和下一跳IP地址。
· 对于广播类型接口,因为可能有多个下一跳,配置时必须同时指定出接口和下一跳IP地址。
配置静态路由时需要注意的是:
· 路由震荡时,使能BFD检测功能可能会加剧震荡,需谨慎使用。关于BFD的详细介绍,请参考“可靠性配置指导”中的“BFD”。
· 如果Track模块通过NQA探测私网静态路由中下一跳的可达性,静态路由下一跳的VPN实例号与NQA测试组配置的实例号必须相同,才能进行正常的探测。
· 在静态路由进行迭代时,Track项监测的应该是静态路由真正的下一跳,而不是配置的下一跳。否则,可能导致错误地将有效路由判断为无效路由。
· 参数permanent不能和bfd、track一起进行配置。
接口通过DHCP方式获取到IP地址和网关地址后,设备会自动生成一条目的地址为0.0.0.0/0、下一跳地址为Default router(DHCP服务器为客户端指定的网关地址)的静态路由,该路由无法与手工配置的静态路由形成等价路由。只有当手工指定的静态路由失效时,自动生成的静态路由才能指导报文转发。在手工指定和DHCP自动生成的静态路由均需要转发报文的场景下(例如双WAN出口的网络),需要执行本配置来创建基于DHCP的静态路由。
执行本命令时如果指定了dhcp参数,设备会自动生成一条以Default router为下一跳的静态路由,该路由只有在设备作为DHCP客户端获取到IP地址和网关地址后才会生效。该路由可以和手工配置的静态路由形成等价路由。DHCP服务器为客户端指定的网关地址发生变化时,设备自动将静态路由下一跳地址修改为变化后的网关地址。仅当静态路由的出接口为广播类型的接口时支持指定dhcp参数。
如果未指定recursive-lookup longest-match和recursive-lookup host-route参数,则静态路由优先迭代到直连路由。仅当未查找到匹配的直连路由时,才会迭代到子网掩码长度最长匹配的路由。上述机制可能会引发如下问题:设备直连路由的目的地址网段包含静态路由的下一跳地址时,静态路由会迭代下一跳至该直连路由,此时设备认为静态路由的下一跳地址为本地直连,而该下一跳可能是错误的下一跳,导致匹配该静态路由的报文转发失败。指定recursive-lookup longest-match参数后,静态路由会迭代到子网掩码长度最长匹配的路由,以保证迭代到正确的下一跳。指定recursive-lookup host-route参数后,静态路由只能迭代到子网掩码长度为32的主机路由,只有当主机路由可达时,该静态路由才会激活。
静态路由进行路由迭代时,若迭代路由的目的地址范围包含该静态路由的目的地址,例如某条静态路由10.1.0.0/24的迭代路由的目的地址为10.1.0.0/16,则认为发生了循环迭代。在开启静态路由下一跳循环迭代功能之前,循环迭代会导致本次迭代失败并继续进行路由迭代。在开启静态路由下一跳循环迭代功能之后,只要迭代路由的出接口为设备的直连出接口,则即使发生了循环迭代,也认为本次迭代成功。经过循环迭代找到出接口的静态路由不允许被其他路由协议发布到其他设备。
参数recursive-lookup host-route、recursive-lookup longest-match和recursive-lookup互斥,不能同时配置。
【举例】
# 配置静态路由,其目的地址为1.1.1.0/24,指定下一跳为2.2.2.2,Tag值为45,描述信息为“for internet”。
<Sysname> system-view
[Sysname] ip route-static 1.1.1.0 24 2.2.2.2 tag 45 description for internet
【相关命令】
· display ip routing-table protocol(三层技术-IP路由命令参考/IP路由基础)
· ip route-static-group
· prefix
ip route-static arp-request命令用来配置向静态路由下一跳发送ARP请求功能。
undo ip route-static arp-request命令用来关闭向静态路由下一跳发送ARP请求功能。
【命令】
ip route-static arp-request [ interval interval ]
undo ip route-static arp-request
【缺省情况】
静态路由发送ARP请求功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
interval:发送ARP请求的时间间隔,取值范围为1~300,单位为秒,缺省值为5。
【使用指导】
设备上存在如下类型静态路由时,建议配置本命令:
· 迭代到主机路由的静态路由,包括指定recursive-lookup host-route参数只能迭代到主机路由的静态路由,或按照路由策略迭代到主机路由(通过protocol nexthop recursive-lookup命令配置)的静态路由。如果因下一跳主机不主动发送免费ARP等原因,可能会导致设备上该主机对应的ARP表项无法及时更新而老化,从而造成设备上无法生成该主机的主机路由、下一跳为该主机的静态路由因迭代到主机路由失败而无法激活。
· 指定了track-arp参数将下一跳与ARP表项相关联的静态路由。如果因下一跳不主动发送免费ARP等原因,可能会导致设备上该下一跳地址对应的ARP表项无法及时更新而老化删除,从而造成该静态路由不激活。
配置本命令后,对于迭代到主机路由的静态路由,设备将按照设置的时间间隔周期性地向不带出接口且下一跳迭代主机路由失败的静态路由下一跳发送ARP请求,当收到主机的ARP应答后,设备会将该主机路由添加到路由表中,迭代到该主机路由的静态路由便会自动激活,这时设备停止向该静态路由下一跳发送ARP请求;对于指定了track-arp参数将下一跳与ARP表项相关联的静态路由,设备将按照设置的时间间隔周期性地向关联ARP表项的静态路由下一跳发送ARP请求,当收到下一跳的ARP应答后,该静态路由便会自动激活,这时设备停止向该静态路由下一跳发送ARP请求。
有关ARP的详细介绍,请参见“三层技术-IP业务配置指导”中的“ARP”。
【举例】
# 配置向静态路由下一跳发送ARP请求功能,且发送时间间隔为10秒。
<Sysname> system-view
[Sysname] ip route-static arp-request interval 10
【相关命令】
· ip route-static
· protocol nexthop recursive-lookup(三层技术-IP路由命令参考/IP路由基础)
ip route-static bfd命令用来配置静态路由的BFD会话参数。
undo ip route-static bfd命令用来取消静态路由BFD会话参数的配置。
控制报文方式单跳检测和echo报文方式检测的BFD会话参数:
ip 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 ip route-static bfd interface-type interface-number next-hop-address
控制报文方式多跳检测的会话参数:
ip route-static bfd [ vpn-instance d-vpn-instance-name ] next-hop-address source-ip ip-address { detect-multiplier detect-multiplier | min-receive-interval min-receive-interval | min-transmit-interval min-transmit-interval } *
undo ip route-static bfd [ vpn-instance d-vpn-instance-name ] next-hop-address
【缺省情况】
未配置静态路由的BFD会话参数,使用通用BFD会话参数作为静态路由的BFD会话参数。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
interface-type interface-number:指定静态路由的出接口类型和接口编号。
vpn-instance d-vpn-instance-name:指定目的VPN实例。d-vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果未指定本参数,表示静态路由的下一跳位于公网。
next-hop-address:指定路由的下一跳的IP地址,点分十进制格式。
source-ip ip-address:指定BFD报文的源IP地址,点分十进制格式。
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控制报文的最小时间间隔,单位为毫秒。取值范围为10~1000。发送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会话参数。
通过本命令可为单条静态路由提供BFD会话参数,静态路由BFD会话的检测时间=detect-multiplier×max(min-echo-receive-interval,min-receive-interval,min-transmit-interval),关于实际检测时间的计算方法请参见“可靠性命令参考”中的“BFD”。
静态路由获取BFD会话参数的机制如下:
· 如果未配置任何静态路由的BFD会话参数,则所有静态路由均使用通用BFD会话参数。
· 如果配置了静态路由的BFD会话参数,获取BFD会话参数的方式如下:
¡ 对于使用echo报文方式或控制报文方式单跳检测的静态路由,根据出接口和下一跳IP地址获取BFD会话参数。
¡ 对于使用控制报文方式多跳检测的静态路由,根据下一跳IP地址与BFD源IP地址获取BFD会话参数。对于在目的VPN中查找出接口的静态路由,根据VPN实例、下一跳IP地址与BFD源IP地址获取BFD会话参数。
¡ 如果本命令仅配置了部分BFD会话参数,则对于配置的BFD会话参数,静态路由使用本命令配置的值;对于未配置的参数,静态路由使用通用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的静态路由配置BFD会话参数:BFD检测时间倍数为20,接收BFD echo报文的最小时间间隔为1000毫秒。
<Sysname> system-view
[Sysname] ip route-static bfd gigabitethernet 0/0/1 1.2.3.4 detect-multiplier 20 min-echo-receive-interval 1000
ip route-static default-preference命令用来配置静态路由的缺省优先级。
undo ip route-static default-preference命令用来恢复缺省情况。
【命令】
ip route-static default-preference default-preference
undo ip route-static default-preference
【缺省情况】
静态路由的缺省优先级为60。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
default-preference:静态路由缺省优先级的值,取值范围为1~255。
【使用指导】
如果在配置静态路由时没有指定优先级,就会使用缺省优先级。
重新配置缺省优先级后,新设置的缺省优先级仅对新增的静态路由有效。
【举例】
# 配置静态路由的缺省优先级为120。
<Sysname> system-view
[Sysname] ip route-static default-preference 120
【相关命令】
· display ip routing-table protocol(三层技术-IP路由命令参考/IP路由基础)
ip route-static fast-reroute auto命令用来配置静态路由自动快速重路由功能。
undo ip route-static fast-reroute auto命令用来关闭静态路由自动快速重路由功能。
【命令】
ip route-static fast-reroute auto
undo ip route-static fast-reroute auto
【缺省情况】
静态路由自动快速重路由功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【举例】
# 配置静态路由自动快速重路由功能。
<Sysname> system-view
[Sysname] ip route-static fast-reroute auto
ip route-static primary-path-detect bfd echo命令用来使能静态路由中主用链路的BFD(Echo方式)检测功能。
undo ip route-static primary-path-detect bfd命令用来关闭静态路由中主用链路的BFD(Echo方式)检测功能。
【命令】
ip route-static primary-path-detect bfd echo
undo ip route-static primary-path-detect bfd
【缺省情况】
静态路由中主用链路的BFD(Echo方式)检测功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
当用户在设备上配置了静态路由快速重路由功能后,执行本命令可以让设备快速检测到快速重路由主用链路的故障,从而减少流量丢失。
如果静态路由快速重路由功能形成了主备下一跳,则用户配置本命令后,设备会自动建立echo方式的BFD会话检测主路由的下一跳。该BFD会话信息的源地址为本端设备IP地址,目的地址为主路由的下一跳地址。执行display bfd session命令可以查看BFD会话信息。
如果用户没有配置静态路由快速重路由功能,或者配置了快速重路由功能但是没找到可达的备用下一跳,则设备无法建立检测主路由下一跳的BFD会话。
【举例】
# 配置静态路由快速重路由特性中主用链路使能BFD(Echo方式)功能。
<Sysname> system-view
[Sysname] ip route-static 1.1.1.1 32 gigabitethernet 0/0/1 2.2.2.2 backup-interface gigabitethernet 0/0/2 backup-nexthop 3.3.3.3
[Sysname] ip route-static primary-path-detect bfd echo
ip route-static recursive-lookup segment-routing-ipv6命令用来配置允许IPv4静态路由继承迭代路由的SRv6 SID信息。
undo ip route-static recursive-lookup segment-routing-ipv6命令用来恢复缺省情况。
【命令】
ip route-static recursive-lookup segment-routing-ipv6
undo ip route-static recursive-lookup segment-routing-ipv6
【缺省情况】
不允许IPv4静态路由继承迭代路由的SRv6 SID信息。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
如果静态路由的下一跳不是直连的,则需要进行路由迭代。当静态路由的下一跳迭代到SRv6 BE或SRv6 TE Policy路径时,缺省情况下,静态路由不会继承迭代路由的SRv6 SID信息,即设备不会为满足匹配该静态路由的报文添加迭代路由的SRv6 SID信息。
配置本功能后,如果静态路由的下一跳迭代到了SRv6 BE或SRv6 TE Policy路径,则静态路由会继承迭代路由的SRv6 SID信息,设备会对匹配该静态路由的报文添加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”。
【举例】
# 配置允许IPv4静态路由继承迭代路由的SRv6 SID信息。
<Sysname> system-view
[Sysname] ip route-static recursive-lookup segment-routing-ipv6
ip route-static recursive-lookup tunnel命令用来配置允许静态路由迭代LSP隧道。
undo ip route-static recursive-lookup tunnel命令用来恢复缺省情况。
【命令】
ip route-static recursive-lookup tunnel [ prefix-list ipv4-prefix-list-name ] [ tunnel-policy tunnel-policy-name | tunnel-selector tunnel-selector-name ]
undo ip route-static recursive-lookup tunnel
【缺省情况】
静态路由不能迭代到LSP隧道。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
prefix-list ipv4-prefix-list-name:IPv4地址前缀列表名,为1~63个字符的字符串,区分大小写。只有通过IP前缀列表过滤的静态路由才能迭代到LSP隧道。如果未指定本参数,则允许所有静态路由迭代到LSP隧道。
tunnel-policy tunnel-policy-name:静态路由只能迭代到满足相应隧道策略的LSP隧道。tunnel-policy-name表示隧道策略名称,为1~19字符的字符串,区分大小写。
tunnel-selector tunnel-selector-name:静态路由只能迭代到满足相应隧道策略的LSP隧道。tunnel-selector-name表示隧道迭代器名称,为1~40个字符的字符串,区分大小写。
【使用指导】
用户访问网络时,如果报文在转发路径上均采用IP转发,则运营商网络中的设备需要学习大量的路由。通过本功能在用户接入设备上配置允许静态路由迭代到LSP隧道,使用户报文通过标签转发方式在运营商网络中转发,运营商设备不再需要用户网络的路由,从而减轻设备的负担,节约设备上的路由资源。
如果静态路由的下一跳信息不是直接可达的,则会进行路由迭代。缺省情况下,静态路由只能迭代到出接口和下一跳,不会迭代到LSP隧道。配置了本命令后,静态路由将优先迭代到LSP隧道。如果迭代LSP隧道成功,则匹配该静态路由的报文会通过LSP隧道进行标签转发。如果迭代LSP隧道失败,则静态路由会继续进行路由迭代找到到达下一跳的直连出接口,匹配该静态路由的报文会进行IP转发。
在系统视图下多次执行本命令,最后一次执行的命令生效。
【举例】
# 配置允许静态路由迭代到LSP隧道。
<Sysname> system-view
[Sysname] ip route-static recursive-lookup tunnel
ip route-static vpn-instance命令用来为VPN实例配置静态路由。
undo ip route-static vpn-instance命令用来删除为VPN实例配置的静态路由。
【命令】
ip route-static vpn-instance s-vpn-instance-name dest-address { mask-length | mask } interface-type interface-number [ next-hop-address [ nexthop-index index-string ] | dhcp ] [ backup-interface interface-type interface-number [ backup-nexthop backup-nexthop-address ] [ permanent ] | bfd { control-packet | echo-packet | static session-name } | permanent | track track-entry-number ] [ preference preference ] [ tag tag-value ] [ recursive-lookup ] [ description text ]
ip route-static vpn-instance s-vpn-instance-name dest-address { mask-length | mask } interface-type interface-number next-hop-address [ nexthop-index index-string ] track-arp [ preference preference ] [ tag tag-value ] [ description text ]
ip route-static vpn-instance s-vpn-instance-name dest-address { mask-length | mask } next-hop-address [ nexthop-index index-string ] [ recursive-lookup { host-route | longest-match } ] [ public ] [ bfd { control-packet bfd-source ip-address | static session-name } | permanent | track track-entry-number ] [ preference preference ] [ tag tag-value ] [ recursive-lookup ] [ description text ]
ip route-static vpn-instance s-vpn-instance-name dest-address { mask-length | mask } vpn-instance d-vpn-instance-name next-hop-address [ nexthop-index index-string ] [ recursive-lookup { host-route | longest-match } ] [ bfd { control-packet bfd-source ip-address | static session-name } | permanent | track track-entry-number ] [ preference preference ] [ tag tag-value ] [ recursive-lookup ] [ description text ]
ip route-static vpn-instance s-vpn-instance-name group group-name interface-type interface-number [ next-hop-address | dhcp ] [ backup-interface interface-type interface-number [ backup-nexthop backup-nexthop-address ] [ permanent ] | bfd { control-packet | echo-packet | static session-name } | permanent | track track-entry-number ] [ preference preference ] [ tag tag-value ] [ recursive-lookup ] [ description text ]
ip route-static vpn-instance s-vpn-instance-name group group-name interface-type interface-number next-hop-address track-arp [ preference preference ] [ tag tag-value ] [ description text ]
ip route-static vpn-instance s-vpn-instance-name group group-name next-hop-address [ recursive-lookup { host-route | longest-match } ] [ public ] [ bfd { control-packet bfd-source ip-address | static session-name } | permanent | track track-entry-number ] [ preference preference ] [ tag tag-value ] [ recursive-lookup ] [ description text ]
ip route-static vpn-instance s-vpn-instance-name group group-name vpn-instance d-vpn-instance-name next-hop-address [ recursive-lookup { host-route | longest-match } ] [ bfd { control-packet bfd-source ip-address | static session-name } | permanent | track track-entry-number ] [ preference preference ] [ tag tag-value ] [ recursive-lookup ] [ description text ]
undo ip route-static vpn-instance s-vpn-instance-name { dest-address { mask-length | mask } | group group-name } [ interface-type interface-number [ next-hop-address | dhcp ] | next-hop-address [ public ] | vpn-instance d-vpn-instance-name next-hop-address ] [ preference preference ]
ip route-static vpn-instance s-vpn-instance-name { dest-address { mask-length | mask } | group group-name } { public | vpn-instance d-vpn-instance-name } [ preference preference ] [ tag tag-value ] [ description text ]
undo ip route-static vpn-instance s-vpn-instance-name { dest-address { mask-length | mask } | group group-name } [ public | vpn-instance d-vpn-instance-name ] [ preference preference ]
ip route-static vpn-instance s-vpn-instance-name dest-address { mask-length | mask } { 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 ip route-static vpn-instance s-vpn-instance-name dest-address { mask-length | mask } [ srv6-policy { color color-value end-point { ipv4 ipv4-address | ipv6 ipv6-address } | name policy-name } ] [ preference preference ]
【缺省情况】
未为VPN实例配置静态路由。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
vpn-instance s-vpn-instance-name:指定源VPN实例。s-vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。每个VPN实例都有自己的路由表,配置的静态路由将被加入指定VPN实例的路由表。
dest-address:静态路由的目的IP地址,点分十进制格式。如果目的IP地址和掩码都为0.0.0.0(或掩码长度为0),则配置的路由为缺省路由。当没有匹配的路由表项时,将使用缺省路由进行报文转发。
mask-length:网络掩码长度,取值范围为0~32。
mask:网络掩码,点分十进制格式。
group group-name:指定静态路由配置组。group-name 表示配置组名称,为1~31个字符的字符串,区分大小写。按配置组配置静态路由时,配置组下的所有前缀会应用相同的下一跳、出接口信息。如果配置组不存在或者配置组中没有任何前缀,则不会创建静态路由。
vpn-instance d-vpn-instance-name:指定目的VPN实例。d-vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果指定目的VPN实例,但未指定next-hop-address参数,则静态路由将在目的VPN实例中查找出接口。如果指定目的VPN实例,且指定了next-hop-address参数,静态路由将根据配置的next-hop-address在目的VPN中查找出接口。如果指定目的VPN实例,但未指定next-hop-address参数,则目的VPN实例和源VPN实例不能相同。
interface-type interface-number:指定静态路由的出接口类型和接口号。在指定静态路由的出接口类型和接口号时需要注意的事项,详见使用指导。
next-hop-address:指定路由的下一跳的IP地址,点分十进制格式。在指定路由的下一跳的IP地址时需要注意的事项,详见使用指导。
next-hop-address:指定路由的下一跳的IP地址,点分十进制格式。在指定路由的下一跳的IP地址时需要注意的事项,详见使用指导。
dhcp:使用DHCP服务器为客户端指定的网关地址作为静态路由的下一跳地址。
nexthop-index index-string:指定路由的下一跳的索引标识。index-string表示索引标识,为1~93个字符的字符串,不区分大小写。如果未指定本参数,静态路由采用出接口和下一跳的IP地址作为索引标识。去往同一目的地的多条路由,其下一跳的索引标识不能相同。
recursive-lookup host-route:指定静态路由只能迭代到主机路由。当使用本参数指定静态路由迭代到主机路由时,需要在下一跳对应的出接口上配置arp route-direct advertise命令开启ARP直连路由通告功能,通告32位主机路由。
recursive-lookup longest-match:指定静态路由迭代到子网掩码长度最长匹配的路由。
backup-interface interface-type interface-number:备份出接口。对于备份出接口为非P2P类型的接口时(包括NBMA类型接口或广播类型接口),必须同时指定其对应的备份下一跳地址。interface-type interface-number为指定的接口类型和编号。
backup-nexthop backup-nexthop-address:备份下一跳地址。
bfd:使能BFD(Bidirectional Forwarding Detection,双向转发检测)功能,对静态路由下一跳的可达性进行快速检测,当下一跳不可达时可以快速切换到备份路由。
control-packet:通过BFD控制报文方式实现BFD功能。
bfd-source ip-address:BFD源IP地址。建议配置为Loopback接口IP地址。
echo-packet:通过BFD echo报文方式实现BFD功能。
static session-name:将静态路由与静态BFD会话相关联。session-name表示静态BFD会话名称,为1~64个字符的字符串,区分大小写。指定的静态BFD会话可以不存在,但要使配置生效,必须创建静态BFD会话。使用静态BFD会话检测静态路由下一跳的可达性时,需要将静态路由出接口的IP地址作为静态BFD会话的源地址,将静态路由下一跳的IP地址作为静态BFD会话的对端地址。
permanent:指定为永久静态路由。指定该参数后,如果对应的静态路由当前为激活状态,则后续无论出接口状态是Up还是Down,该路由均保持active状态,并始终保留在IP路由表中。如果静态路由未曾激活过,即便配置了permanent参数,该路由也不会出现在IP路由表中。
track track-entry-number:将静态路由与Track项相关联,track-entry-number为Track项的序号,取值范围为1~1024。关于Track的详细介绍,请参见“可靠性配置指导”中的“Track”。
track-arp:将静态路由与下一跳对应的ARP表项相关联。指定本参数后,当静态路由下一跳对应的ARP表项不存在时,该静态路由不激活。如果不指定本参数,则静态路由的激活状态与ARP表项无关。当使用本参数指定静态路由与下一跳对应的ARP表项联动时,建议通过ip route-static arp-request命令配置设备周期性向静态路由下一跳发送ARP请求,以免ARP表项老化导致该静态路由不激活。
public:指定公网实例。如果指定next-hop-address参数后再指定公网实例,表示下一跳是公网地址,静态路由将根据next-hop-address在公网实例中查找出接口。如果仅指定next-hop-address参数,未指定公网实例,则静态路由将根据next-hop-address在源VPN实例中查找出接口。如果未指定next-hop-address参数,但指定公网实例,则静态路由将在公网实例中查找出接口。
srv6-policy name policy-name:配置静态路由迭代到指定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:配置静态路由迭代到指定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:配置静态路由迭代到指定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部分。
preference preference:指定静态路由的优先级,取值范围为1~255,缺省值为60。优先级数值越小,该路由越优先。对于为同一目的地配置多条路由,如果指定相同的优先级,则实现路由负载分担;如果指定不同的优先级,则实现路由备份。
tag tag-value:静态路由Tag值,用于标识该条静态路由,以便在路由策略中根据Tag对路由进行灵活的控制。tag-value的取值范围为1~4294967295,缺省值为0。关于路由策略的详细信息,请参见“三层技术-IP路由配置指导”中的“路由策略”。
recursive-lookup:开启静态路由下一跳循环迭代功能(即允许迭代到更大网段的路由)。如果不指定本参数,则表示关闭静态路由的下一跳循环迭代功能。
description text:配置的静态路由描述信息,取值范围为1~150个字符。除“?”外,可以包含空格等特殊字符。
【使用指导】
本命令用来为VPN实例配置静态路由。配置完成后,设备会将VPN实例中匹配该路由的报文发往静态路由指定的下一跳、出接口、VPN实例等。
当网络结构比较简单时,只需配置静态路由就可以使网络正常工作。当设备不能使用动态路由协议或者不能建立到达目的网络的路由时,也可以使用静态路由。
配置静态路由时,可根据实际需要指定出接口或下一跳地址。需要注意的是:
· 对于Null0接口,配置了出接口就不需要配置下一跳地址。
· 对于点到点接口,配置时可以只指定出接口,不指定下一跳地址。这样,即使对端地址发生了变化也无须改变配置。
· 对于NBMA、P2MP等接口,需要进行IP地址到链路层地址的映射,建议同时配置出接口和下一跳IP地址。
· 对于广播类型接口,因为可能有多个下一跳,配置时必须同时指定出接口和下一跳IP地址。
配置静态路由时需要注意的是:
· 路由震荡时,使能BFD检测功能可能会加剧震荡,需谨慎使用。关于BFD的详细介绍,请参考“可靠性配置指导”中的“BFD”。
· 如果Track模块通过NQA探测私网静态路由中下一跳的可达性,静态路由下一跳的VPN实例号与NQA测试组配置的实例号必须相同,才能进行正常的探测。
· 在静态路由进行迭代时,Track项监测的应该是静态路由真正的下一跳,而不是配置的下一跳。否则,可能导致错误地将有效路由判断为无效路由。
· 参数permanent不能和bfd、track一起进行配置。
接口通过DHCP方式获取到IP地址和网关地址后,设备会自动生成一条目的地址为0.0.0.0/0、下一跳地址为Default router(DHCP服务器为客户端指定的网关地址)的静态路由,该路由无法与手工配置的静态路由形成等价路由。只有当手工指定的静态路由失效时,自动生成的静态路由才能指导报文转发。在手工指定和DHCP自动生成的静态路由均需要转发报文的场景下(例如双WAN出口的网络),需要执行本配置来创建基于DHCP的静态路由。
执行本命令时如果指定了dhcp参数,设备会自动生成一条以Default router为下一跳的静态路由,该路由只有在设备作为DHCP客户端获取到IP地址和网关地址后才会生效。该路由可以和手工配置的静态路由形成等价路由。DHCP服务器为客户端指定的网关地址发生变化时,设备自动将静态路由下一跳地址修改为变化后的网关地址。仅当静态路由的出接口为广播类型的接口时支持指定dhcp参数。
如果未指定recursive-lookup longest-match和recursive-lookup host-route参数,则静态路由优先迭代到直连路由。仅当未查找到匹配的直连路由时,才会迭代到子网掩码长度最长匹配的路由。上述机制可能会引发如下问题:设备直连路由的目的地址网段包含静态路由的下一跳地址时,静态路由会迭代下一跳至该直连路由,此时设备认为静态路由的下一跳地址为本地直连,而该下一跳可能是错误的下一跳,导致匹配该静态路由的报文转发失败。指定recursive-lookup longest-match参数后,静态路由会迭代到子网掩码长度最长匹配的路由,以保证迭代到正确的下一跳。指定recursive-lookup host-route参数后,静态路由只能迭代到子网掩码长度为32的主机路由,只有当主机路由可达时,该静态路由才会激活。
静态路由进行路由迭代时,若迭代路由的目的地址范围包含该静态路由的目的地址,例如某条静态路由10.1.0.0/24的迭代路由的目的地址为10.1.0.0/16,则认为发生了循环迭代。在开启静态路由下一跳循环迭代功能之前,循环迭代会导致本次迭代失败并继续进行路由迭代。在开启静态路由下一跳循环迭代功能之后,只要迭代路由的出接口为设备的直连出接口,则即使发生了循环迭代,也认为本次迭代成功。经过循环迭代找到出接口的静态路由不允许被其他路由协议发布到其他设备。
参数recursive-lookup host-route、recursive-lookup longest-match和recursive-lookup互斥,不能同时配置。
【举例】
# 为实例名为vpn1的VPN实例配置静态路由,其目的地址为1.1.1.1/24,指定下一跳为VPN实例vpn2的地址2.2.2.2,Tag值为45,描述信息为“for internet”。
<Sysname> system-view
[Sysname] ip route-static vpn-instance vpn1 1.1.1.1 24 vpn-instance vpn2 2.2.2.2 tag 45 description for internet
【相关命令】
· display ip routing-table protocol(三层技术-IP路由命令参考/IP路由基础)
· ip route-static-group
· prefix
ip route-static-group命令用来创建静态路由配置组,并进入静态路由配置组视图。如果指定的静态路由配置组已经存在,则直接进入静态路由配置组视图。
undo ip route-static-group命令用来删除静态路由配置组。
【命令】
ip route-static-group group-name
undo ip route-static-group group-name
【缺省情况】
不存在静态路由配置组。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
group-name:指定静态路由配置组。group-name表示静态路由配置组名称,为1~31个字符的字符串,区分大小写。
【举例】
# 创建静态路由配置组test,并进入静态路由配置组视图。
<Sysname> system-view
[Sysname] ip route-static-group test
[Sysname-route-static-group-test]
【相关命令】
· ip route-static
· prefix
prefix命令用来在静态路由配置组中增加前缀。
undo prefix命令用来在静态路由配置组中删除前缀。
【命令】
prefix dest-address { mask-length | mask }
undo prefix dest-address { mask-length | mask }
【缺省情况】
静态路由配置组中未配置前缀。
【视图】
静态路由配置组视图
【缺省用户角色】
network-admin
【参数】
dest-address:静态路由的目的IP地址,点分十进制格式。
mask-length:网络掩码长度,取值范围为0~32。
mask:网络掩码,点分十进制格式。
【使用指导】
静态路由配置组用于对静态路由进行批量配置,节省配置工作量。多次执行本命令可以在静态路由配置组添加多个前缀,执行ip route-static group命令可以为这些前缀批量创建静态路由。
如果用户已经通过命令ip route-static group命令批量创建了静态路由,则之后用户每次在配置组视图下删除或新增前缀,配置组都会为该前缀同步删除或新增静态路由。
【举例】
# 在静态路由配置组test中,增加前缀1.1.1.1/32。
<Sysname> system-view
[Sysname] ip route-static-group test
[Sysname-route-static-group-test] prefix 1.1.1.1 32
【相关命令】
· ip route-static
· ip route-static-group
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!