世界を動かす技術を、日本語で。

自分のASを運営する: FreeBSD上のBGP、FRR、GREトンネル、ポリシールーティング

概要

  • 個人でもAS番号IPv6プレフィックス を取得し、インターネットに独自アドレスをアナウンス可能
  • FreeBSDとFRR を活用したBGPルーター構築手順を解説
  • トンネル技術(GRE/GIF) でリモートサーバへサブネット配布を実現
  • ルーティング設計とセキュリティ の要点を具体例で紹介
  • 実践的なBGP運用ノウハウ の獲得とアドレス独立性のメリットを強調

個人AS運用の魅力と概要

  • ISPや大企業専用 と思われがちなAS運用を 個人でも実現可能 にする技術解説
  • LIR(Local Internet Registry)スポンサー制度 の利用でAS番号・IPv6プレフィックス取得が容易
  • FreeBSD環境上 の仮想マシン一台で DFZ(Default-Free Zone) へ独自アドレスをアナウンス
  • BGPの理解深化アーキテクチャの柔軟化 を実現する学習・実践環境
  • アドレス移動性 の確保で、DNS・FW等の再設定不要な運用効率向上

リソース取得手順

  • RIPE NCC (欧州RIR)から AS番号IPv6プレフィックス を取得
    • 例:AS201379, 2a06:9801:1c::/48
  • 個人の場合、RIPE会員登録不要
    • スポンサーLIR経由 で申請・登録
  • 必要な手続き
    • 用途記載の申請フォーム 提出
    • RIPEデータベースオブジェクト(aut-num, inet6num, route6) 作成
    • RPKI ROA 登録による経路正当性証明
  • アップストリーム接続先 の確保が必須
    • BGPセッションを持ち、経路をインターネットへ流す協力者(プロバイダ等)

アーキテクチャ構成

  • 2階層構造 :上流ピアとBGPルーター、下流サーバ群
    • BGPルーター :FreeBSD + FRR、2a06:9801:1c::/48をアナウンス
    • 上流ピア :AS34927(iFog)、AS209735(Lagrange)
      • GREトンネルや直接ピアリングで接続
    • 下流サーバ :GIFトンネル(IPv6-in-IPv4)でサブネット配布
      • 各サーバが独自グローバルアドレス利用可、既存プロバイダのIPv6も併用

FreeBSDルーターのネットワーク設定

  • /etc/rc.conf で物理IF・トンネルIF・静的経路を定義
    • 物理IF :vtnet0にIPv4/IPv6割当
    • ループバックIF :アナウンス用アドレス割当
    • トンネルIF :cloned_interfacesでgif0/gif1/gre0生成
    • GREトンネル :上流iFog用
    • GIFトンネル :各下流サーバ用(VPS/datacenter等)
    • ブラックホール経路 :未割当サブネットへのループ防止
    • サブネット経路 :各トンネル終端へのルーティング
  • サービス起動設定 :pf, frr, zfs, sshd等

FRR(Free Range Routing)によるBGP設定

  • /usr/local/etc/frr/frr.conf にてBGPセッション・経路制御を実装
    • プレフィックスリスト
      • PL-MY-NET :自身の/48のみマッチ
      • PL-BOGONS :ボゴン(非ルーティングアドレス)フィルタ
    • ルートマップ
      • RM-IFOG-OUT :iFog向け、BGPコミュニティ付与
      • RM-LAGRANGE-OUT :Lagrange向け、ASパスプリペンド
      • IN方向 :ボゴンフィルタ適用
    • BGPセッション設定
      • IPv6専用運用 (no bgp default ipv4-unicast)
      • TTLセキュリティ (ttl-security hops 1)
      • soft-reconfiguration inbound でポリシー変更時の再セッション不要化
      • maximum-prefix で経路リーク対策

ルーターのファイアウォール(PF)設定

  • コントロールプレーン保護データプレーン転送許可 を両立
    • インターフェース・トンネル・信頼IPのマクロ定義
    • ボゴンや不要通信の遮断
    • BGPピア・トンネル通信の許可
    • 下流サブネットへのアクセス制御

