bgp flowspec的redirect到清洗器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bgp flowspec的redirect到清洗器相关的知识,希望对你有一定的参考价值。

参考技术A sflow-RT(192.168.10.1)--------juniper VMX(VRF ge-0/0/3)--------->清洗器
清洗器回注:juniper VMX(ge-0/0/4)<---------清洗器

juniepr VMX将流量重定向到清洗器:

set interfaces ge-0/0/3 unit 0 family inet address 222.77.177.254/24

set interfaces ge-0/0/4 unit 0 family inet filter group 1

set interfaces ge-0/0/4 unit 0 family inet address 172.20.1.254/24

set policy-options policy-statement NO-VALIDATE term 1 from community to-fw-ddos

set policy-options policy-statement NO-VALIDATE term 1 to instance VRF1

set policy-options policy-statement NO-VALIDATE term 1 then accept

set policy-options policy-statement NO-VALIDATE term 2 then accept

set policy-options community to-fw-ddos members redirect:65070:100

set routing-instances VRF1 instance-type vrf

set routing-instances VRF1 interface ge-0/0/3.0

set routing-instances VRF1 route-distinguisher 222.77.177.254:1234

set routing-instances VRF1 vrf-target target:65070:100

set routing-instances VRF1 routing-options static route 0.0.0.0/0 next-hop 222.77.177.1

set routing-instances VRF1 routing-options static defaults resolve
set routing-options static route 117.27.230.0/24 next-hop 201.10.10.1

set protocols bgp group CUST-FLOWSPEC neighbor 192.168.10.1 family inet flow no-validate NO-VALIDATE

set routing-options flow interface-group 1

set routing-options flow interface-group exclude

启动sflow-RT

./start.sh -Dddos_protect.router=192.168.10.254  -Dddos_protect.as=65070  -Dbgp.start=yes -Dbgp.port=179 -Dddddos_protect.enable.ipv6=no -Dddos_protect.enable.flowspec=yes -Dddos_pos_protect.enable.ipv6=no -Dddos_protect.enable.flowspec=yes -Dddos_protect.flowspec.community=65070:100 -Dddos_protect.flowspec.redirect.nexthop=222.77.177.1 -Dddos_protect.flowspec.redirect.as=65070:100 -Dddos_protect.flowspec.redirect.method=as

为便于清洗器回注的数据包能转发到后端Server,需将与清洗器相连的接口disable flow-route

set interfaces ge-0/0/4 unit 0 family inet filter group 1

set routing-options flow interface-group 1

set routing-options flow interface-group exclude

使用hping3发包:

hping3 --flood --udp --rand-source -k 117.27.230.10 -p 5353

验证:

BGP - 1,基本概念

1,BGP知识点
a)AS号:私有(64512-65535),公有(0-64511)。
b)什么时候使用BGP:有数据穿越本AS前往其他AS;本AS有多条到其他AS的连接;必须要做策略。  
c)BGP路径矢量特征:BGP自治系统路径是无环路的。BGP路由器不接受路径列表中包含其自治系统号的路由更新。
d)BGP基于TCP(Port179),TCP是单播,使用滑动窗口确认,无需逐个确认后发更新分组,比OSPF,EIGRP效率高(它们使用1-to-1窗口)。
e)自治系统可能使用多种IGP,并采用多种度量值。
f)OSPF理论上支持1万条路由条目,ISIS理论上支持2万条。
g)IGP以路由器为单位确定下一跳(hop by hop),BGP以AS为单位确定下一跳(AS by AS)。
h)BGP的network宣告语句前缀必须完全和掩码一致,例如9.9.9.9/24不会接受,9.9.9.0/24会接受。
i)EBGP学来的20,IBGP学来的200,BGP希望AS内部由IGP自己搞定,AS之间的由BGP搞定。
j)EBGP邻居一般是直连,因为会查找直连路由。IBGP邻居无需直连,只要求TCP连通性。
k) AS内部,如果转发的是AS外部路由,都会先递归查找到达PE的路由,即实际上在AS内部,报文的转发路劲是根据目的PE设备来确定的,途径每一跳都这样,到了MPLS则直接打上标签了,中间黑洞路由器甚至无需知道该路由。
l) 关于BGP路由黑洞,trace的时候黑洞路由器应该是打****号的,甚至PE也会呈现*号,因为PE设备其实无需知道路由,因此完全可能没有ping发起者的路由(E传E时会自动改下一跳,I传I时一般手工指定next-hop-self,所以理论上BGP只需要有下一跳的路由即可),如果收到了TTL=1/0的报文,因为没路由不知道怎么回包,所以就打***号了,但后面其实又会有项目,并能ping通。另外,反过来,如果PE设备知道回包的路由,就会把EBGP之间的互联链路暴露出来,本来可能ping包发起者不知道该地址。这条可能理解有误,如果是黑洞路由器可能会根据标签转发至PE,PE再回包,会不会暴露P路由器地址呢?
 
2,协议比较
 
协议 内部/外部 类型 是否要层次化 度量值
ospf 内部 链路状态 开销(思科上是开销即带宽)
isis 内部 链路状态 带宽(思科接口默认为10)
eigrp 内部 高级距离矢量 复合带宽+延迟
bgp 外部 距离(路径)矢量 路径矢量,属性
rip 内部 距离矢量 跳数
 
 
3,协议更新机制
     触发更新:EIGRP,BGP
     可以周期更新,也可以改为触发更新:RIP
     周期更新和触发更新相结合:OSPF,ISIS
 
4,企业连到ISP方式,连接方案
 
连接方式 单宿 单链
双宿 双链路(客户路由器可以是一台,可以是两台)
多宿 单链路,双上联2个ISP
双多宿 双链路,双上联2个ISP
连接方案 每家ISP提供默认路由给企业(出自治系统的流量由IGP度量值决定,例如RIP选择离通过缺省路由跳数最少的路由器出,入由外部ISP决定)
每家ISP提供默认路由+部分路由给企业(对部分路由进行重发布,可以选择重发布的度量值避免次优路径)
每家ISP提供全部路由给企业(需要建立全互联邻居关系,或者开启同步)
 
 
5,基本概念
     peer = neighbor : BGP邻居
     bgp speaker : 运行BGP的路由器
     EBGP:不同AS
     IBGP:同一AS
     BGP邻居不一定是直连,路由可达即可
     BGP通过TCP建邻居,点到点协议,所以BGP都是单播更新,BGP只有单播地址没有组播地址
 
 
 
 
 
 
 
 
 
 

以上是关于bgp flowspec的redirect到清洗器的主要内容,如果未能解决你的问题,请参考以下文章

怎么把vrf子路由表的bgp路由重分发到ospf

BGP

学习总结---BGP协议

BGP 路由发布 涉及到的下一跳问题

BGP路由聚合

BGP的四类属性详解