10-路由策略命令
本章节下载: 10-路由策略命令 (166.30 KB)
apply cost命令用来配置路由信息的路由开销。
undo apply cost命令用来恢复缺省情况。
+:增加开销值。
-:减少开销值。
value:指定路由信息的路由开销,取值范围为0~4294967295。
# 创建一个名为policy1的路由策略,其节点序列号为10,匹配模式为permit。如果匹配cost值为20路由,那么设置该路由的路由开销为120。
[Sysname] route-policy policy1 permit node 10
[Sysname-route-policy-policy1-10] if-match cost 20
[Sysname-route-policy-policy1-10] apply cost 120
apply preference命令用来配置路由协议的优先级。
undo apply preference命令用来恢复缺省情况。
preference:路由的优先级,取值范围为1~255。
如果路由协议已经用命令preference配置了优先级,再用apply preference命令修改路由协议的优先级,则这些匹配策略的路由采用apply preference命令修改的优先级,其它路由的优先级均采用preference命令所设的值。
# 创建一个名为policy1的路由策略,其节点序列号为10,匹配模式为permit。如果匹配cost值为20的路由,那么设置该路由协议的优先级为90。
[Sysname] route-policy policy1 permit node 10
[Sysname-route-policy-policy1-10] if-match cost 20
[Sysname-route-policy-policy1-10] apply preference 90
apply prefix-priority命令用来配置路由的收敛优先级。
undo apply prefix-priority命令用来恢复缺省情况。
apply prefix-priority { critical | high | medium }
没有配置路由的收敛优先级。
critical:路由的收敛优先级为关键。
high:路由的收敛优先级为高。
medium:路由的收敛优先级中。
# 创建一个名为policy1的路由策略,其节点序列号为10,匹配模式为permit。如果匹配已存在的地址前缀列表abc,那么设置该路由的收敛优先级为关键。
[Sysname] route-policy policy1 permit node 10
[Sysname-route-policy-policy1-10] if-match ip address prefix-list abc
[Sysname-route-policy-policy1-10] apply prefix-priority critical
apply tag命令用来配置IGP路由信息的标记。
undo apply tag命令用来恢复缺省情况。
没有配置IGP路由信息的标记。
value:指定路由信息的标记值,取值范围为0~4294967295。
# 创建一个名为policy1的路由策略,其节点序列号为10,匹配模式为permit。配置IGP路由信息的标记为100。
[Sysname] route-policy policy1 permit node 10
[Sysname-route-policy-policy1-10] apply tag 100
continue命令用来配置下一个执行节点。
undo continue命令用来恢复缺省情况。
node-number:标识本命令会跳转到同一路由策略中的节点索引,取值范围为0~65535。
# 创建一个名为policy1的路由策略,其节点序列号为10,匹配模式为permit。定义continue子句,配置下一个执行节点序列号为20。
[Sysname] route-policy policy1 permit node 10
[Sysname-route-policy-policy1-10] continue 20
display route-policy命令用来显示配置的路由策略信息。
display route-policy [ name route-policy-name ]
name route-policy-name:指定显示的路由策略名,为1~63个字符的字符串,区分大小写。如果未指定本参数,将显示所有已配置的路由策略信息。
# 显示名为policy1的路由策略信息。
<Sysname> display route-policy name policy1
Route-policy: policy1
permit : 1
if-match cost 10
continue: next node 11
apply comm-list a delete
表1-1 display route-policy命令显示信息描述表
· permit表示允许 · deny表示拒绝 |
|
if-match子句,配置的匹配条件 |
|
continue字句,配置下一个执行节点 |
|
apply子句,如满足匹配条件,则要执行的动作 |
if-match cost命令用来配置路由信息的路由开销的匹配条件。
undo if-match cost命令用来恢复缺省情况。
value:路由开销,取值范围为0~4294967295。
路由策略的if-match子句之一,指定满足条件的路由信息的路由开销。
# 创建一个名为policy1的路由策略,其节点序列号为10,匹配模式为permit。定义一条if-match子句,允许路由开销为8的路由信息通过。
[Sysname] route-policy policy1 permit node 10
[Sysname-route-policy-policy1-10] if-match cost 8
if-match interface命令用来配置路由信息的出接口的匹配条件。
undo if-match interface命令用来取消该配置。
if-match interface { interface-type interface-number }&<1-16>
undo if-match interface [ interface-type interface-number ]&<1-16>
interface-type interface-number:指定接口类型和编号。
&<1-16>:表示前面的参数可以输入1~16次。
# 创建一个名为policy1的路由策略,其节点序列号为10,匹配模式为permit。定义一条if-match子句,匹配出接口为Vlan-interface1的路由信息。
[Sysname] route-policy policy1 permit node 10
[Sysname-route-policy-policy1-10] if-match interface vlan-interface 1
if-match tag命令用来配置IGP路由信息标记的匹配条件。
undo if-match tag命令用来恢复缺省情况。
没有配置IGP路由信息标记的匹配条件。
value:指定要求的标记值,取值范围为0~4294967295。
# 创建一个名为policy1的路由策略,其节点序列号为10,匹配模式为permit。定义一条if-match子句,匹配标记为8的IGP路由信息。
[Sysname] route-policy policy1 permit node 10
[Sysname-route-policy-policy1-10] if-match tag 8
route-policy命令用来创建路由策略,并进入该路由策略视图。
undo route-policy命令用来删除指定的路由策略。
route-policy route-policy-name { deny | permit } node node-number
undo route-policy route-policy-name [ deny | permit ] [ node node-number ]
route-policy-name:指定路由策略名,为1~63个字符的字符串,区分大小写。
deny:指定所定义的路由策略节点的匹配模式为拒绝模式,当路由项满足该节点的所有if-match子句时被拒绝通过该节点的过滤,并且不会进行下一个节点的匹配;如果路由项不满足该节点的if-match子句,将进入下一个节点继续匹配。
permit:指定所定义的路由策略节点的匹配模式为允许模式。当路由项满足该节点的所有if-match子句时被允许通过该节点的过滤并执行该节点的apply子句,如路由项不满足该节点的if-match子句,将继续匹配该路由策略的下一个节点。
node node-number:标识路由策略中的一个节点索引,当该路由策略用于路由信息过滤时,node-number小的节点先被匹配,取值范围为0~65535。
路由策略用于路由信息过滤。一个路由策略由若干节点组成,每一节点由一些if-match子句和apply子句组成。if-match子句定义该节点的匹配规则,apply子句定义通过该节点过滤后进行的动作。节点的if-match子句之间的过滤关系是“与”的关系,即必须满足该节点的所有if-match子句。路由策略节点之间的过滤关系是“或”的关系,即通过一个节点的过滤就意味着通过该路由策略的过滤。若没有通过任一节点的过滤,则表示没有通过该路由策略的过滤。
# 创建一个名为policy1的路由策略,其节点序列号为10,匹配模式为permit,并进入路由策略视图。
[Sysname] route-policy policy1 permit node 10
[Sysname-route-policy-policy1-10]
apply ip-address next-hop命令用来配置IPv4路由信息的下一跳地址。
undo apply ip-address next-hop命令用来恢复缺省情况。
apply ip-address next-hop ip-address [ public ]
undo apply ip-address next-hop
没有配置IPv4路由信息的下一跳地址。
ip-address:下一跳IP地址。
public:指定公网。
# 创建一个名为policy1的路由策略,其节点序列号为10,匹配模式为permit。如果匹配前缀列表号100的路由,那么设置路由信息的下一跳地址为193.1.1.8。
<Sysname> system-view
[Sysname] ip prefix-list 100 permit 192.168.10.1 24
[Sysname] route-policy policy1 permit node 10
[Sysname-route-policy-policy1-10] if-match ip address prefix-list 100
[Sysname-route-policy-policy1-10] apply ip-address next-hop 193.1.1.8
display ip prefix-list命令用来显示IPv4地址前缀列表的统计信息。
display ip prefix-list [ name prefix-list-name ]
name prefix-list-name:指定显示的地址前缀列表名,为1~63个字符的字符串,区分大小写。如果未指定本参数,将显示所有已配置的地址前缀列表的统计信息。
# 显示名为abc的地址前缀列表的统计信息。
<Sysname> display ip prefix-list name abc
Prefix-list: abc
Permitted 0
Denied 0
index: 10 deny 6.6.6.0/24 ge 26 le 28
表1-2 display ip prefix-list命令显示信息描述表
· permit:表示允许 · deny:表示拒绝 |
|
匹配的IP地址和掩码长度 |
|
即greater-equal,匹配的IP地址掩码长度的下限值 |
|
即less-equal,匹配的IP地址掩码长度的上限值 |
if-match ip命令用来配置IPv4的路由信息的匹配条件。
undo if-match ip命令用来取消该配置。
if-match ip { address | next-hop | route-source } { acl acl-number | prefix-list prefix-list-name }
undo if-match ip { address | next-hop | route-source } [ acl | prefix-list ]
没有配置IPv4的路由信息的匹配条件。
address:匹配IPv4路由信息的目的地址。
next-hop:匹配下一跳地址。
route-source:匹配路由发布的源地址。
acl acl-number:指定用于过滤的ACL号。对于address,acl-number的取值范围为2000~3999;对于next-hop和route-source,acl-number的取值范围为2000~2999。
prefix-list prefix-list-name:指定用于过滤的地址前缀列表名称,为1~63个字符的字符串,区分大小写。
# 创建一个名为policy1的路由策略,其节点序列号为10,匹配模式为permit。定义一个if-match子句,允许下一跳地址匹配已存在的地址前缀列表p1的路由信息通过。
[Sysname] route-policy policy1 permit node 10
[Sysname-route-policy-policy1-10] if-match ip next-hop prefix-list p1
ip prefix-list命令用来配置一个IPv4地址前缀列表表项。
undo ip prefix-list命令用来删除一个IPv4地址前缀列表或其某个表项。
undo ip prefix-list prefix-list-name [ index index-number ]
没有配置IPv4地址前缀列表。
prefix-list-name:指定IPv4地址前缀列表名,为1~63个字符的字符串,区分大小写。
index-number:标识IPv4地址前缀列表中的一条表项,index-number小的表项先被匹配,取值范围为1~65535。
deny:指定所定义的IPv4地址前缀列表表项的匹配模式为拒绝模式。当指定为拒绝模式并且待过滤的IPv4地址在该表项指定的前缀范围内时,则该IPv4地址不能通过该表项的过滤,并且不会进行下一个表项的匹配,否则进入下一表项的匹配。
permit:指定所定义的IPv4地址前缀列表表项的匹配模式为允许模式。当指定为允许模式并且待过滤的IPv4地址在该表项指定的前缀范围内时,通过该表项的过滤不进入下一个节点的匹配;如待过滤的IPv4地址不在该表项指定的前缀范围内,则进行下一表项匹配。
ip-address mask-length:指定IPv4地址前缀和前缀长度,mask-length的取值范围为0~32。
min-mask-length、max-mask-length:如果IPv4地址和前缀长度都已匹配,则使用该参数来指定地址前缀长度范围。greater-equal的含义为“大于等于”,less-equal的含义为“小于等于”,其取值范围为mask-length <= min-mask-length <= max-mask-length <= 32。如果只指定min-mask-length时,则前缀长度范围为[ min-mask-length,32 ];如果只指定max-mask-length时,则前缀长度范围为[ mask-length,max-mask-length ];如果二者都指定,则前缀长度范围为[ min-mask-length,max-mask-length ]。
IPv4地址前缀列表用于IPv4地址的过滤。一个IPv4地址前缀列表可以有若干条表项,每一表项指定一个地址前缀范围。表项之间的过滤关系是“或”的关系,即通过一条表项的过滤就意味着通过该IPv4地址前缀列表的过滤。若没有通过任一表项的过滤,则不能通过该IPv4地址前缀列表的过滤。
· 如果将ip-address mask-length指定为0.0.0.0 0,则只匹配缺省路由。
· 如果需要匹配所有路由,则应配置为0.0.0.0 0 less-equal 32。
# 定义一条名为p1的IPv4地址前缀列表,只允许10.0.0.0/8网段的,掩码长度为17或18的路由通过。
[Sysname] ip prefix-list p1 permit 10.0.0.0 8 greater-equal 17 less-equal 18
reset ip prefix-list命令用来清除指定的IPv4地址前缀列表的统计信息。
reset ip prefix-list [ prefix-list-name ]
prefix-list-name:指定地址前缀列表的名称,为1~63个字符的字符串,区分大小写。如果未指定本参数,将清除所有的IPv4地址前缀列表的统计信息。
# 清除IPv4地址前缀列表abc的统计信息。
<Sysname> reset ip prefix-list abc
apply ipv6 next-hop命令用来配置IPv6路由信息的下一跳地址。
undo apply ipv6 next-hop命令用来恢复缺省情况。
apply ipv6 next-hop ipv6-address
没有配置IPv6路由信息的下一跳地址。
ipv6-address:指定下一跳IPv6地址。
引入路由时,使用apply ipv6 next-hop命令设置下一跳地址无效。
# 创建一个名为policy1的路由策略,其节点序列号为10,匹配模式为permit。如果匹配前缀列表号100的路由,那么设置路由信息的下一跳地址为3ffe:506::1。
<Sysname> system-view
[Sysname] ipv6 prefix-list 100 permit 2::2 64
[Sysname] route-policy policy1 permit node 10
[Sysname-route-policy-policy1-10] if-match ipv6 address prefix-list 100
[Sysname-route-policy-policy1-10] apply ipv6 next-hop 3ffe:506::1
display ipv6 prefix-list命令用来显示IPv6地址前缀列表的统计信息。
display ipv6 prefix-list [ name prefix-list-name ]
name prefix-list-name:指定IPv6地址前缀列表的名称,为1~63个字符的字符串,区分大小写。如果未指定本参数,将显示所有配置的IPv6地址前缀列表的统计信息。
# 显示所有IPv6地址前缀列表的统计信息。
<Sysname> display ipv6 prefix-list
Prefix-list6: 666
Permitted 0
Denied 0
index: 10 permit 6::/64 ge 66 le 88
表1-3 display ipv6 prefix-list命令显示信息描述表
IPv6地址前缀列表的名字 |
|
· permit:表示允许 · deny:表示拒绝 |
|
匹配的IPv6 地址和前缀长度 |
|
即greater-equal,匹配的IPv6前缀长度的下限值 |
|
即less-equal,匹配的IPv6前缀长度的上限值 |
· ipv6 prefix-list
· reset ipv6 prefix-list
if-match ipv6命令用来配置IPv6的路由信息的匹配条件。
undo if-match ipv6命令用来恢复取消该配置。
undo if-match ipv6 { address | next-hop | route-source } [ acl | prefix-list ]
没有配置IPv6的路由信息的匹配条件。
address:匹配IPv6路由信息的目的地址。
next-hop:匹配IPv6路由信息的下一跳。
route-source:匹配IPv6路由信息的源地址。
acl acl6-number:指定用于过滤的IPv6 ACL号。对于address,acl6-number的取值范围为2000~3999;对于next-hop和route-source,acl6-number的取值范围为2000~2999。
prefix-list prefix-list-name:指定用于过滤的IPv6地址前缀列表的名称,为1~63个字符的字符串,区分大小写。
# 创建一个名为policy1的路由策略,其节点序列号为10,匹配模式为permit。定义一条if-match子句,允许下一跳地址匹配已存在的IPv6地址前缀列表p1的路由信息通过。
[Sysname] route-policy policy1 permit node 10
[Sysname-route-policy-policy1-10] if-match ipv6 next-hop prefix-list p1
ipv6 prefix-list命令用来配置IPv6地址前缀列表表项。
undo ipv6 prefix-list命令用来删除IPv6地址前缀列表或其中某个表项。
undo ipv6 prefix-list prefix-list-name [ index index-number ]
没有配置IPv6地址前缀列表。
prefix-list-name:指定IPv6地址前缀列表名,为1~63个字符的字符串,区分大小写。
index-number:标识IPv6地址前缀列表中的一条表项,index-number小的表项先被匹配,取值范围为1~65535。
deny:指定所定义的IPv6地址前缀列表表项的匹配模式为拒绝模式。当指定为拒绝模式并且待过滤的IPv6地址在该表项指定的前缀范围内时,则该IPv6地址不能通过该表项的过滤,并且不会进行下一个表项的匹配,否则进入下一表项的匹配。
permit:指定所定义的IPv6地址前缀列表表项的匹配模式为允许模式。当指定为允许模式并且待过滤的IPv6地址在该表项指定的前缀范围内时,通过该表项的过滤不进入下一个节点的匹配;如待过滤的IPv6地址不在该表项指定的前缀范围内,则进行下一表项匹配。
ipv6-address prefix-length:指定IPv6地址前缀和前缀长度,当指定为:: 0时匹配缺省路由,prefix-length的取值范围为0~128。
greater-equal min-prefix-length:大于等于最小前缀长度。
less-equal max-prefix-length:小于等于最大前缀长度。
前缀长度范围可以表达为prefix-length <= min-prefix-length <= max-prefix-length <= 128。如果只指定了min-prefix-length,则前缀范围为[ min-prefix-length,128 ];如果只指定了max-prefix-length,则前缀范围为[ prefix-length,max-prefix-length ];如果二者都指定,则前缀范围为[ min-prefix-length,max-prefix-length ]。
inverse prefix-length:指定反向掩码长度,当指定inverse参数时,从IPv6地址的末位开始匹配,prefix-length取值只能为1,即匹配IPv6地址的最后一位。
IPv6地址前缀列表用于IPv6地址过滤。一个IPv6地址前缀列表可包含多个表项,一个表项指定一个地址前缀范围。表项之间的过滤关系是“或”,即通过一个表项就可通过该IPv6地址前缀列表的过滤。没有通过任何一个表项的过滤就意味着没有通过该IPv6地址前缀列表的过滤。
指定inverse参数可以用来区分128位 IPv6主机路由的奇偶路由(末位为0为偶,末位为1为奇),以便对奇偶路由采取不同的策略。
· 如果将ipv6-address prefix-length指定为:: 0,则只匹配缺省路由。
· 如果需要匹配所有路由,则应配置为:: 0 less-equal 128。
# 配置一条IPv6地址前缀列表,允许前缀长度在32位到64位之间的IPv6地址通过。
[Sysname] ipv6 prefix-list abc permit :: 0 greater-equal 32 less-equal 64
# 配置一条IPv6地址前缀列表,拒绝地址前缀为3FFE:D00::/32,前缀长度大于等于32位的IPv6地址通过。
[Sysname] ipv6 prefix-list abc deny 3FFE:D00:: 32 less-equal 128
# 配置一条IPv6地址前缀列表,允许第128位为0的IPv6地址通过。
[Sysname] ipv6 prefix-list abc permit ::0 inverse 1
# 配置一条IPv6地址前缀列表,允许第128位为1的IPv6地址通过。
[Sysname] ipv6 prefix-list abc permit ::1 inverse 1
· display ipv6 prefix-list
· reset ipv6 prefix-list
reset ipv6 prefix-list命令用来清除指定的IPv6地址前缀列表的统计信息。
reset ipv6 prefix-list [ prefix-list-name ]
prefix-list-name:指定地址前缀列表的名称。该名称必须唯一,为1~63个字符的字符串,区分大小写。如果未指定本参数,将清除所有的IPv6地址前缀列表的统计信息。
# 清除指定IPv6地址前缀列表的统计信息。
<Sysname> reset ipv6 prefix-list abc
· display ipv6 prefix-list
· ipv6 prefix-list
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!