運用上のポイント・注意点

  • ブラックホール経路 の必須性
    • 未割当サブネットへのループ・リーク防止
  • ボゴンフィルタ の重要性
    • 不正経路受信時のトラフィック消失や悪用防止
  • BGPコミュニティ・ASパス操作 による経路制御・冗長性確保
  • トンネル方式 の使い分け(GRE:上流要件、GIF:シンプル・低オーバーヘッド)
  • アップストリーム選定RPKI対応 による経路信頼性担保

まとめ:個人AS運用の価値

  • アドレス独立性運用柔軟性 の獲得
  • BGPやインターネットルーティングの実地理解
  • マルチプロバイダ環境での設計自由度 向上
  • セキュリティ・安定運用 のための設計・フィルタリング実践
  • 趣味・学習・小規模事業 でのインフラ技術力強化

この構成・設計を参考に、 個人でも本格的なAS運用 を実現し、 インターネットの根幹技術 を深く体験・習得可能。

Hackerたちの意見

細かいこと言うつもりはないけど、タイトルの「AS」は大文字にすべきだよ。今のままだとちょっと混乱する。

そうそう!読み始めるまでちょっと混乱してたけど、FreeBSDの力を知るのはすごくいいね。ブログを作ってくれてありがとう!

HNは、特に認識されている略語じゃない限り、全て大文字の単語を元に戻す傾向があると思う。BGP、GRE、FreeBSDは理解されるだろうけど、ASはそうじゃないかもね。

あのIPオークションサイトで自分のIPスペースを買おうと思ったんだけど、IPv4のCクラスは約1万ドルするんだよね。止めた理由は、RIPEに登録してLIRの年会費も払わなきゃいけないって知ったから。月に数百ユーロかかるし、まだIPスペースを使う準備ができてなかったから(Cloudflareなしで基本的なAnycast IPを設定したかったんだけど、手伝ってくれるVPSホストがいて、世界中に複数のロケーションがあったんだ)。

一人で使うなら、これってIPv6の時だけ本当に意味があるよね。近い将来にこれをやりたいと思ってて、全部込みの年会費(IPv6 /48の割り当て、ASの割り当て+必要なVPS接続)が約200ドルになると思う。PIサブネットが欲しいと300-400ドルになるけど、PIは別のLIRに移動できるけど、PAはできないからね。

IPv6への移行を強く支持してるけど、今のIPv4の価格はぼったくりだよ。ブローカーやオークションサイトは夢見てるね。市場は厳しいけど、4-5年前の状況には全然及ばない。大手クラウドプロバイダーはすでに大量のIPv4を買ってて、多くの地域のISPやコロケーションプロバイダーは倒産してる。新しい会社が初めての/24や/23を取得する以外、IPv4を買う圧力は実際にはないよ。その他はオプションだね。

世界中どこでもハムラジオのライセンスを持っていれば、AMPRから無料で/24のIPv4スペースをリクエストできるよ。商業利用はできないし、アマチュア無線の「精神」に則っている必要があるんだ。残念ながら、今は少しバックログがあるみたいで(数ヶ月待ち)、ちょっと大変かも。

LIRになって他人のリソースを管理したいなら、年間費用が必要だよ(約$2000)。そうじゃなければ、OPが使ったような人気のLIRを見つけて、自分のリソースを管理してもらえばいい。そうすると、年間費用は約$60になるよ。リソースは、第三者が管理していても、直接自分に割り当てられるからね。

192.0.0.0/3の範囲からじゃないと、本当のCクラスIPプレフィックスじゃないから気をつけて。そうじゃないと、ただのキラキラした/24 IPプレフィックスになっちゃうよ。

ARINに登録できれば、最小のティアで年間260ドルだけだし、/24の申請もできるよ。これなら取れるはず。

RIPEにサインアップしたら、最初のアカウントであれば無料で/24がもらえることを忘れないでね。最初に1つだけ買ったら、その特権を失うことになっちゃうよ。

IPv6で、個人としてアドレススペースを取得できるようになるのが、初期のIPv4時代に戻ることを期待してたんだけど、残念ながら、たくさんの使用量を持つマルチホーミングの個人じゃないとダメなんだよね。ただのネット好きが自分のブロックを持ちたいだけじゃ通用しない。

