06-Flowspec命令
本章节下载: 06-Flowspec命令 (287.57 KB)
目 录
1.1.2 address-family ipv4 flowspec (BGP instance view)
1.1.3 address-family ipv4 flowspec (BGP-VPN instance view)
1.1.4 address-family ipv4 flowspec (VPN instance view)
1.1.5 address-family vpnv4 flowspec
1.1.7 check flow-route-configuration
1.1.9 display bgp routing-table ipv4 flowspec
1.1.10 display bgp routing-table vpnv4 flowspec
1.1.12 flow-route (system view)
1.1.13 flow-route (Flowspec IPv4 address family view)
1.1.16 peer next-hop-invariable
address-family ipv4命令用来创建Flowspec IPv4地址族,并进入Flowspec IPv4地址族视图。如果指定的Flowspec IPv4地址族已经存在,则直接进入Flowspec IPv4地址族视图。
undo address-family ipv4命令用来删除Flowspec IPv4地址族及Flowspec IPv4地址族视图下的所有配置。
【命令】
address-family ipv4 [ vpn-instance vpn-instance-name ]
undo address-family ipv4 [ vpn-instance vpn-instance-name ]
【缺省情况】
不存在Flowspec IPv4地址族。
【视图】
Flowspec视图
【缺省用户角色】
network-admin
【参数】
vpn-instance vpn-instance-name:指定VPN实例的Flowspec IPv4地址族。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果未指定本参数,则表示创建公网Flowspec IPv4地址族。
【举例】
# 创建公网Flowspec IPv4地址族,并进入Flowspec IPv4地址族视图。
<Sysname> system-view
[Sysname] flowspec
[Sysname-flowspec] address-family ipv4
[Sysname-flowspec-ipv4]
address-family ipv4 flowspec命令用来创建BGP IPv4 Flowspec地址族,并进入BGP IPv4 Flowspec地址族视图。如果指定的BGP IPv4 Flowspec地址族已经存在,则直接进入BGP IPv4 Flowspec地址族视图。
undo address-family ipv4 flowspec命令用来删除BGP IPv4 Flowspec地址族及BGP IPv4 Flowspec地址族视图下的所有配置。
【命令】
address-family ipv4 flowspec
undo address-family ipv4 flowspec
【缺省情况】
不存在BGP IPv4 Flowspec地址族。
【视图】
BGP实例视图
【缺省用户角色】
network-admin
【使用指导】
BGP IPv4 Flowspec地址族视图下的配置,只对BGP IPv4 Flowspec地址族的路由和对等体生效。
【举例】
# 创建BGP IPv4 Flowspec地址族,并进入BGP IPv4 Flowspec地址族视图。
<Sysname> system-view
[Sysname] bgp 100
[Sysname-bgp-default] address-family ipv4 flowspec
[Sysname-bgp-default-ipv4-flowspec]
address-family ipv4 flowspec命令用来创建BGP-VPN IPv4 Flowspec地址族,并进入BGP-VPN IPv4 Flowspec地址族视图。如果指定的BGP-VPN IPv4 Flowspec地址族已经存在,则直接进入BGP-VPN IPv4 Flowspec地址族视图。
undo address-family ipv4 flowspec命令用来删除BGP-VPN IPv4 Flowspec地址族及BGP-VPN IPv4 Flowspec地址族视图下的所有配置。
【命令】
address-family ipv4 flowspec
undo address-family ipv4 flowspec
【缺省情况】
不存在BGP-VPN IPv4 Flowspec地址族。
【视图】
BGP-VPN实例视图
【缺省用户角色】
network-admin
【使用指导】
BGP-VPN IPv4 Flowspec地址族视图下的配置,只对BGP-VPN IPv4 Flowspec地址族的路由和对等体生效。
【举例】
# 在BGP实例default的BGP-VPN实例视图下,创建BGP-VPN IPv4 Flowspec地址族,并进入BGP-VPN IPv4 Flowspec地址族视图。
<Sysname> system-view
[Sysname] bgp 100
[Sysname-bgp-default] ip vpn-instance vpn1
[Sysname-bgp-default-vpn1] address-family ipv4 flowspec
[Sysname-bgp-default-flowspec-ipv4-vpn1]
address-family ipv4 flowspec命令用来进入IPv4 Flowspec VPN视图。
undo address-family ipv4 flowspec命令用来删除IPv4 Flowspec VPN视图下的所有配置。
【命令】
address-family ipv4 flowspec
undo address-family ipv4 flowspec
【视图】
VPN实例视图
【缺省用户角色】
network-admin
【使用指导】
在IPv4 Flowspec VPN视图下可以配置IPv4 Flowspec VPN的参数,如IPv4 Flowspec VPN视图下配置VPN实例的Route Target。
【举例】
# 进入IPv4 Flowspec VPN视图。
<Sysname> system-view
[Sysname] ip vpn-instance vpn1
[Sysname-vpn-instance-vpn1] address-family ipv4 flowspec
[Sysname-vpn-ipv4-vpn1-flowspec]
address-family vpnv4 flowspec命令用来创建BGP VPNv4 Flowspec地址族,并进入BGP VPNv4 Flowspec地址族视图。如果指定的BGP VPNv4 Flowspec地址族已经存在,则直接进入BGP VPNv4 Flowspec地址族视图。
undo address-family vpnv4 flowspec命令用来删除BGP VPNv4 Flowspec地址族及BGP VPNv4 Flowspec地址族视图下的所有配置。
【命令】
address-family vpnv4 flowspec
undo address-family vpnv4 flowspec
【缺省情况】
不存在BGP VPNv4 Flowspec地址族。
【视图】
BGP实例视图
【缺省用户角色】
network-admin
【举例】
# 创建BGP VPNv4 Flowspec地址族,并进入BGP VPNv4 Flowspec地址族视图。
<Sysname> system-view
[Sysname] bgp 100
[Sysname-bgp-default] address-family vpnv4 flowspec
[Sysname-bgp-default-vpnv4-flowspec]
apply命令用来配置Flowspec路由中的流量动作。
undo apply命令用来取消Flowspec路由中配置的流量动作。
【命令】
apply action
undo apply action
【缺省情况】
Flowspec路由中未配置流量动作。
【视图】
Flowspec路由视图
【缺省用户角色】
network-admin
【参数】
action:对流量应用的动作,具体情况如表1-1所示。
取值 |
描述 |
deny |
配置流量丢弃动作 |
redirect { next-hop ipv4-address [ copy-mode ] | vpn-target import-vpn-target } |
配置流量重定向动作 next-hop ipv4-address [ copy-mode ]表示流量重定向到下一跳动作 ipv4-address:指定下一跳IPv4地址 copy-mode:复制一份规则匹配的流量并执行重定向到下一跳动作,即将规则匹配的流量镜像到下一跳IPv4地址,当前暂不支持 vpn-target import-vpn-target表示流量重定向到指定的Route Target动作 import-vpn-target:指定入方向Route Target值,为3-21个字符的字符串,Route Target有三种格式: 16位自治系统号:32位用户自定义数,例如:100:3 32位IP地址:16位用户自定义数,例如:192.168.122.15:1 32位自治系统号:16位用户自定义数字,其中的自治系统号最小值为65536。例如:65536:1 |
remark-dscp dscp-value |
配置重新标记报文DSCP值的动作 dscp-value:DSCP值,取值范围为0~63,也可以输入关键字,具体如表1-2所示 |
traffic-rate rate |
配置流量限速动作 rate:流量传输速率,整数形式,单位为kbps,取值范围是1~100000000。当配置流量传输速率小于8kbps时,实际会以8kbps生效。 |
表1-2 DSCP关键字与值的对应表
关键字 |
DSCP值(二进制) |
DSCP值(十进制) |
default |
000000 |
0 |
af11 |
001010 |
10 |
af12 |
001100 |
12 |
af13 |
001110 |
14 |
af21 |
010010 |
18 |
af22 |
010100 |
20 |
af23 |
010110 |
22 |
af31 |
011010 |
26 |
af32 |
011100 |
28 |
af33 |
011110 |
30 |
af41 |
100010 |
34 |
af42 |
100100 |
36 |
af43 |
100110 |
38 |
cs1 |
001000 |
8 |
cs2 |
010000 |
16 |
cs3 |
011000 |
24 |
cs4 |
100000 |
32 |
cs5 |
101000 |
40 |
cs6 |
110000 |
48 |
cs7 |
111000 |
56 |
ef |
101110 |
46 |
【使用指导】
同一Flowspec路由视图下:
· 对流量多次应用相同类型动作时,最后一次执行的命令生效。
· 不同类型流量动作之间的关系为“与(and)”。
重定向到下一跳动作只支持应用到公网地址族下。
在配置重定向到下一跳的动作时,指定的下一跳地址必须路由可达,否则将导致重定向动作失效。在配置生效后,重定向功能会定期查询路由表,检查下一跳地址是否有效。如果检测到下一跳地址失效,则重定向到下一跳的动作将不再生效。
【举例】
# 应用流量丢弃动作。
<Sysname> system-view
[Sysname] flow-route route1
[Sysname-flow-route-route1] if-match port 23
[Sysname-flow-route-route1] apply deny
# 应用流量重定向动作。
<Sysname> system-view
[Sysname] flow-route route1
[Sysname-flow-route-route1] if-match port 23
[Sysname-flow-route-route1] apply redirect vpn-target 4:4
# 应用重新标记报文DSCP值为af11的动作。
<Sysname> system-view
[Sysname] flow-route route1
[Sysname-flow-route-route1] if-match port 23
[Sysname-flow-route-route1] apply remark-dscp af11
# 应用流量限速动作,限制传输速率为419200 kbps。
<Sysname> system-view
[Sysname] flow-route route1
[Sysname-flow-route-route1] if-match port 23
[Sysname-flow-route-route1] apply traffic-rate 419200
check flow-route-configuration命令用来查看Flowspec路由下未生效的匹配规则及流量动作。
【命令】
check flow-route-configuration
【视图】
Flowspec路由视图
【缺省用户角色】
network-admin
【使用指导】
首次在Flowspec路由视图下配置匹配规则或流量动作后,未配置commit命令时,执行本命令将会显示所有未生效的配置信息。
Flowspec路由视图下存在已生效的匹配规则或流量动作后,继续添加匹配规则或流量动作但未配置commit命令时,执行本命令将显示Flowspec路由下所有配置的匹配规则和流量动作,包括已生效的部分。对于已生效的配置,可通过在Flowspec路由视图下执行display this命令显示。
【举例】
# 查看Flowspec路由下未生效的匹配规则及流量动作。
<Sysname> system-view
[Sysname] flow-route route1
[Sysname-flow-route-route1] check flow-route-configuration
Traffic filtering rules:
Destination IP : 1.1.0.0 255.255.0.0
Destination port : 23
DSCP : 24
Fragment type : match fragment
ICMP code : 8
ICMP type : 10
Packet length : 150
Protocol : 2
Source IP : 1.1.0.0 255.255.0.0
Source port : 238 to 240 550
TCP flags : match 23
Traffic filtering actions:
Traffic rate : 1000(kbps)
DSCP marking : 56
Redirecting to VPN target : 1:2
表1-3 check flow-route-configuration命令显示信息描述表
字段 |
描述 |
Traffic filtering rules |
Flowspec路由视图下未生效的匹配规则,关于匹配规则的详细描述,请参见表1-4当Flowspec路由视图下未配置匹配规则或配置的匹配规则已生效,则显示N/A |
Traffic filtering actions |
Flowspec路由视图下未生效的流量动作,关于流量动作的详细描述,请参见表1-5当Flowspec路由视图下未配置流量动作或配置的流量动作已生效,则显示N/A |
字段 |
描述 |
Destination IP |
匹配IPv4报文目的地址的规则 |
Destination port |
匹配目的端口的规则 |
DSCP |
匹配DSCP的规则 |
Fragment type |
匹配分片报文的规则: match:匹配等于指定分片规则的报文 not:匹配不等于指定分片规则的报文 fragment:分片报文 non-fragment:未分片报文 fragment-spe-first:分片报文中的首片 |
ICMP code |
匹配ICMP code的规则 |
ICMP type |
匹配ICMP type的规则 |
Packet length |
匹配三层报文长度(包括三层报文头)的规则 |
Port |
匹配目的或源端口的规则 |
Protocol |
匹配协议号的规则 |
Source IP |
匹配IPv4报文源地址的规则 |
Source port |
匹配源端口的规则 |
TCP flags |
匹配TCP flag的规则: match:匹配指定TCP flag值的报文 not:匹配不等于指定TCP flag值的报文 |
字段 |
描述 |
Deny |
流量丢弃动作 |
Traffic rate |
流量限速动作 |
Redirect VPN target |
流量重定向到Route Target动作 |
Redirect next-hop |
流量重定向到下一跳动作 |
DSCP marking |
重新标记报文DSCP值的动作 |
【相关命令】
· commit
commit命令用来使Flowspec路由下配置的匹配规则及流量动作生效。
【命令】
commit
【缺省情况】
Flowspec路由下配置的匹配规则及流量动作未生效。
【视图】
Flowspec路由视图
【缺省用户角色】
network-admin
【使用指导】
Flowspec路由中的匹配规则和流量动作支持动态修改,为了减少动态修改引起的网络抖动现象,Flowspec路由下新配置的匹配规则及流量动作不会立即生效,必须执行commit命令后才能生效。
执行本命令前,建议使用check flow-route-configuration命令检查Flowspec路由下未生效的配置信息。
同一Flowspec IPv4地址族可以指定多条Flowspec路由,但不同Flowspec路由中不能存在相同且均已生效的匹配规则。
【举例】
# 使Flowspec路由下配置的匹配规则及流量动作生效。
<Sysname> system-view
[Sysname] flow-route route1
[Sysname-flow-route-route1] if-match port 23
[Sysname-flow-route-route1] apply traffic-rate 419200
[Sysname-flow-route-route1] commit
【相关命令】
· check flow-route-configuration
display bgp routing-table ipv4 flowspec命令用来显示BGP IPv4 Flowspec路由信息。
【命令】
display bgp [ instance instance-name ] routing-table ipv4 flowspec [ vpn-instance vpn-instance-name ] [ flowspec-prefix [ advertise-info ] | statistics ]
display bgp [ instance instance-name ] routing-table ipv4 flowspec [ vpn-instance vpn-instance-name ] peer ipv4-address { advertised-routes | received-routes } [ flowspec-prefix | statistics ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
instance instance-name:显示指定BGP实例的信息。instance-name表示BGP实例的名称,为1~31个字符的字符串,区分大小写。如果未指定本参数,则显示default实例的信息。
vpn-instance vpn-instance-name:显示指定VPN实例的BGP IPv4 Flowspec路由信息。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果不指定本参数,则显示公网BGP IPv4 Flowspec路由信息。
flowspec-prefix:显示精确匹配的BGP IPv4 Flowspec的详细信息。
advertise-info:显示BGP IPv4 Flowspec路由的通告信息。
peer ipv4-address:显示向指定对等体发布或者从指定对等体收到的BGP IPv4 Flowspec路由信息。ipv4-address为对等体的地址。
advertised-routes:显示向指定的对等体发布的路由信息。
received-routes:显示从指定的对等体接收到的路由信息。
statistics:显示路由的统计信息。
【使用指导】
如果没有指定任何参数,则显示所有BGP IPv4 Flowspec路由的简要信息。
【举例】
# 显示BGP实例default内公网所有BGP IPv4 Flowspec路由的简要信息。
<Sysname> display bgp routing-table ipv4 flowspec
Total number of routes: 1
BGP local router ID is 10.1.1.1
Status codes: * - valid, > - best, d - dampened, h - history,
s - suppressed, S - stale, i - internal, e – external
a – additional-path
Origin: i - IGP, e - EGP, ? - incomplete
Network NextHop MED LocPrf PrefVal Path/Ogn
* >e DEST:1.2.3.4/32,Proto:=0|=1|=60,DPort:=200,SPort:=100,ICMPType:=200/176
0.0.0.0 0 200?
表1-6 display bgp routing-table ipv4 flowspec命令简要显示信息描述表
字段 |
描述 |
Total number of routes |
路由总数 |
BGP local router ID |
本地的路由器ID |
Status codes |
路由状态代码: · * – valid:合法路由 · > – best:普通优选最佳路由 · d - dampened:震荡抑制路由 · h – history:历史路由 · s – suppressed:聚合抑制路由 · S – stale:过期路由 · i – internal:内部路由 · e – external:外部路由 · a – additional-path:Add-Path优选路由 |
Origin |
路由信息的来源,取值包括: · i – IGP:表示路由产生于本AS内。通过network命令发布路由的路由信息来源为IGP · e – EGP:表示路由是通过EGP(Exterior Gateway Protocol,外部网关协议)学到的 · ? – incomplete:表示路由的来源无法确定。从IGP协议引入路由的路由信息来源为incomplete |
Network |
目的网络地址 |
NextHop |
下一跳IP地址 |
MED |
MED(Multi-Exit Discriminator,多出口区分)属性值 |
LocPrf |
本地优先级 |
PrefVal |
路由首选值 |
Path/Ogn |
路由的AS路径(AS_PATH)属性和路由信息的来源(ORIGIN)属性,其中: · AS_PATH属性记录了此路由经过的所有AS,可以避免路由环路的出现 · ORIGIN属性标记了此BGP路由如何生成的 |
# 显示BGP实例default内向对等体10.2.1.2发布的BGP IPv4 Flowspec路由的统计信息。
<Sysname> display bgp routing-table ipv4 flowspec peer 10.2.1.2 advertised-routes statistics
Advertised routes total: 2
# 显示BGP实例default内从对等体10.2.1.2收到的BGP IPv4 Flowspec路由的统计信息。
<Sysname> display bgp routing-table ipv4 flowspec peer 10.2.1.2 received-routes statistics
Received routes total: 2
表1-7 display bgp routing-table ipv4 flowspec peer statistics命令显示信息描述表
字段 |
描述 |
Advertised routes total |
向指定对等体发布的路由总数 |
Received routes total |
从指定对等体收到的路由总数 |
display bgp routing-table vpnv4 flowspec命令用来显示BGP VPNv4 Flowspec信息。
【命令】
display bgp [ instance instance-name ] routing-table vpnv4 flowspec [ peer ipv4-address { advertised-routes | received-routes } [ flowspec-prefix | statistics ] | [ route-distinguisher route-distinguisher ] [ flowspec-prefix [ advertise-info ] ] | statistics ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
instance instance-name:显示指定BGP实例的信息。instance-name表示BGP实例的名称,为1~31个字符的字符串,区分大小写。如果未指定本参数,则显示default实例的信息。
peer:显示向指定对等体发布或者从指定对等体收到的BGP VPNv4 Flowspec信息。
ipv4-address:对等体的IPv4地址。
advertised-routes:显示向指定的对等体发布的路由信息。
received-routes:显示从指定的对等体接收到的路由信息。
route-distinguisher route-distinguisher:显示指定路由标识符的BGP VPNv4 Flowspec信息。route-distinguisher为路由标识符,为3~21个字符的字符串。路由标识符有三种格式:
· 16位自治系统号:32位用户自定义数,例如:101:3。
· 32位IP地址:16位用户自定义数,例如:192.168.122.15:1。
· 32位自治系统号:16位用户自定义数字,其中的自治系统号最小值为65536。例如:65536:1。
flowspec-prefix:显示精确匹配的BGP VPNv4 Flowspec的详细信息。
advertise-info:显示BGP VPNv4 Flowspec的通告信息。
statistics:显示BGP VPNv4 Flowspec的统计信息。
【使用指导】
如果没有指定任何参数,则显示所有BGP VPNv4 Flowspec的简要信息。
【举例】
# 显示所有BGP VPNv4 Flowspec的简要信息。
<Sysname> display bgp routing-table vpnv4 flowspec
BGP local router ID is 192.168.56.55
Status codes: * - valid, > - best, d - dampened, h - history,
s - suppressed, S - stale, i - internal, e - external
Origin: i - IGP, e - EGP, ? - incomplete
Total number of routes from all PEs: 4
Route distinguisher: 1:3
Total number of routes: 2
Network NextHop MED LocPrf PrefVal Path/Ogn
* >i DEST:1.2.3.4/32,Source:2.3.4.5/32,Proto:=0|=1|=60,Port:=200,DPort:=200|=300
,SPort:=100|=120|=140,ICMPType:=200|=100|=120|=140,ICMPCode:=200|=220|=230,TCPFl
ags:=255,Length:=1024,DSCP:=6|=2,Frag:=4/528
0.0.0.0 100 0 ?
* >i DEST:4.5.6.7/32,Proto:=0|=1|=60,DPort:=200,SPort:=100,ICMPType:=200/176
0.0.0.0 100 0 ?
Route distinguisher: 1:5(vpn1)
Total number of routes: 5
Network NextHop MED LocPrf PrefVal Path/Ogn
* >i DEST:1.2.3.4/32,Source:2.3.4.5/32,Proto:=0|=1|=60,Port:=200,DPort:=200|=300
,SPort:=100|=120|=140,ICMPType:=200|=100|=120|=140,ICMPCode:=200|=220|=230,TCPFl
ags:=255,Length:=1024,DSCP:=6|=2,Frag:=4/528
0.0.0.0 100 0 ?
* >e DEST:1.2.3.4/32,Source:2.3.4.5/32,Proto:=0|=1|=60,Port:=200,DPort:=200|=300
,SPort:=100|=120|=140,ICMPType:=200|=100|=120|=140,ICMPCode:=200|=220|=230,TCPFl
ags:=255,Length:=1024,DSCP:=6|=2,Frag:=4,DEST:1.2.3.4/32,Source:2.3.4.5/32,Proto
:=0|=1|=60,Port:=200,DPort:=200|=300,SPort:=100|=120|=140,ICMPType:=200|=100|=12
0|=140,ICMPCode:=200|=220|=230,TCPFlags:=255,Length:=1024,DSCP:=6|=2,Frag:=4/105
6
0.0.0.0 0 100?
* > DEST:4.5.6.7/32,Proto:=0|=1|=60,DPort:=200,SPort:=100,ICMPType:=200/176
0.0.0.0 32768 ?
* i 0.0.0.0 100 0 ?
* e 0.0.0.0 0 100?
Route distinguisher: 1:6
Total number of routes: 2
Network NextHop MED LocPrf PrefVal Path/Ogn
* >e DEST:1.2.3.4/32,Source:2.3.4.5/32,Proto:=0|=1|=60,Port:=200,DPort:=200|=300
,SPort:=100|=120|=140,ICMPType:=200|=100|=120|=140,ICMPCode:=200|=220|=230,TCPFl
ags:=255,Length:=1024,DSCP:=6|=2,Frag:=4,DEST:1.2.3.4/32,Source:2.3.4.5/32,Proto
:=0|=1|=60,Port:=200,DPort:=200|=300,SPort:=100|=120|=140,ICMPType:=200|=100|=12
0|=140,ICMPCode:=200|=220|=230,TCPFlags:=255,Length:=1024,DSCP:=6|=2,Frag:=4/105
6
0.0.0.0 0 100?
* >e DEST:4.5.6.7/32,Proto:=0|=1|=60,DPort:=200,SPort:=100,ICMPType:=200/176
0.0.0.0 0 100?
表1-8 display bgp routing-table vpnv4 flowspec命令简要显示信息描述表
字段 |
描述 |
BGP local router ID |
BGP本地路由器ID |
Status codes |
路由状态代码: · * - valid:合法路由 · > - best:普通优选路由 · d - damped:震荡抑制路由 · h - history:历史路由 · i - internal:内部路由 · e - external:外部路由 · s - suppressed:聚合抑制路由 · S - Stale:过期路由 |
Origin |
路由信息的来源,取值包括: · i – IGP:表示路由产生于本AS内。通过network命令发布路由的路由信息来源为IGP · e – EGP:表示路由是通过EGP(Exterior Gateway Protocol,外部网关协议)学到的 · ? – incomplete:表示路由的来源无法确定。从IGP协议引入路由的路由信息来源为incomplete |
Total number of routes from all PEs |
来自所有PE设备的VPNv4 Flowspec路由总数 |
Route distinguisher |
路由标识符 |
Total number of routes |
路由标识符为指定值的VPNv4 Flowspec总数 |
Network |
传递的VPNv4 Flowspec信息 |
NextHop |
下一跳IP地址 |
MED |
MED(Multi-Exit Discriminator,多出口区分)属性值 |
LocPrf |
本地优先级 |
PrefVal |
路由首选值 |
Path/Ogn |
路由的AS路径(AS_PATH)属性和路由信息的来源(ORIGIN)属性,其中: · AS_PATH属性记录了此路由经过的所有AS,可以避免路由环路的出现 · ORIGIN属性标记了此BGP路由如何生成的 |
# 显示向对等体15.5.6.2发布的BGP VPNv4 Flowspec的统计信息。
<Sysname> display bgp routing-table vpnv4 flowspec peer 15.5.6.2 advertised-routes statistics
Advertised routes total: 3
# 显示从对等体15.5.6.2收到的所有BGP VPNv4 Flowspec的统计信息。
<Sysname> display bgp routing-table vpnv4 flowspec peer 15.5.6.2 received-routes statistics
Received routes total: 2
表1-9 display bgp routing-table vpnv4 flowspec peer statistic命令显示信息描述表
字段 |
描述 |
Advertised routes total |
向指定对等体发布的路由总数 |
Received routes total |
从指定对等体收到的路由总数 |
# 显示BGP VPNv4 Flowspec的统计信息。
<Sysname> display bgp routing-table vpnv4 flowspec statistics
Total number of routes from all PEs: 4
Route distinguisher: 1:3
Total number of routes: 2
Route distinguisher: 1:5(vpn1)
Total number of routes: 5
Route distinguisher: 1:6
Total number of routes: 2
表1-10 display bgp routing-table vpnv4 flowspec statistics命令显示信息描述表
字段 |
描述 |
Total number of routes from all PEs |
来自所有PE设备的BGP VPNv4 Flowspec总数 |
Route distinguisher |
路由标识符 |
Total number of routes |
路由标识符为指定值的BGP VPNv4 Flowspec总数 |
display flow-route命令用来显示Flowspec边界路由器上Flowspec路由的运行信息。
【命令】
(独立运行模式)
display flow-route { all | flow-route-id | [ instance instance-name ] [ ip [ vpn-instance vpn-instance-name ] ] } [ slot slot-number ]
(IRF模式)
display flow-route { all | flow-route-id | [ instance instance-name ] [ ip [ vpn-instance vpn-instance-name ] ] } [ chassis chassis-number slot slot-number ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
all:显示所有Flowspec路由的运行信息。
flow-route-id:指定Flowspec路由ID,取值范围为十六进制0~fffffffffffffffe。
instance instance-name:指定BGP实例。instance-name表示BGP实例名称,为1~31个字符的字符串,区分大小写。如果未指定本参数,则表示指定default实例。
IP:显示IPv4 Flowspec路由的运行信息。
vpn-instance vpn-instance-name:显示指定VPN实例的Flowspec路由的运行信息。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。如果未指定本参数,则表示显示IPv4公网下Flowspec路由的运行信息。
slot slot-number:显示指定单板的Flowspec路由的运行信息。slot-number表示单板所在的槽位号。若未指定本参数,将显示主用主控板的Flowspec路由的运行信息。(独立运行模式)
chassis chassis-number slot slot-number:显示指定成员设备上指定单板的Flowspec路由的运行信息。chassis-number表示设备在IRF中的成员编号。slot-number表示单板所在的槽位号。若未指定本参数,将显示全局主用主控板上的Flowspec路由的运行信息。(IRF模式)
【使用指导】
如果公网或者VPN实例下存在多条已生效的Flowspec路由,则将按照路由在本命令中的显示的顺序,由上向下依次进行报文匹配,直到匹配成功。
【举例】
# 显示Flowspec边界路由器上所有Flowspec路由的运行信息。
<Sysname> display flow-route all
Total number of flow-routes: 3
Flow route (ID 0x0)(Failed)
BGP instance : default
Traffic filtering rules:
Destination IP : 1.2.3.4 255.255.255.255
Port : 22 33 44 55
Source IP : 2.3.4.5 255.255.255.255
Traffic filtering actions:
DSCP marking : 10
Redirecting to VPN instance : vpn3
Flow route (ID 0x1)
BGP instance : default
Traffic filtering rules:
Destination IP : 1.2.3.4 255.255.255.255
Traffic filtering actions:
Deny
Flow route (ID 0x2)
BGP instance : default
VPN instance : vpn1
Traffic filtering rules:
ICMP type : 23
Traffic filtering actions:
Traffic rate : 1000(kbps)
Flow route (ID 0x3)
BGP instance : default
VPN instance : vpn1
Traffic filtering rules:
Source port : 80
Traffic filtering actions:
Redirecting to VPN target : 3:3 (Inactive)
表1-11 display flow-route命令显示信息描述表
字段 |
描述 |
Total number of flow-routes |
Flowspec路由的数量 |
Flow route (ID 0x0) |
Flowspec路由ID,Failed表示路由规则在指定单板下发失败 |
BGP instance |
BGP实例信息 |
VPN instance |
路由规则生效的VPN实例信息,不包含本字段时表示路由规则在公网生效 |
Redirecting to VPN instance |
流量重定向到VPN实例。当重定向动作配置的Route Target无法映射到VPN实例时,重定向动作不生效,当前字段显示为Redirecting to VPN target,状态显示为Inactive |
Redirecting to next-hop |
流量重定向到下一跳动作。当下一跳地址不可达或者无效时,重定向动作不生效,状态显示为Inactive |
flow-route命令用来创建Flowspec路由,并进入Flowspec路由视图。如果指定的Flowspec路由已经存在,则直接进入Flowspec路由视图。
undo flow-route命令用来删除Flowspec路由。
【命令】
flow-route flowroute-name
undo flow-route flowroute-name
【缺省情况】
未配置Flowspec路由。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
flowroute-name:指定Flowspec路由的名称,为1~31个字符的字符串,区分大小写。
【使用指导】
如果Flowspec路由已指定给Flowspec IPv4地址族,请在Flowspec IPv4地址族视图下先通过undo flow-route命令删除为Flowspec IPv4地址族指定的Flowspec路由,再在系统视图下执行undo flow-route命令来删除Flowspec路由。
【举例】
# 创建名为route1的Flowspec路由。
<Sysname> system-view
[Sysname] flow-route route1
[Sysname-flow-route-route1]
flow-route命令用来为Flowspec IPv4地址族指定Flowspec路由。
undo flow-route命令用来删除为Flowspec IPv4地址族指定的Flowspec路由。
【命令】
flow-route flowroute-name
undo flow-route flowroute-name
【缺省情况】
未指定Flowspec IPv4地址族的Flowspec路由。
【视图】
Flowspec IPv4地址族视图
【缺省用户角色】
network-admin
【参数】
flowroute-name:指定Flowspec路由的名称,为1~31个字符的字符串,区分大小写。
【使用指导】
一个Flowspec IPv4地址族指定多条Flowspec路由时,在Flowspec边界路由器上可以通过display flow-route命令查看已生效的Flowspec路由匹配报文的顺序,如果多个Flowspec路由中的匹配规则均可匹配某一报文,该报文将优先被显示信息中靠上的Flowspec路由中的匹配规则匹配。
使用本命令为Flowspec IPv4地址族指定Flowspec路由时,该Flowspec路由必须已经存在。
【举例】
# 为公网 Flowspec IPv4地址族指定名为route1的Flowspec路由。
<Sysname> system-view
[Sysname] flowspec
[Sysname-flowspec] address-family ipv4
[Sysname-flowspec-ipv4] flow-route route1
flowspec命令用来进入Flowspec视图。
【命令】
flowspec
【视图】
系统视图
【缺省用户角色】
network-admin
【举例】
# 进入Flowspec视图。
<Sysname> system-view
[Sysname] flowspec
[Sysname-flowspec]
if-match命令用来定义Flowspec路由中匹配数据包的规则。
undo if-match命令用来删除Flowspec路由中匹配数据包的规则。
【命令】
if-match match-criteria
undo if-match match-criteria
【缺省情况】
Flowspec路由中未定义匹配规则。
【视图】
Flowspec路由视图
【缺省用户角色】
network-admin
【参数】
match-criteria:匹配规则,具体情况如表1-12所示。
表1-12 Flowspec路由的匹配规则取值
匹配规则类型值 |
取值 |
描述 |
1 |
destination-ip ipv4-address { mask-length | mask } |
配置匹配IPv4报文目的地址的规则 ipv4-address:指定的IPv4地址,为点分十进制格式 mask-length:IPv4子网掩码的长度,取值范围0~32 mask:IPv4地址的掩码,为点分十进制格式 |
2 |
source-ip ipv4-address { mask-length | mask } |
配置匹配IPv4报文源地址的规则 ipv4-address:指定的IPv4地址,为点分十进制格式 mask-length:IPv4子网掩码的长度,取值范围为0~32 mask:IPv4地址的掩码,为点分十进制格式 |
3 |
protocol { proto-name&<1-8> | proto-list } |
配置匹配特定协议的规则 proto-list:协议类型取值的列表,表示方式为proto-list = { proto-start [ to proto-end ] }&<1-8>。协议类型的取值范围为0~255,proto-end的值要大于或等于proto-start的值;&<1-8>表示前面的参数最多可以重复输入8次 proto-name&<1-8>:协议关键字(括号内为对应数字),&<1-8>表示前面参数最多可输入8次,具体如下表示: 1:icmp 2:igmp 4:ipinip 6:tcp 8:egp 17:udp 41:ipv6 46:rsvp 47:gre 50:esp 89:ospf 103:pim |
4 |
port port-list |
配置匹配报文端口的规则 port-list:匹配的端口列表,包括源端口或目的端口。表示方式为port-list = { port-start [ to port-end ] }&<1-8>。端口号取值范围为0~65535,port-end的值要大于或等于port-start的值;&<1-8>表示前面的参数最多可以重复输入8次 |
5 |
destination-port port-list |
配置匹配报文目的端口的规则 port-list:匹配的目的端口列表,表示方式为port-list = { port-start [ to port-end ] }&<1-8>。port取值范围为0~65535,port-end的值要大于或等于port-start的值;&<1-8>表示前面的参数最多可以重复输入8次 |
6 |
source-port port-list |
配置匹配报文源端口的规则 port-list:匹配的源端口列表,表示方式为port-list = { port-start [ to port-end ] }&<1-8>。源端口号取值范围为0~65535,port-end的值要大于或等于port-start的值;&<1-8>表示前面的参数最多可以重复输入8次 |
7 |
icmp-type type-list |
配置匹配ICMP type的规则 type-list:ICMP type的取值列表,表示方式为type-list = { type-start [ to type-end ] }&<1-8>。ICMP type的取值范围为0~255,type-end的值要大于或等于type-start的值;&<1-8>表示前面的参数最多可以重复输入8次 |
8 |
icmp-code code-list |
配置匹配ICMP code的规则 code-list:ICMP code的取值列表,表示方式为code-list = { code-start [ to code-end ] }&<1-8>。ICMP code的取值范围为0~255,code-end的值要大于或等于code-start的值;&<1-8>表示前面的参数最多可以重复输入8次 |
9 |
tcp-flags { match | not } tcp-flags [ any ] |
配置匹配TCP flag的规则 match:匹配指定的TCP flag值的报文 not:匹配不等于指定的TCP flag值的报文 tcp-flags:指定TCP flag值,该字段为6个bit二进制数,对应十进制取值范围为0~63 any:匹配二进制的TCP flag值中第n位为1的所有报文,例如希望匹配第1位和第3位为1的所有报文时,计算时先将其它bit位置为0,该字段变为000101,其对应十进制TCP flag值为5,此时仅需配置if-match tcp-flags match 5 any后,设备便会匹配TCP flag字段中第1位和第3位为1的所有报文 |
10 |
packet-length length-list |
配置匹配三层报文长度的规则,当前暂不支持 |
11 |
dscp { dscp-name&<1-8> | dscp-list } |
配置匹配DSCP的规则 dscp-name&<1-8>:DSCP取值的关键字,&<1-8>表示前面的参数最多可以输入8次,关键字详细情况如表1-2所示 dscp-list:DSCP的取值列表,表示方式为dscp-list = { dscp-start [ to dscp-end ] }&<1-8>。DSCP的取值范围为0~63,dscp-end的值要大于或等于dscp-start的值;&<1-8>表示前面的参数最多可以重复输入8次 |
12 |
fragment-type { match | not } { fragment | non-fragment | fragment-spe-first } |
配置匹配分片报文的规则 match:匹配等于指定分片规则的报文 not:匹配不等于指定分片规则的报文 fragment:分片报文 non-fragment:未分片报文 fragment-spe-first:分片报文中的首片 |
【使用指导】
在同一已生效的Flowspec路由下:
· 如果已经配置了匹配报文端口的规则,则不允许再配置匹配报文源端口或目的端口的规则,反之亦然。
· 如果配置了多个不同类型的匹配规则,则这些匹配规则按照表1-12中的顺序由上向下进行匹配,且匹配规则之间的关系为“与(and)”。
· 同类型报文匹配规则之间的关系为“或(or)”。
公网或者VPN实例下存在多条已生效的Flowspec路由时:
(1) 先比较Flowspec路由中匹配规则类型值,优先执行拥有最小匹配规则类型值的Flowspec路由中的流量动作;
(2) 如果Flowspec路由中匹配规则类型值相同,则按照RFC 5575中定义的方法对Flowspec路由进行排序,执行排序后优先级较高的Flowspec路由中的流量动作。
【举例】
# 配置匹配目的地址为192.168.100.1掩码长度为24的IPv4报文。
<Sysname> system-view
[Sysname] flow-route route1
[Sysname-flow-route-route1] if-match destination-ip 192.168.100.1 24
# 配置匹配目的端口为80的报文。
<Sysname> system-view
[Sysname] flow-route route1
[Sysname-flow-route-route1] if-match destination-port 80
# 配置匹配DSCP值为af11的报文。
<Sysname> system-view
[Sysname] flow-route route1
[Sysname-flow-route-route1] if-match dscp af11
# 配置匹配所有分片报文。
<Sysname> system-view
[Sysname] flow-route route1
[Sysname-flow-route-route1] if-match fragment-type match fragment
# 配置匹配ICMP code为0的报文。
<Sysname> system-view
[Sysname] flow-route route1
[Sysname-flow-route-route1] if-match icmp-code 0
# 配置匹配ICMP type为1的报文。
<Sysname> system-view
[Sysname] flow-route route1
[Sysname-flow-route-route1] if-match icmp-type 1
# 配置匹配目的及源端口为80的报文。
<Sysname> system-view
[Sysname] flow-route route1
[Sysname-flow-route-route1] if-match port 80
# 配置匹配ICMP类型报文的规则。
<Sysname> system-view
[Sysname] flow-route route1
[Sysname-flow-route-route1] if-match protocol icmp
# 配置匹配源地址为192.168.100.1掩码长度为24的IPv4报文。
<Sysname> system-view
[Sysname] flow-route route1
[Sysname-flow-route-route1] if-match source-ip 192.168.100.1 24
# 配置匹配源端口为23的报文。
<Sysname> system-view
[Sysname] flow-route route1
[Sysname-flow-route-route1] if-match source-port 23
# 配置匹配TCP flag值为6的报文。
<Sysname> system-view
[Sysname] flow-route route1
[Sysname-flow-route-route1] if-match tcp-flags match 6
peer next-hop-invariable命令用来配置向EBGP对等体/对等体组发布Flowspec路由时不改变下一跳属性。
undo peer next-hop-invariable命令用来恢复缺省情况。
【命令】
peer { group-name | ipv4-address [ mask-length ] } next-hop-invariable
undo peer { group-name | ipv4-address [ mask-length ] } next-hop-invariable
【缺省情况】
向EBGP对等体/对等体组发布Flowspec路由时会将下一跳属性改为自己的地址。
【视图】
BGP IPv4 Flowspec地址族视图
BGP-VPN IPv4 Flowspec地址族视图
BGP VPNv4 Flowspec地址族视图
【缺省用户角色】
network-admin
【参数】
group-name:对等体组的名称,为1~47个字符的字符串,区分大小写。
ipv4-address:对等体的IP地址。
mask-length:网络掩码,取值范围为0~32。如果指定本参数,则表示指定网段内的动态对等体。
【使用指导】
当在设备上配置了Flowspec路由重定向功能,且想要在EBGP邻居上也执行这个重定向动作时,请配置本命令。配置本命令后,设备向EBGP邻居通告的BGP路由的下一跳为apply redirect命令配置的下一跳地址。
【举例】
# 配置向对等体1.1.1.1发布Flowspec路由时不改变下一跳属性。
<Sysname> system-view
[Sysname] bgp 100
[Sysname-bgp-default] address-family ipv4 flowspec
[Sysname-bgp-default-af-ipv4-flowspec] peer 1.1.1.1 next-hop-invariable
peer reflect-client命令用来配置本机作为路由反射器,对等体/对等体组作为路由反射器的客户机。
undo peer reflect-client命令用来取消该配置。
【命令】
peer { group-name | ipv4-address [ mask-length ] } reflect-client
undo peer { group-name | ipv4-address [ mask-length ] } reflect-client
【缺省情况】
未配置路由反射器及其客户机。
【视图】
BGP IPv4 Flowspec地址族视图
BGP-VPN IPv4 Flowspec地址族视图
BGP VPNv4 Flowspec地址族视图
【缺省用户角色】
network-admin
【参数】
group-name:对等体组的名称,为1~47个字符的字符串,区分大小写。指定的对等体组必须已经创建。
ipv4-address:对等体的IPv4地址。指定的对等体必须已经创建。
mask-length:网络掩码,取值范围为0~32。如果指定本参数,则表示指定网段内的动态对等体。
【使用指导】
路由反射用来解决IBGP对等体需要全连接的问题。在一个AS内,一台路由器作为RR(Route Reflector,路由反射器),其它路由器作为客户机(Client)与路由反射器建立IBGP连接。路由反射器在客户机之间传递(反射)路由信息,而客户机之间不需要建立BGP连接。
【举例】
# 在BGP IPv4 Flowspec地址族视图下,配置本地设备作为路由反射器,IBGP对等体组test作为路由反射器的客户机。
<Sysname> system-view
[Sysname] bgp 100
[Sysname-bgp-default] address-family ipv4 flowspec
[Sysname-bgp-default-ipv4-flowspec] peer test reflect-client
peer validation-disable命令用来关闭对来自BGP Flowspec邻居的Flowspec路由的合法性验证功能。
undo peer validation-disable命令用来取消该配置。
【命令】
peer { group-name | ip-address [ mask-length ] } validation-disable
undo peer { group-name | ip-address [ mask-length ] } validation-disable
【缺省情况】
会对接收的Flowspec路由进行合法性验证。
【视图】
BGP IPv4 Flowspec地址族视图
BGP-VPN IPv4 Flowspec地址族视图
【缺省用户角色】
network-admin
【参数】
group-name:对等体组的名称,为1~47个字符的字符串,区分大小写。指定的对等体组必须已经创建。
ip-address:对等体的IP地址。指定的对等体必须已经创建。
mask-length:网络掩码,取值范围为0~32。如果指定本参数,则表示指定网段内的动态对等体。
【使用指导】
RFC 5575中定义的验证规则为:当BGP Flowspec邻居收到以目的地址为流量过滤条件的Flowspec路由后,需要根据此中的目的地址在IP路由表中查找一条最佳匹配的单播路由,如果该单播路由为BGP路由,且发起者和Flowspec路由发起者匹配,则认为验证通过。
如果用户已经确定要针对一个地址前缀进行流量控制,并且携带此流量控制规则的Flowspec路由无法通过验证,可以关闭对Flowspec路由的验证功能。
【举例】
# 关闭本地路由器与对等体1.1.1.1的BGP Flowspec路由验证功能。
<Sysname> system-view
[Sysname] bgp 100
[Sysname-bgp-default] address-family ipv4 flowspec
[Sysname-bgp-default-ipv4-flowspec] peer 1.1.1.1 validation-disable
peer validation-redirect-disable命令用来关闭对来自BGP Flowspec邻居的Flowspec路由的重定向下一跳合法性验证功能。
undo peer validation-redirect-disable命令用来取消该配置。
【命令】
peer { group-name | ip-address [ mask-length ] } validation-redirect-disable
undo peer { group-name | ip-address [ mask-length ] } validation-redirect-disable
【缺省情况】
对来自EBGP Flowspec邻居的Flowspec路由进行重定向下一跳合法性验证。
【视图】
BGP IPv4 Flowspec地址族视图
BGP-VPN IPv4 Flowspec地址族视图
【缺省用户角色】
network-admin
【参数】
group-name:对等体组的名称,为1~47个字符的字符串,区分大小写。指定的对等体组必须已经创建。
ip-address:对等体的IP地址。指定的对等体必须已经创建。
mask-length:网络掩码,取值范围为0~32。如果指定本参数,则表示指定网段内的动态对等体。
【使用指导】
当设备收到携带重定向下一跳地址的Flowspec路由后,需要根据此下一跳的地址在IP路由表中查找一条最佳匹配的单播路由,如果该单播路由为BGP路由,且该路由的第一个AS号和发送Flowspec路由BGP邻居的AS号相同,则认为验证通过。
如果用户已经确定要把匹配的流量重定向到指定的下一跳,并且携带此流量控制规则的Flowspec路由无法通过重定向下一跳验证,可以关闭对Flowspec路由重定向下一跳的验证功能。
只有EBGP邻居支持该命令。
【举例】
# 关闭本地路由器与对等体1.1.1.1的BGP Flowspec路由重定向下一跳验证功能。
<Sysname> system-view
[Sysname] bgp 100
[Sysname-bgp-default] address-family ipv4 flowspec
[Sysname-bgp-default-ipv4-flowspec] peer 1.1.1.1 validation-redirect-disable
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!