OSS探訪

BGP・OSPF・RIP・Babelとroute filteringを一つのrouting daemonで運用する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
221
主要言語
C
ライセンス
GPL-2.0-or-later
リポジトリ最終更新
2026/10/03
ページ内ナビ

概要

BIRDはLinuxやBSD系system向けのdynamic IP routing daemonです。IPv4/IPv6、複数routing table、BGP、OSPF、RIP、Babel、BFD、RPKI関連機能等を扱い、独自のroute filtering languageとsoft reconfigurationを提供します。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

主要routing protocolとIPv4/IPv6を一つのdaemonで扱う

BIRD 2はBGPv4、OSPFv2/v3、RIPv2/RIPng、Babel、BFD等をsupportし、IPv4/IPv6と複数routing tableを扱えます。

出典:[1]

route filteringとsoft reconfigurationでpolicy変更を反映する

configuration fileとfilter languageでroute policyを定義し、設定を再読込して影響するprotocolだけを滑らかに切り替えるsoft reconfigurationを利用できます。

出典:[1][2]

向いている用途

route serverやnetwork applianceでrouting policyを集中管理したい場合に向く

複数peer・protocolから受け取るrouteをfilterし、kernel routing tableや他protocolへpolicy付きで伝播させるnetwork infrastructure用途に適します。

出典:[1][2]

導入前の確認

本番起動前にconfig parseと権限制限を行う

BIRDはrouting table操作やraw socket等のprivileged operationを使います。User's Guideは-pでconfigだけをparseできることと、専用user/groupへ権限を落として必要なCAP_NET_*だけを保持する運用を案内しています。

出典:[2]

2.19系列では2.19.2のsecurity fixを取り込む

2.19.2はBGP Flowspec NLRI decoderのstack buffer overflow、authentication keyのnull byte handling等を修正しています。2.19系を使う場合はpatch releaseを固定します。

出典:[4][5]

参考にした公式資料

  1. [1]BIRD v2.19.2 README(2026-10-03)
  2. [2]BIRD v2.19.2 User's Guide source(2026-10-03)
  3. [3]BIRD v2.19.2 INSTALL(2026-10-03)
  4. [4]BIRD v2.19.2 NEWS(2026-10-03)
  5. [5]BIRD 2.19.2 official download(2026-10-03)
編集部からの補足

route serverやnetwork applianceで複数routing protocolを一つのdaemonへまとめたい場合に検討できます。routing table変更やraw socketを扱う高権限softwareなので、まず-pでconfigをparseし、専用userと必要最小限のcapabilityで運用する前提を置いてください。

3ステップで試す

  1. 1

    BIRD 2.19.2の公式sourceを取得する

    公式release archiveをversion固定で展開します。buildにはC compiler、GNU Make、Bison、M4、Flex、ncurses、Readline等が必要です。

    curl -fLO https://bird.nic.cz/download/bird-2.19.2.tar.gz && tar -xzf bird-2.19.2.tar.gz && cd bird-2.19.2
  2. 2

    system pathを変更せずlocal buildする

    評価用directory配下をinstall先として指定し、sourceからbinaryをbuildします。このstepではrouting daemonを起動しません。

    ./configure --prefix="$PWD/.local" --sysconfdir="$PWD/.local/etc" --runstatedir="$PWD/.local/run" && make -j2
  3. 3

    versionとsample configのparseだけを確認する

    -pはconfigurationをparseして終了するため、kernel routing tableを変更せずsyntaxと一部semantic validityを確認できます。

    ./bird --version && ./bird -p -c doc/bird.conf.example
公式READMEで確認

成長

成長の推移 · 直近30日

221 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
12
Open PR
0

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • babel
  • bgp
  • netlink
  • ospf
  • rip
  • routing
  • rpki
Stars
221
Forks
58
Watchers
18
Open Issues
0
Contributors
44
所有者種別
Organization
主要言語
C
ライセンス
GPL-2.0-or-later
リポジトリ最終更新
2026/10/03

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?
BIRDとは?BGP・OSPF対応Routing Daemon | OSS探訪