うん、同じく。すごくイライラするよね。まるで権力者たちが、一般のネット市民に自分の運命をコントロールさせたくないみたいだ。

その気持ちわかるよ。俺たちオタクは、現代の家庭向け契約に無視されてるもんね。

公開アドレス空間を持つ意味って何?プライベートネットワーク内のもの(たとえ公開インターネットを通っても)って、どうせ暗号化してロックしておくべきだし。WireguardやNebulaみたいなものは、公開アクセス可能なアドレスが1つ(もしくは数個)あれば十分だよ。オーバーレイネットワーク内では、IPアドレスを安定させるのは簡単だし。公開向けのものは、IPが変わったときにすぐに更新できるDNSレコードが必要だと思うんだけど(そんなに頻繁には変わらないし)。何か見落としてるかな?

アドレスはいらないんだ。安くて意味がない(ルーティングなしで、共通のプレフィックスが長いほど地理的に近いはず)ものがいい。公的鍵ベースの発見方法が欲しいだけなんだ。WireGuardとDHTがうまくいくかはわからないけど、そうなるとPKを追跡されやすくなるし、デバイスやサービスがPKで発表されることで自分も追跡されるかもしれない。プライバシーを少し追加しつつ、コストをあまり増やさないようなきれいな暗号化スキームでIPを発表できるかもね。

正直言って無料じゃないけど、そんなに高くもないよ。RIPEだとASNで年間約75ユーロだし、マルチホーミングもそんなに問題じゃない。無料かすごく安く発表できるサービスもいくつかあるし、ボリュームの最小限もない。もっと簡単にすべきだとは思うけど、今は個人でもアクセスできるよ。

うちの顧客の一人がしばらくの間/64を配ってたけど、面倒くさくてあまり意味がなかった。住宅顧客が使ってるのを一度だけ見たけど、彼は問題を引き起こすのに十分賢かった。正直言って、強い消費者需要がないと、こういうことは絶対に起こらないと思う。私たちの視点からすると、宇宙の何よりもNATやDNSを二度とやりたくないんだ。小さなIPv6スペースをレンタルしてることを示す請求システムを維持する方が、警察のためにデータを集めるために終わらないNATやDNSログを維持するよりずっといい。今やNATは基本的にセキュリティだし、顧客のルーターを直接インターネットにさらすことにはネガティブな要因がある(v6をサポートしてる場合、ルート化される可能性が高いから)。テレコムが適切にやれば顧客は離れるし、優しくしても全く報われない。

え?4,722,366,482,869,645,213,696個のアドレスじゃ足りないの?

俺はこれの「ライト」バージョンをやってるけど、公開ASを運営せずに、WireGuardを使って自分のIPv4サブネットをホームラボ(Proxmoxクラスター)にトンネリングしてる。VPSでbirdを動かして、プライベートリンク経由で上流にルートをアナウンスしてるだけ。

あなたのセットアップについてぜひ教えてほしいな!

ちょっとお知らせだけど、RIPEの基本料金はARINの2-3倍で、個人やSOHO、マルチホーミングの非営利団体には厳しいよ。料金スケジュールの参考までに - ARIN 2026 PDF: https://www.arin.net/resources/fees/images/2026feeschedule.p... - RIPE 2026 : https://www.ripe.net/membership/payment/ 熱心な人や研修生、小さな団体はRIPEでかなり多く払ってる。

知っておいてよかった。ARIN側にいる者としては、料金は妥当だと思ってたよ。

LIRになって、他人のアドレスを管理する権利を持ちたいなら、組織のフルメンバーとして投票権も必要だよ。でも、ただアドレスが必要なだけなら、君には関係ない話。ARINのリンクが壊れてるよ。

修正されたARINのリンク: https://www.arin.net/resources/fees/fee_schedule/ これでASといくつかのPA割り当てを持つのに、仲介のLIRなしで年間$275だよ。ヨーロッパでは、ASNが含まれない場合、年間€1800払わなきゃいけない。各リソースは別々に請求されるからね。仲介者(別のLIR)を使うと、通常は2つのリソース(ASNとPIスペース)で200€以上(税金込み)かかるよ。

