Linuxで手っ取り早くBGPを使うためのBIRDセットアップ
BIRDとは
BIRDはLinux等で動作するBGPやRIPなどのルーティングプロトコルを実装したプログラムです。2021年4月時点で2.0系と1.6系の両系列がメンテナンスされています。
フリーで利用可能な選択肢としてOSレベルで動作するVyOSなどがありますが、そちらと比較してパフォーマンスは劣る一方で、既存のアプリケションと共存する形でソフトウェアとして導入できる点がメリット。個人的には超簡易にBGPの検証を行う際にも使えるかと思っています。
本記事では、現在主流の2.0系を利用して、Ubuntu20.04上でBGPを動作させ、サーバと直接接続されたセグメントを広告+網側からの経路を受け取る機能を機能を持った簡易的なルータを動作させるところまで備忘録的にまとめています。
BIRD2.0導入手順
apt経由でBIRDをインストール
$ sudo apt update
$ sudo apt install bird2
BIRD設定
$ sudo apt update
$ sudo apt install bird2
以下の設定例の通りに書き換え
- local AS: 65001(Ubuntu側の所属するAS)
- remote AS: 65002(対向側ルータの所属するAS)
- router id: 172.16.1.1(Ubuntu側のIPアドレス)
- neighbor ip: 172.16.1.2(対向側ルータのIPアドレス)
- bgp:
- (export): すべて(birdで保有する経路 = interface"eth0"のdirect経路のみ)
- (import): すべて
$ sudo vim /etc/bird/bird.conf
log syslog all;
router id 172.16.1.1;
protocol device {
scan time 10;
}
protocol kernel {
scan time 10;
ipv4 {
export filter {
if proto = "direct1" then reject;
accept;
};
};
}
protocol direct direct1 {
ipv4;
interface "eth0";
}
protocol bgp {
ipv4 {
import all;
export all;
};
local as 65001;
neighbor 172.16.1.2 as 65002;
}
$ sudo systemctl restart bird
# うまく行かない場合再起動
ステータス確認
$ sudo birdc
>bird
show protocol all # bgp neighborとの接続がESTABLISHEDになっているか
show route # 経路配信、受領できているか
[ctrl+c]
$ ip route # birdによるbgpの経路がルーティングテーブルに乗っているか
ip_forward設定
Ubuntuではデフォルトでルーティング機能が無効化されているため、
/etc/sysctl.conf 内の net.ipv4.ip_forward = 0
をnet.ipv4.ip_forward = 1
に変更
参考リンク
Author And Source
この問題について(Linuxで手っ取り早くBGPを使うためのBIRDセットアップ), 我々は、より多くの情報をここで見つけました https://qiita.com/mtkboooo/items/14d2cd59e7145a73116d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .