06-Flowspec配置
本章节下载: 06-Flowspec配置 (177.64 KB)
Flowpsec(Flow Specification,流规格)用来实现对BGP网络中的非法流量的过滤与巡查,以减轻DoS(Denial of Service,拒绝服务)攻击/DDoS(Distributed Denial of Service,分布式拒绝服务)攻击对网络的影响。Flowspec针对攻击流量的特点,对其进行分类匹配,并对符合匹配条件的流量实施不同的流量动作,例如流量丢弃、重定向、重标记或者进行限速等。
Flowspec路由器:为BGP网络中的BGP路由器,用户需要在Flowspec路由器上配置Flowspec路由,该路由中包含了相应的匹配规则和流量动作,通过BGP Update报文,这些Flowspec路由将被通告到其他Flowspec边界路由器或其他AS(Autonomous System,自治系统),以实现Flowspec的自动、快速部署。
Flowspec边界路由器:也称为Flowspec客户端,为BGP网络中的BGP路由器,接收来自Flowspec路由器的Flowspec路由,并将Flowspec路由中的匹配规则和流量动作应用到设备的转发平面,从而对进入设备的流量进行监控并采取适当的流量动作。
如图1-1所示,通过BGP路由更新的形式,Flowspec路由器向Flowspec边界路由器分发Flowspec路由,Flowspec边界路由器收到Flowspec路由后,会对符合分类条件的流量应用不同的流量动作。Flowspec路由同样也支持跨AS传输,从而实现在最接近攻击源的设备上对攻击流量执行过滤和控制,这样能够最大程度的减少攻击流量对网络转发性能的影响。
仅CSPEX类单板(除CSPEX-1204之外)支持配置Flowspec。
表1-1 Flowspec配置任务简介
配置任务 |
说明 |
详细配置 |
配置BGP Flowspec |
必选 需要在Flowspec路由器和Flowspec边界路由器上配置 |
|
创建并激活Flowspec路由 |
必选 需要在Flowspec路由器上配置 |
|
在VPN实例中应用Flowspec路由 |
请根据实际情况进行选择 需要在Flowspec路由器上配置 |
|
在公网中应用Flowspec路由 |
配置Flowspec前,需要先配置Flowspec路由器和Flowspec边界路由器的BGP的基本功能,具体配置请参见“三层技术-IP路由配置指导”中的“BGP”。
通过配置BGP Flowspec实现Flowspec路由器向Flowspec边界路由器通告Flowspec路由。该配置步骤需要在Flowspec路由器和Flowspce边界路由器上进行。
关于bgp和peer enable命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP命令”。
表1-2 配置BGP Flowspec
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP实例视图 |
bgp as-number [ instance instance-name ] [ multi-session-thread ] |
- |
进入BGP VPNv4 Flowspec地址族视图 |
address-family vpnv4 flowspec |
二者选其一 |
进入BGP IPv4 Flowspec地址族视图 |
address-family ipv4 flowspec |
|
允许Flowspec路由器与指定Flowspc边界路由器/Flowspc边界路由器组交换路由信息 |
peer { group-name | ipv4-address [ mask-length ] } enable |
缺省情况下,Flowspec路由器不能与Flowspc边界路由器/Flowspc边界路由器组交换路由信息 |
(可选)关闭对来自BGP Flowspec邻居的Flowspec路由的合法性验证功能 |
peer { group-name | ip-address [ mask-length ] } validation-disable |
缺省情况下,对来自BGP Flowspec邻居的Flowspec路由进行合法性验证 本命令仅支持在BGP IPv4 Flowspec地址族视图配置 |
(可选)关闭对来自BGP Flowspec邻居的Flowspec路由的重定向下一跳合法性验证功能 |
peer { group-name | ip-address [ mask-length ] } validation-redirect-disable |
缺省情况下,对来自EBGP Flowspec邻居的Flowspec路由进行重定向下一跳合法性验证 本命令仅支持在BGP IPv4 Flowspec地址族视图配置 |
创建并激活Flowspec路由的配置需要在Flowspec路由器上进行。
表1-3 创建并激活Flowspec路由
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
创建Flowspec路由,并进入Flowspec路由视图 |
flow-route flowroute-name |
缺省情况下,未配置Flowspec路由 |
配置Flowspec路由的报文匹配规则 |
if-match match-criteria |
缺省情况下,Flowspec路由中未定义匹配规则 同一Flowspec路由中支持配置多条报文匹配规则: · 不同类型报文匹配规则之间的关系为“与(and)” · 同类型报文匹配规则之间的关系为“或(or)” 具体规则请参见Flowspec命令参考中的命令if-match的介绍 |
在Flowspec路由视图下应用流量动作 |
apply action |
缺省情况下,Flowspec路由中未应用流量动作 同一Flowspec路由视图下: · 对流量多次应用相同类型动作时,最后一次执行的命令生效 · 不同类型流量动作之间的关系为“与(and)” 具体流量动作请参见Flowspec命令参考中的命令apply的介绍 |
(可选)检查Flowspec路由下未生效的匹配规则及流量动作 |
check flow-route-configuration |
- |
使匹配规则及流量动作生效 |
commit |
缺省情况下,Flowspec路由下配置的匹配规则及流量动作未生效 |
需要在Flowspec路由器上应用Flowspec路由。
关于ip vpn-instance和vpn-target命令的详细介绍,请参见“MPLS命令参考”中的“MPLS L3VPN命令”。
表1-4 在VPN实例中应用Flowspec路由
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入VPN实例视图 |
ip vpn-instance vpn-instance-name |
- |
|
进入IPv4 Flowspec VPN视图 |
address-family ipv4 flowspec |
- |
|
配置VPN实例的VPN Target |
vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ] |
缺省情况下,未配置VPN实例的VPN Target |
|
退回IPv4 Flowspec VPN视图 |
quit |
- |
|
退回系统视图 |
quit |
- |
|
进入Flowspec视图 |
flowspec |
- |
|
创建Flowpsec IPv4 VPN实例地址族,并进入Flowspec VPN实例地址族视图 |
address-family ipv4 vpn-instance vpn-instance-name |
缺省情况下,不存在Flowspec IPv4 VPN实例地址族 |
|
在Flowpsec IPv4 VPN实例地址族中应用Flowspec路由 |
flow-route flowroute-name |
缺省情况下,未指定Flowspec路由 |
表1-5 在公网中应用Flowspec路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入Flowspec视图 |
flowspec |
- |
创建Flowpsec IPv4地址族,并进入Flowspec地址族视图 |
address-family ipv4 |
缺省情况下,不存在Flowspec IPv4地址族 |
在Flowspec IPv4地址族中应用Flowspec路由 |
flow-route flowroute-name |
缺省情况下,未指定Flowspec路由 |
在任意视图下执行display命令可以显示Flowspec在BGP网络中的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset、refresh命令可以复位BGP Flowspec地址族下的BGP会话。
关于Flowspec显示和维护命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP命令”。
表1-6 Flowspec显示和维护
操作 |
命令 |
|
BGP Flowspec对等体信息 |
display bgp [ instance instance-name ] peer ipv4 flowspec [ ipv4-address mask-length | { ipv4-address | group-name group-name } log-info | [ ipv4-address ] verbose ] |
|
显示BGP VPNv4 Flowspec对等体信息 |
display bgp [ instance instance-name ] peer vpnv4 flowspec [ ipv4-address mask-length | { ipv4-address | group-name group-name } log-info | [ ipv4-address ] verbose ] |
|
显示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 peer ipv4-address { advertised-routes | received-routes } [ flowspec-prefix | statistics ] |
|
显示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 ] |
|
显示BGP IPv4 Flowspec地址族下打包组的相关信息 |
display bgp [ instance instance-name ] update-group ipv4 flowspec [ ipv4-address ] |
|
显示BGP VPNv4 Flowspec地址族下打包组的相关信息 |
display bgp [ instance instance-name ] update-group vpnv4 flowspec [ ipv4-address ] |
|
手工对BGP会话进行软复位 |
refresh bgp [ instance instance-name ] { ipv4-address [ mask-length ] | all | external | group group-name | internal } { export | import } ipv4 flowspec |
|
手工对VPNv4地址族下的BGP会话进行软复位 |
refresh bgp [ instance instance-name ] { ipv4-address [ mask-length ] | all | external | group group-name | internal } { export | import } vpnv4 [ vpn-instance vpn-instance-name ] |
|
复位BGP IPv4 Flowspec地址族下的BGP会话 |
reset bgp [ instance instance-name ] { as-number | ipv4-address [ mask-length ] | all | external | group group-name | internal } ipv4 flowspec |
|
复位BGP VPNv4 Flowspec地址族下的BGP会话 |
reset bgp [ instance instance-name ] { as-number | ipv4-address [ mask-length ] | all | external | internal | group group-name } vpnv4 flowspec |
|
如图1-2所示,所有路由器均运行BGP协议。Device A作为Flowspec控制器,配置了Flowspec路由,Device B作为Flowspec客户端,通过BGP协议接收并应用Device A发送的Flowspec路由。现要求对BGP网络中PE设备收到的目的地址为1.1.1.0/24和端口号为10的报文进行限速处理,降低这些报文占用的带宽资源。
图1-2 Flowspec基本配置组网图
(1) 配置各接口的IP地址(略)
(2) 配置Device A
# 配置BGP连接。
<DeviceA> system-view
[DeviceA] bgp 100
[DeviceA-bgp-default] peer 10.1.1.2 as-number 200
[DeviceA-bgp-default] address-family ipv4 flowspec
[DeviceA-bgp-default-flowspec-ipv4] peer 10.1.1.2 enable
[DeviceA-bgp-default-flowspec-ipv4] peer 10.1.1.2 validation-disable
[DeviceA-bgp-flowspec-ipv4] quit
[DeviceA-bgp-default] quit
# 配置Flowspec路由。
[DeviceA] flow-route route1
[DeviceA-flow-route-route1] if-match destination-ip 1.1.1.0 24
[DeviceA-flow-route-route1] if-match destination-port 10
[DeviceA-flow-route-route1] apply traffic-rate 20
[DeviceA-flow-route-route1] check flow-route-configuration
Traffic filtering rules:
Destination ip : 1.1.1.0 255.255.255.0
Destination port : 10
Traffic filtering actions:
Traffic rate : 20
[DeviceA-flow-route-route1] commit
[DeviceA-flow-route-route1] quit
# 为公网Flowspec IPv4地址族指定路由。
[DeviceA-flowspec] address-family ipv4
[DeviceA-flowspec-ipv4] flow-route route1
[DeviceA-flowspec-ipv4] quit
(3) 配置Route B
# 配置BGP连接。
<DeviceB> system-view
[DeviceB] bgp 200
[DeviceB-bgp-default] peer 10.1.1.1 as-number 100
[DeviceB-bgp-default] address-family ipv4 flowspec
[DeviceB-bgp-default-flowspec-ipv4] peer 10.1.1.1 enable
[DeviceB-bgp-default-flowspec-ipv4] peer 10.1.1.1 validation-disable
[DeviceB-bgp-default-flowspec-ipv4] quit
[DeviceB-bgp-default] quit
# 查看Device A的BGP IPv4 Flowspec对等体状态。
[DeviceA] display bgp peer ipv4 flowspec
BGP local router ID: 192.168.150.1
Local AS number: 100
Total number of peers: 1 Peers in established state: 1
* - Dynamically created peer
Peer AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State
10.1.1.2 200 10 12 0 0 00:06:40 Established
# 查看Device B的 BGP IPv4 Flowspec对等体连接状态。
[DeviceB] display bgp peer ipv4 flowspec
BGP local router ID: 192.168.150.2
Local AS number: 200
Total number of peers: 1 Peers in established state: 1
* - Dynamically created peer
Peer AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State
10.1.1.1 100 10 12 0 0 00:06:40 Established
# 查看Device B 收到的flowspec路由策略。
[DeviceB] display bgp routing-table ipv4 flowspec
Total number of routes: 1
BGP local router ID is 192.168.150.11
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.1.1.0/24/40
0.0.0.0 100 0 ?
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!