Bird 构建自己的 Anycast 网络

首先你需要:

  1. 一家可以让你跑 BGP 的服务商,这边推荐这两家 VultrMisaka
  2. 一段有RPKI+IRR的 IPv4 , IPv6我建议你别跑Anycast了,调起来头大
  3. 一个自己的ASN

安装bird:

系统我推荐使用debian 10,安装bird 只需要

apt install bird -y

设置开机自启动

systemctl enable bird

修改bird 配置

这边贴一个配置文件供参考

#定义 router ID
router id 100.127.70.25; 
#定义自有网络,这是filter policy
function is_own_network() {
  return net ~ [
    10.0.0.0/22{22,24}     # Anycast DNS
  ];
}

# The Kernel protocol is not a real routing protocol. Instead of communicating
# with other routers in the network, it performs synchronization of BIRD's
# routing tables with the OS kernel.
protocol kernel {
        scan time 60;
        import none;
#       export all;   # Actually insert routes into the kernel routing table
}

# The Device protocol is not a real routing protocol. It doesn't generate any
# routes and it only serves as a module for getting information about network
# interfaces from the kernel. 
protocol device {
        scan time 60;
}

protocol static static4 {
  route 10.0.0.0/24 reject;
}

protocol bgp vultr
{
    # substitute with your AS or Vultr's private AS
    local as xxxx;
    import all;
    export filter {
    if is_own_network() && source ~ [RTS_STATIC, RTS_BGP] then {
      accept;
    }
    reject;
    };
    graceful restart on;
    multihop 2;
    neighbor 169.254.169.254 as 64515;
    password "";
}

上面的配置文件我简单讲一下几个点,Vultr官方给出的配置文件是export all,其实这种对于网络架构来说非常不负责任,你这样100%会导致路由侧漏从而引起BGP Session被掐断。所以我写了一个定义来确保不会漏别人的路由给上游。

如果你想要使用一些community(其实在Anycast中是必须要的)来修改路径的话,你可以在 protocol static static4 下改,可以参考下图:

route 10.0.0.0/24 reject {
    bgp_community.add((48024,666));
    bgp_community.add((48024,6666));

注意一下,一行一个,并且和cisco不一样的地方是他是用,而不是:的。

community也可以定义,可以自己去研究下

暂无评论

发送评论 编辑评论


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