不得不说人一穷鬼点子就特别的多。
准备工作
分别给 BIRD 和 ExaBGP 分配两个 IP:
BIRD: 169.254.32.32/32
ExaBGP: 169.254.64.64/32
1 | /etc/network/interfaces.d/ifcfg-eth0:bird |
1 | /etc/network/interfaces.d/ifcfg-eth0:exabgp |
以下使用 134671
为己方 ASN,12.34.56.78
为己方 IP 地址。
ExaBGP
安装
1 | sudo apt-get -y install exabgp |
配置监控
1 | sudo wget -O /etc/exabgp/watchdog.sh https://gist.github.com/ym/67dc9b350f2fec254d7ec4ea03fbd273/raw/25e6b6081277a68c79bd11e0b874455c790a740e/watchdog.sh |
其中 URLS
为需要监控的 URL,ROUTES
为需要宣告的 IP 段,自己修改即可。
配置 ExaBGP
编辑 /etc/exabgp/exabgp.conf
1 | neighbor 169.254.32.32 { |
配置完成后 sudo service exabgp restart
重启服务
BIRD
然后把 BIRD 的监听端口修改一下:
1 | listen bgp address 12.34.56.78; # 与上游 Peer 通讯的 IP |
并增加 ExaBGP 的 Peer:
1 | protocol bgp ibgp_exabgp_local { |
增加完成后 sudo birdc configure
即可。
完成
1 | # sudo birdc show route protocol ibgp_exabgp_local all |