【华安解密之DDoS攻防】20 流量引导方案之回注(续)

digest 版主推荐[复制链接]
发表于 : 2017-2-21 11:09:58 最新回复:2017-02-22 11:21:17
7266 4
华安
华安 官方号

在上节中我们详细介绍了二层回注、UNR路由回注和静态路由回注等几种回注方法。这几种回注方法配置简单,但适用场景比较单一,如UNR路由回注只适用于单回注链路场景等。除此此外,与BGP引流配合使用时,还要在引流设备上通过一定的方法避免路由环路的隐患,增加了引流设备上的配置难度。今天给大家介绍的两种回注方法,在某种程度上能解决相关问题,比如策略路由回注能应用在多回注链路的场景中;GRE回注能直接避开引流路由,将回注流量直接送到下行学习不到引流路由的路由器,避免了路由环路的问题。

0x01 策略路由回注

在讲解引流的章节中,我们介绍过策略路由,策略路由是依照某种策略改变报文转发路径的方法,很显然通过策略路由这种改变报文转发路径的策略我们也能将清洗后的流量回注到原来的路径上去。

策略路由回注可以与BGP引流和策略路由引流配合使用,但部署配置上有所区别。

如下图中,Router1为引流路由器,引流流量从GE1/0/1接口进入清洗设备,流量清洗完成后,在清洗设备上通过配置策略路由可以让访问不同防护对象的流量进入不同的回注通道返回到原有网络中。

20170221110918375.png

 

l  如果引流方式为BGP引流,Router1可以学习到清洗设备发布的UNR路由,将访问防护对象的路由下一跳指向清洗设备,清洗后流量通过策略路由回注到Router1时,Router1又会根据路由表转发还会将流量送回清洗设备,从而形成路由环路。为此,还需要在Router1的回注入接口上配置策略路由,将回注流量送到下行路由器Router2Router3继续转发。路由回注过程如下:

1.         在清洗设备的引流入接口GE2/0/1上应用策略路由,将不同防护对象的流量回注到Router1不同的接口GE1/0/2GE1/0/3

2.         Router1回注入接口GE1/0/2GE1/0/3上应用策略路由,将流量送给下行路由器Router2Router3,最后将流量送到防护对象。

l  如果引流方式为策略路由引流,Router1和清洗设备之间不存在路由环路的问题,只需要在清洗设备上应用策略路由,就可以实现回注的过程。具体过程如下:

1.         在清洗设备的引流入接口GE2/0/1上应用策略路由,将不同防护对象的流量回注到Router1不同的接口。

2.         回注流量到达Router1后,通过查找路由表,将流量送到下行路由器Router2Router3,最后将流量送到防护对象。

下面我们以BGP引流与策略路由回注为例,讲解具体的配置,其中各接口地址规划如下:

设备名称

接口

IP地址

清洗设备

GE2/0/1

10.1.2.2/24

GE2/0/2

10.1.3.2/24

GE2/0/3

10.1.4.2/24

Router1

GE1/0/1

10.1.2.1/24

GE1/0/2

10.1.3.1/24

GE1/0/3

10.1.4.1/24

GE1/0/4

10.1.5.1/24

GE1/0/5

10.1.6.1/24

Router2

GE1/0/1

10.1.5.2/24

Router3

GE1/0/1

10.1.6.2/24

 

配置如下表所示:

Router1

清洗设备

配置BGP功能。

[Router1] bgp 100

[Router1-bgp] peer 10.1.2.2 as-number 100

[Router1-bgp] quit

在接口GE1/0/2配置策略路由。

# 定义流分类。

[Router1] acl 3001

[Router1-acl-adv-3001] rule permit ip destination 1.1.1.0 0.0.0.255

[Router1-acl-adv-3001] quit

[Router1] traffic classifier class1

[Router1-classifier-class1] if-match acl 3001

[Router1-classifier-class1] quit

# 配置流行为并配置报文转发动作。

[Router1] traffic behavior behavior1

[Router1-behavior-behavior1] redirect ip-nexthop 10.1.5.2 interface GigabitEthernet 1/0/4

[Router1-behavior-behavior1] quit

# 定义流量策略并在策略中为类指定行为。

[Router1] traffic policy policy1

[Router1-trafficpolicy-policy1] classifier class1 behavior behavior1

[Router1-trafficpolicy-policy1] quit