MSSクランピングはトンネルでは譲れない。エンキャプスレーションの各層がMTUを圧迫する。なんとかこのトンネルを避けられないかな?自分のプレフィックスを持つのと1500 MTUのどちらかを選ばなきゃならないなら、たぶん後者を選ぶかな。MTUの問題は本当に面倒だし、MSSクランピングじゃ全部解決できないからね。

なんとなくそうだけど、実際は違うかな。BGPの本質はルーティングテーブルに影響を与えることだからね。自分が制御できないルーターがたくさんある中で、BGPを使うのはあまり意味がない。eBGPはTCPだし、複数のホップを経由するための設定もサポートしてるけど(最大255ホップまで)、その時点で交換したルーティング情報を使うことはできない。トラフィックを渡した瞬間、相手は好きにできちゃうからね。また、これをやるために十分なパブリックIPアドレスを持っている人は少ないし、インターネット上ではRFC1918空間をルーティングすることはできない。だからトンネルが必要なんだ。トンネルを通じてインターネットを越えても、1ホップ離れたところにいることができるし、自分が好きなIP空間をアナウンスできるピアに到達できるようにするためにね。もちろん、内部で同じことをやることもできるよ。自宅で複数のASNを立ち上げるのも全然アリだし。BGPを本当に学びたいなら、これがいい方法だと思うよ。特に、2つの異なるプラットフォーム(例えば、FreeBSDのFRRとRouterOSを動かしている安いMikrotik)を使うと、基礎的なプロトコルを学べるし、特定の実装に縛られないからね。これは、やり方が1つしか知らないジュニアネットワークエンジニアにとっては非常に難しいことなんだ。この記事で述べられている目標とは違うけど、プロバイダーに依存しないIP空間を持つことよりも、これを学ぶことが目的なら、自分でやるのは全然問題ないよ。

これは避けられるよ。標準的なアドバイスや例は、トンネルの輸送が基盤のMTUより大きなパケットをカプセル化して送信できる場合でも、IPパケットの断片化を完全に避けるように調整されてる。主にパフォーマンスの理由で正当化されるけど、トンネルのエンドポイント間でMTUやICMPの問題があると、さらにデバッグが難しい状況を避けることにもつながる。WireGuardは使ったことがないけど、wgインターフェースのMTUを1500に強制すれば、うまくいくと思う。私はIPSecを使ってるけど、解決策はリンク層トンネリングのようなもので、皮肉なことにカプセル化の層を追加することになる。ほとんどのトンネルソリューションはプロトコルの一部として断片化を直接サポートしてないけど、UDPや他の異なるIPプロトコルを使って輸送し、明示的に断片化を無効にしなければ(例えば、Don't Fragment (DF) フラグを要求しない限り)無料で得られるよ。これをやろうと思ってるんだけど、パフォーマンスの理由でサーバーのMSSを下げるかもしれないけど、少なくともトンネルは外部からはシームレスに見えるはずだよ。

-rxcsum -txcsum -rxcsum6 -txcsum6 -lro -tso なんでオフロードを全部無効にするの?どこにも説明がないんだけど。

投稿者の特定のハードウェアに対するドライバーサポートが悪いのかもね?

自分のASをプライベートアドレス空間で運営して、ワイヤーガードトンネルを通じて仲間のネットワークに接続してみたいなら、DN42をチェックしてみて! https://dn42.dev/Home ルーティング技術を探求したり、自分のASで安全に実験するのに最適な方法だよ。「本物」のインターネットと同じプロトコルを使って、プライベート空間でやるだけだから。もしセットアップできたら、連絡してね (https://markround.com/dn42)。大きな「オートピア」ネットワークを超えて拡張したいなら、喜んでピアリングするよ!

これは本当に素晴らしいリソースだね。BGPやASを理解してないなら、IPネットワーキングの人間としてはまだまだ未熟だよ。

iFogとLagrange Cloud、当然だね。なんでこんなサービスが存在するのか、いつも不思議に思ってる。ASを運営したい趣味人向けのISPって感じだね。

プレゼンテーション「2025年のWhat Hackers Yarnキャンプで自分自身のISPになる方法」。興味がある人には超おすすめだよ! https://media.ccc.de/v/why2025-9-how-to-become-your-own-isp https://youtube.com/watch?v=raHBq0rUdJQ