セットアップ、文脈のために
ホームラボの記事を追ってきた人なら、すでにこの連鎖はご存知だろう。MikroTikがまずインターネットを受け止め、ファイアウォールとNATの処理を行い、それからTraefikに引き渡され、正しいDockerコンテナへとルーティングする。これまで堅実に動いてきた。しかし最近、自分が実際にどのルーターを持っているのかを掘り下げたところ、ちょっとしたアイデンティティ・クライシスになった。
待って、自分のhEXはどっちだ
約2年前、MikroTikのhEXを約3,000ペソで買った。私は自分がより新しい「リフレッシュ」モデルを手に入れたと、かなり確信していた。実はそうではなかった。私が持っているのはクラシックなRB750Gr3で、デュアルコア、880MHz、256MB RAMだ。リフレッシュモデル(E50UG)は、より新しいARM SoCを搭載し、RAMは512MBと2倍で、MikroTikは構成に応じて100〜134%のパフォーマンス向上をうたっている。両方とも同じ価格帯で販売されていたので、今振り返ると少し痛い。
しかし、実際に私の使い方にとって重要なのはここからだ。リフレッシュモデルはより広い内部バックプレーンを持っており、これはLAN間トラフィックが完全にスイッチチップ上に留まり、WAN向けのトラフィックだけがCPUに触れればいいことを意味する。私の現在のクラシックhEXには、その分離がない。そのため、より重いNATやファイアウォールルールの負荷の下では、LANスループットとWANスループットが同じCPUサイクルを奪い合うことになる。少数のセルフホスト型サービスを動かす家庭用ネットワークにとっては、致命的な問題にはなっていないが、複数のサービスが同時にアクセスされたときに気づいた動作の重さの一部を説明してくれる。
選択肢1: WiFiモジュール内蔵のMikroTik
今のところ、私のWiFiはMikroTikがまったく扱っていない。TP-Linkアクセスポイントに加え、家中にカバレッジを広げるためのエクステンダーを使っている。だいたいのところ動いているが、1つ本当の問題がある。拡張WiFiに接続していると、Immichに到達できないのだ。ImmichはTraefikプロキシとは別のマシンで動いており、エクステンダーがトラフィックをブリッジする方法の何かが、そのパスを壊してしまう。通常なら、以前ヘアピンNATを修正したのと同じ方法、つまりDNSオーバーライドでこれを修正するところだが、拡張モードのTP-Linkエクステンダーは、独自のDNSサーバーを設定させてくれない。だからここには回避策がなく、単にハードウェアの厳しい制約があるだけだ。そのサービスのために拡張ネットワークを避けるか、セットアップ全体を置き換えるかのどちらかだ。
統合WiFiモジュールを備えたMikroTikユニットがあれば、WiFiとファイアウォールを1台のデバイス、1つのルーティングテーブル、トラフィックがどう動くかについての1つの信頼できる情報源にまとめられる。その時点でMikroTik自体がDNSを処理することになるので、その種の問題全体がなくなる。パスの途中で戦うべきエクステンダーがなくなるからだ。落とし穴は価格だ。これらのユニットは、通常の有線hEXよりも目に見えて高価で、専用のアクセスポイントの方がたいてい優れている機能(長距離WiFiカバレッジ)にお金を払うことになる。
選択肢2: ただギガビットに寄り切る
これは、最初思っていたよりも紙の上では少し面白みに欠ける。というのも、これを検討している途中で、私の現在のhEXにはすでにデフォルトで5つのギガビットイーサネットポートが付いていることを知ったからだ。だから実際には、ギガビットポートを手に入れることが問題ではなく、それらを実際にフル容量で使えるかどうかが問題だった。正直な答えとしては、私のLAN内では、ギガビットは確かに有用(大きなファイル転送、Immichの写真同期、マシン間のバックアップ)だが、WAN側では、私のPLDTプランは最大500Mbpsまでしか出ないので、その帯域幅の余裕の一部は、常にローカルでしか意味を持たないことになる。無駄なアップグレードパスというわけではないが、最初に聞こえるよりも恩恵は狭いものだ。もしこの道を進むなら、それは本当にリフレッシュモデルのより良い内部スイッチングについてであって、すでに技術的には持っているギガビットを「手に入れる」ことではない。
選択肢3: ミニPC + OPNsense
これは私が何度も戻ってくる選択肢だが、厳密に必要だからというよりは、それを学びたいからという理由が大きい。アイデアは、MikroTikをエッジファイアウォールとして引退させ、OPNsenseを動かす小さな専用PCに置き換えるというものだ。
正直、私にはまだOPNsenseの実践経験がまったくないので、これは計画というより好奇心に近い。概念的にはMikroTikと同じ方法でNATとファイアウォールを扱っていることは知っているが、インターフェース全体をゼロから学び直し、ポートフォワード、ファイアウォールルールを把握し、おそらく別の名前でまたヘアピンNATスタイルの問題を経験することになるだろう。TraefikがOPNsenseと同じマシンに合理的に住めるのか、それとも今のように独自のマシンに置いておく方が良いのかも分からない。それらはすべて、実際にインストールしてクリックし始めて初めて本当に理解できることだ。
今のところ、どこに落ち着いているか
ここには何も緊急なことはないが、拡張WiFi経由のImmichの問題は、ハードウェアを変えずに修正する方法が本当にないという点で、最初思っていたよりも現実的なものだ。3つの選択肢の中で、OPNsenseミニPCのルートが私が実際に試したいと思っているものだ。主に学習曲線のためだが、WiFi対応のMikroTikの方がImmichの問題をより直接的に解決するだろう。最悪の場合、MikroTikをバックアップファイアウォールとして残しておき、全体をネットワーク移行というよりも週末プロジェクトとして扱うことになる。