# GE1/0/2接口上应用策略路由。

[Router1] interface GigabitEthernet 1/0/2

[Router1-GigabitEthernet1/0/2] traffic-policy policy1 inbound

[Router1-GigabitEthernet1/0/2] quit

在接口GE1/0/3配置策略路由。

# 定义流分类。

[Router1] acl 3002

[Router1-acl-adv-3002] rule permit ip destination 2.2.2.0 0.0.0.255

[Router1-acl-adv-3002] quit

[Router1] traffic classifier class2

[Router1-classifier-class2] if-match acl 3002

[Router1-classifier-class2] quit

# 配置流行为并配置报文转发动作。

[Router1] traffic behavior behavior2

[Router1-behavior-behavior2] redirect ip-nexthop 10.1.6.2 interface GigabitEthernet 1/0/5

[Router1-behavior-behavior2] quit

# 定义流量策略并在策略中为类指定行为。

[Router1] traffic policy policy2

[Router1-trafficpolicy-policy2] classifier class2 behavior behavior2

[Router1-trafficpolicy-policy1] quit

# GE1/0/3接口上应用策略路由。

[Router1] interface GigabitEthernet 1/0/3

[Router1-GigabitEthernet1/0/3] traffic-policy policy2 inbound

[Router1-GigabitEthernet1/0/2] quit

# 配置生成动态路由时使用的下一跳地址。

<sysname> system-view

[sysname] firewall ddos bgp-next-hop 10.1.3.1

# 对生成的32位主机UNR路由进行FIB过滤。

[sysname] firewall ddos bgp-next-hop fib-filter

# 配置BGP功能及团体属性。

[sysname] route-policy 1 permit node 1

[sysname-route-policy] apply community no-advertise

[sysname-route-policy] quit

[sysname] bgp 100

[sysname-bgp] peer 10.1.2.1 as-number 100

[sysname-bgp] import-route unr

[sysname-bgp] ipv4-family unicast

[sysname-bgp-af-ipv4] peer 10.1.2.1 route-policy 1 export

[sysname-bgp-af-ipv4] peer 10.1.2.1 advertise-community

[sysname-bgp-af-ipv4] quit

[sysname-bgp] quit

# 在清洗口开启流量统计功能。

[sysname] interface GigabitEthernet 2/0/1

[sysname-GigabitEthernet2/0/1] anti-ddos flow-statistic enable

[sysname-GigabitEthernet2/0/1] quit

# 在清洗设备接口GE2/0/1配置策略路由,实现回注功能,让访问不同防护对象的流量从不同接口转发。

[sysname] policy-based-route

[sysname-policy-pbr] rule name huizhu1

[sysname-policy-pbr-rule-huizhu1] ingress-interface GigabitEthernet 2/0/1

[sysname-policy-pbr-rule-huizhu1] destination-address 1.1.1.1 24

[sysname-policy-pbr-rule-huizhu1] action pbr egress-interface GigabitEthernet 2/0/2 next-hop 10.1.3.1

[sysname-policy-pbr-rule-huizhu1] quit

[sysname-policy-pbr] rule name huizhu2

[sysname-policy-pbr-rule-huizhu2] ingress-interface GigabitEthernet 2/0/1

[sysname-policy-pbr-rule-huizhu2] destination-address 2.2.2.2 24

[sysname-policy-pbr-rule-huizhu2] action pbr egress-interface GigabitEthernet 2/0/3 next-hop 10.1.4.1

[sysname-policy-pbr-rule-huizhu2] quit

[sysname-policy-pbr] quit

 

因为是BGP引流,还需要在管理中心界面上,选择“防御 > 策略配置 > 引流”,创建引流任务,配置被保护的IP地址为1.1.1.12.2.2.2,子网掩码为255.255.255.255。单击“确定”。  如此才能在清洗设备上生成UNR路由。

策略路由回注配置关键是要找准入口和出口,了解流量从哪进,要从哪出,特别是多个回注出口时,不要混淆。

策略路由回注是一种常用的回注方式,一般用于存在多个回注接口的情况。由于策略路由回注配置简单,通常推荐用户使用。

0x02 GRE回注

