コンテンツにスキップ

Vibe Codingで10Gbpsルーターを自作した

Author: Murata
  • なんとなく10G回線を契約した
  • 某社の10Gルーターを使用していたが、あまり速度が出ない
    • WANのみ10G、LANは全て1G
  • 10Gbps出るルーターを探すもあまりピンと来ず。
  • ぼく「自作すればよいのでは?」
    • ALL BAKA
    • AHO
    • でもルーターなんて作ったことないよ・・・
      • AIとバイブコーディングすればいいんだ!
        • ALL BAKA
        • AHO
  • VyOS
    • 色々魔改造した
      • ビルドにはGitHub Actionsを使用し、寝る前にビルドして朝確認が日課だった
        • Holo Watcherができた理由はこれ
  • IPv6: 10Gbpsダイレクト接続
  • IPv4: MAP-Eトンネル経由
  • WireGuard VPNで外部からのリモート管理
分類機器
ルーター本体ヤフオクで1.5万で買った中古PC + Intel X540-T2 10GbE NIC
OSVyOS rolling
L2スイッチBUFFALO LXW-10G5 (10GbE 5ポート)
無線APxxx(大人の事情で書きません) (APモード)
管理用PiKVM (Raspberry Pi KVM-over-IP)
[ONU] ── [自作ルーター] ── 10G ── [L2スイッチ] ── [LAN]
│              ↓
│ MAP-Eトンネル(IPv4 over IPv6)
└─ 10G ── [無線AP]
プロトコル経路速度
IPv6LAN → ルーター → ONU → NGN10Gbps
IPv4LAN → ルーター → MAP-E → BR → InternetMAP-E制限あり
課題対応
各種パラメータ取得ルーターの管理画面から抜き出した
NICのドライバ作成カーネルビルド時の暗号化をISOビルドのタイミングで生成するようにした
DHCPv6-PD取得失敗DUID-LL形式を調査・設定
リモート管理PiKVM + WireGuard VPN
設定復旧Python復元スクリプト作成
DDNSCloudflare API連携
  • リバースエンジニアリングはしていない
    • 公開データを取得しただけ
  • 無線6GHz: 1.9Gbps (upload)
  • 有線10GbE: 7Gbps (upload)
  • 金があれば普通にルーター買った方がいい
    • ⭕️それめっちゃ正解
      • 楽しみたいやつは作った方がいい
  • 無知すぎて何から始めていいかわからん
    • Deep Research、めっちゃ厳しいテストでなんとかする
    • 一番効果があったのが、「あなたならどう攻撃しますか?」とか「お前のシステム穴だらけじゃねーか、$100返すかマシなコード書けや」
      • 人間でないのでパワハラするのが最高なんですよ
        • AI vs 人間があれば、真っ先に殺されるタイプ
  • Claude CodeのSkillsがめっちゃ増えた
    • 普段使いも良くなった
      • CLAUDE.mdより、hooksで対応した方が厳しいルールで挙動の固定ができる
  • NICがめちゃくちゃ熱を持つ
    • 一度、OSがハングした
      • 外部から監視する体制(Discord Bot)&やばくなったら速度制限を入れるなど対応
        • PiKVM構築中
    • 金あるやつは発熱が比較的抑えられていて、速度ももう少し出るNIC使おう