BGP进阶-BGP社区
本文最后更新于 70 天前,其中的信息可能已经有所发展或是发生改变。

大家好,好久不见呀。

我很久没有更新博文了,这主要是一直不知道写什么,最近我打算配置BGP社区,就突然想起发博文来记录一下。

我的打算是现在只上一个黑洞社区,如果看到路由有这个社区标记,就对这条路由黑洞。对于黑洞的信息可以参见RFC7999

大家玩服务器的时候遭到DDOS通常就会被黑洞,通常这个是全自动的(但是我太菜了只能手写个社区规则这样子)。

我们继续用bird1.6举例

我们首先需要添加一个社区路由

// bird6.conf bird6 main config file
protocol static {
    route 2001:db8:ffff:ffff::/48 then blackhole;
}

....
// export.conf export filter config file
if net = 2001:db8:ffff:ffff::/48 {
    bgp.community.add ((4242,666));
    .....
}

现在有一个添加了黑洞规则的路由,在上游端只需要对这个社区规则进行匹配处理即可。

// export.conf Export Filter
if bgp_community = (4242,666) then reject;
// upstream.conf Upstream export Filter
if bgp_community = (4242,666) then reject;

这样好像看起来是没问题了,但是如果你是上游,同时你是4byte ASN的情况下它会报错,因为塞不下,这时可以使用bgp_large_community,但写法稍有不同。
直接上配置

bgp_large_community.add ((42424242,0,666));

那么上游匹配同理

// import.conf import filter
if bgp_large_community ~ [(42424242,0,666)] then reject;

我感觉还是比较简单的?

留个记录避免踩坑吧,之前想的特别麻烦,结果实际操作下来发现我想的太复杂了。

PS:至于为啥是reject不是blackhole,你自己试试就知道了,blackhole是在static协议里用的。过滤器里只有accept和reject。
实际是差不多的。

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