GRE——General Routing Encapsulation,即通用路由封装协议,是一种三层VPN封装技术。GRE的用途一般是对某些网络层协议(如IPXApple TalkIP等)的报文进行封装,使封装后的报文能够在另一种网络中(如IPv4)传输,从而解决了跨越异种网络的报文传输问题。然而,在GER回注中使用GRE隧道是让报文跨越直连网络,传输到更远的网络。

在下图中,Router1为引流路由器,引流流量通过GE1/0/1接口进入清洗设备,流量清洗完成后,回注的流量是通过GRE隧道直接传输到Router2

20170316174426190.png

 

引流方式为BGP引流的场景,GRE回注可以直接避开引流路由,将回注流量直接送到下行学习不到引流路由的路由器,避免了路由环路的问题。大家可能会问,不通过GRE隧道,我们也可以将回注链路通过物理连线直接连到Router2,这样也能避开路由环路。是的,确实是这样,但是在Router1下面有很多路由设备的情况下,如果我们要创建多条回注链路,这会给物理线路上的部署增加很多成本,而GRE隧道的逻辑连接却不存在这样的问题,只要保证清洗设备到各回注路由器之间路由可达即可。

关注GER回注的配置如下表,其中Router1Router2以华为路由器NE80E为例。

Router2

清洗设备

配置Router2loopback地址。

<Router2> set board-type slot 1 tunnel

<Router2> system-view

[Router2] interface loopback 1

[Router2-LoopBack1] ip address 3.3.3.3 32

[Router2-LoopBack1] target-board 1

[Router2-LoopBack1] binding tunnel gre

[Router2-LoopBack1] quit

创建Tunnel接口,并指定源端接口和目的端接口。

[Router2] interface Tunnel 1

[Router2-Tunnel1] tunnel-protocol gre

[Router2-Tunnel1] ip address 10.1.1.2 255.255.255.0

[Router2-Tunnel1] source 3.3.3.3

[Router2-Tunnel1] destination 2.2.2.2

[Router2-Tunnel1] quit

配置OSPF,通告各接口所连网段IP地址路由。

[Router2] ospf 1

[Router2-ospf-1] area 0

[Router2-ospf-1-area-0.0.0.0] network 10.1.5.0 0.0.0.255

[Router2-ospf-1-area-0.0.0.0] network 1.1.1.0 0.0.0.255

[Router2-ospf-1-area-0.0.0.0] network 3.3.3.3 0.0.0.0

[Router2-ospf-1-area-0.0.0.0] quit

[Router2-ospf-1] quit

在清洗设备上配置GRE功能。

创建Tunnel接口,并指定源端接口和目的端接口。

<sysname> system-view

[sysname] interface Tunnel 1

[sysname-Tunnel1] tunnel-protocol gre

[sysname-Tunnel1] ip address 10.1.1.1 255.255.255.0

[sysname-Tunnel1] source 2.2.2.2

[sysname-Tunnel1] destination 3.3.3.3

[sysname-Tunnel1] quit

Tunnel接口加入安全区域。Tunnel接口加入的安全区域与源端接口GE2/0/2在同一个安全区域。

[sysname] firewall zone trust

[sysname-zone-trust] add interface Tunnel 1

[sysname-zone-trust] quit

配置策略路由,将流量下一跳指向Tunnel接口。

[sysname] policy-based-route

[sysname-policy-pbr] rule name gre1

[sysname-policy-pbr-rule-gre1] ingress-interface GigabitEthernet 2/0/1

[sysname-policy-pbr-rule-gre1] destination-address 1.1.1.1 32

[sysname-policy-pbr-rule-gre1] action pbr egress-interface Tunnel 1

[sysname-policy-pbr-rule-gre1] quit

[sysname-policy-pbr] quit

在清洗设备上,配置生成动态路由时使用的下一跳地址。

[sysname] firewall ddos bgp-next-hop 10.1.3.1

对生成的32位主机UNR路由进行FIB过滤。

[sysname] firewall ddos bgp-next-hop fib-filter

在清洗设备上配置BGP功能及团体属性。

[sysname] route-policy 1 permit node 1

[sysname-route-policy] apply community no-advertise

[sysname-route-policy] quit

[sysname] bgp 100

[sysname-bgp] peer 10.1.2.1 as-number 100

[sysname-bgp] import-route unr

[sysname-bgp] ipv4-family unicast

[sysname-bgp-af-ipv4] peer 10.1.2.1 route-policy 1 export

