メインコンテンツまでスキップ

設定事例集

このセクションは、小さく写経しやすいルーター構成のパターンを集めたものです。 設計ドキュメントというより、機器ベンダーの設定事例集に近い形式にしています。 各ページは構成図から始め、いま routerd が管理できる範囲を示したうえで、 最小限の YAML を載せます。

ここにある設定は出発点です。本番に投入する前に、インターフェース名、アドレス範囲、 ISP 固有値、管理アクセスの経路を、必ず自分の環境に合わせてください。

構成図の番号、対応表、YAML 抜粋、ローカル編集、validate-plan-dry-run、apply、routerctl 確認の流れを示す設定事例の読み方図

標準の出発点

家庭ルーターを routerd で置き換える場合は、 examples/home-router-mgmt-protected.yaml を出発点にしてください。3 ロールのファイアウォール(untrust / trust / mgmt)、 DS-Lite 優先 + PPPoE フォールバック、apply 時のロックアウト防止のための ManagementAccess、管理アドレスへ bind した WebConsole を含む、 安全最小の標準構成です。インターフェースと ISP を自環境に合わせ、 下の安全チェックの順序で適用してください。

読み方

各事例は同じ流れで読めるようにしています。

  1. 構成図: 物理構成または論理構成。
  2. 図の対応表: 図の番号が何を表すか。
  3. 設定例: 完全な YAML は examples/ に置き、ページ内では番号付きで要点を抜粋します。
  4. 適用手順: 先に実行する validate、plan、dry-run。
  5. 確認方法: 収束したことを確認するコマンド。

構成図の [1] と YAML コメントの # [1] は同じ対象を指します。 図を見ながら、どのリソースがどの場所を管理するのか追えるようにしています。

すぐ試せる事例

事例状態使う場面
基本的な IPv4 NAT ルーター現在の実装で利用可能WAN は DHCPv4、LAN はプライベート IPv4 と DHCPv4 で構成したい。
LAN DHCP とローカル DNS現在の実装で利用可能1 つの LAN で DHCPv4、ローカル DNS ゾーン、DHCP 由来の名前を配りたい。
DS-Lite ホームルーターISP 固有値を入れれば現在の実装で利用可能IPv6 を主回線として使い、IPv4 は DS-Lite tunnel に通したい。
PPPoE IPv4 NAT ルーターISP 認証情報を入れれば現在の実装で利用可能Ethernet の WAN 上に PPPoE セッションを張って IPv4 インターネットに出たい。
内部 Web サーバーへのポートフォワードWAN アドレスが分かっていれば現在の実装で利用可能内部の HTTPS サーバーを 1 つ公開し、LAN からも同じ公開名で到達したい。
BGP 付き Kubernetes API VIProuterd-bgp GoBGP と keepalived で現在の実装で利用可能Kubernetes API VIP を routerd が保持し、control plane をヘルスチェックし、Service prefix を BGP で受けたい。
ゲスト / IoT 端末の分離Linux nftables で利用可能一部の MAC アドレスだけインターネットを許可し、LAN と管理網へは届かせたくない。
ファイアウォールのレート制限と ICMP ルールLinux nftables で利用可能複数ポートのサービス開放、ICMP type のマッチ、SSH ブルートフォース緩和を使いたい。
Multi-WAN IPv4 failover現在の実装で利用可能。ヘルスチェックは慎重に調整複数の IPv4 出口から正常な default route を選びたい。
パブリック DNS をローカルリゾルバーへリダイレクトLinux nftables で利用可能LAN クライアントが平文 DNS を外へ直接投げるのを、ルーターの DNS に集約したい。
Tailscale subnet / exit nodeTailscale が利用できる環境で利用可能LAN の経路や exit node を tailnet に広告したい。
WireGuard ハブ&スポーク template鍵と peer の経路を置き換える templaterouted な WireGuard hub の出発点が欲しい。
OTLP collector への telemetry エクスポートcollector があれば利用可能routerd の logs、metrics、traces を観測基盤へ送りたい。

まだそのまま実行できるとは書かない事例

初めて触る人には重要ですが、対応する生成(レンダリング)や運用指針が揃うまで、 そのまま適用できる YAML としては出さないものです。

パターン現状
MAP-E / v6plus 系の IPv4 over IPv6まだ一級リソースとしては未実装です。
OSPF など BGP 以外の動的ルーティング未実装です。Kubernetes 風の Service prefix インポートには routerd-bgp GoBGP を利用できます。
IPsec site-to-site cookbookIPsec の土台はありますが、本番向けの生成(レンダリング)が同等水準に達したとは書いていません。

安全チェック

実利用中のルーターに適用する前に、必ず次を確認してください。

  • コンソールまたは hypervisor から入れる経路を残す。
  • 管理通信がどのインターフェースを通っているか把握する。
  • routerctl validaterouterctl plan を先に実行する。
  • plan が管理インターフェースのアドレス、経路、ファイアウォールの開放を消さないことを確認する。
  • ルーター上にインストールしたリリースバイナリで適用し、別の開発ツリーからは実行しない。
routerctl validate -f router.yaml --replace
routerctl plan -f router.yaml --replace
routerctl apply -f router.yaml --replace
routerctl status

関連ページ