[sysname-bgp-af-ipv4] peer 10.1.2.1 advertise-community

[sysname-bgp-af-ipv4] quit

[sysname-bgp] quit

在清洗设备的清洗口开启流量统计功能。

[sysname] interface GigabitEthernet 2/0/1

[sysname-GigabitEthernet2/0/1] anti-ddos flow-statistic enable

[sysname-GigabitEthernet2/0/1] quit

配置清洗设备的loopback地址。

[sysname] interface loopback 1

[sysname-LoopBack1] ip address 2.2.2.2 32

[sysname-LoopBack1] quit

配置OSPF,通告各接口所连网段IP地址路由。

[sysname] ospf 1

[sysname-ospf-1] area 0

[sysname-ospf-1-area-0.0.0.0] network 10.1.3.0 0.0.0.255

[sysname-ospf-1-area-0.0.0.0] network 2.2.2.2 0.0.0.0

[sysname-ospf-1-area-0.0.0.0] quit

[sysname-ospf-1] quit

Router1

配置OSPF,通告各接口所连网段IP地址路由。

[Router1] ospf 1

[Router1-ospf-1] area 0

[Router1-ospf-1-area-0.0.0.0] network 10.1.3.0 0.0.0.255

[Router1-ospf-1-area-0.0.0.0] network 10.1.5.0 0.0.0.255

[Router1-ospf-1-area-0.0.0.0] quit

[Router1-ospf-1] quit

配置Router1BGP功能。

[Router1] bgp 100

[Router1-bgp] peer 10.1.2.2 as-number 100

[Router1-bgp] quit

 

除上面的配置外,通过BGP引流都需要在管理中心上进行相关设置,具体的设置在前面的章节中都有详细介绍,本节中不在赘述。

从配置中我们看到,除引流、GRE隧道以及OSPF动态路由协议配置外,在清洗设备上还配置了策略路由,目的是让清洗后的流量从Tunnel1接口(GER隧道)直接传送到Router2,最终送到防护对象。所以,GRE回注过程是通过策略路由配合GRE隧道来完成的。

GRE回注虽然成功的避开了BGP引流路由,避免了路由环路的问题,但是在多回注通道场景中,依然需要管理员手动配置命令建立多个GRE隧道,如果网络拓扑变化,管理员还需要手动进行大量的配置调整,维护成本比较高。

策略路由回注也存在这样的问题,当网络变化较大,且防护对象IP地址很分散时,可能需要配置大量的策略路由。这样,一方面需要大量的人力维护;另一方面,清洗设备上配置过多策略路由也会影响系统性能。对此,我们推荐配置MPLS回注方式,关于MPLS回注方式我们将在下一章节中详细介绍。

 

返回汇总贴

本帖最后由 pub_huaaninfo 于 2017-03-16 17:44 编辑

本帖被以下专题推荐:

  • x
  • 常规:

点评 回复

跳转到指定楼层
社区管理员咕噜噜
社区管理员咕噜噜  管理员 发表于 2017-2-21 11:20:23 已赞(0) 赞(0)

赞一个
  • x
  • 常规:

点评 回复

Come on!
user_2627861
user_2627861   发表于 2017-2-21 14:17:32 已赞(0) 赞(0)

华安给力!
  • x
  • 常规:

点评 回复

Cai_n
Cai_n   发表于 2017-2-21 17:34:25 已赞(0) 赞(0)

赞一个
  • x
  • 常规:

点评 回复

2105snow
2105snow   发表于 2017-2-21 17:36:30 已赞(0) 赞(0)

讲的很清楚,分析的透彻,赞一个
  • x
  • 常规:

点评 回复

发表回复
您需要登录后才可以回帖 登录 | 注册

警告 内容安全提示:尊敬的用户您好,为了保障您、社区及第三方的合法权益,请勿发布可能给各方带来法律风险的内容,包括但不限于政治敏感内容,涉黄赌毒内容,泄露、侵犯他人商业秘密的内容,侵犯他人商标、版本、专利等知识产权的内容,侵犯个人隐私的内容等。也请勿向他人共享您的账号及密码,通过您的账号执行的所有操作,将视同您本人的行为,由您本人承担操作后果。详情请参看“隐私声明
如果附件按钮无法使用,请将Adobe Flash Player 更新到最新版本!
登录参与交流分享

登录参与交流分享

登录