ルーターを OPNsense に変更してみた

2025年08月30日(土) - 18:06

はじめに

我が家のインターネット接続回線は CATV で 10 GbE サービスを利用できる。どっちみち LAN は 1 GbE だし、今のところ 10 GbE は単に浪漫というだけで、1 GbE サービスで常時 600〜700 Mbps 程度出ているから不満は無い。

不満は無いけれど、せっかく利用できる環境にあるなら試してみたくなるのは仕方がないと自分を言い聞かせて調べてみた。基本的な方針は次のとおり。

  1. 上流のルーターは今の RTX830 を置き換える。
  2. Wi-Fi ルーターはアクセスポイント機能だけあればいいけれど、今の BUFFAOLL WSR-3200AX4S は WAN ポートが 1 GbE だから、とりあえず 2.5 GbE のものに変更する。
  3. LAN 内のスイッチを 10 GbE にするのは過剰。どっちみち PC のインターフェースは 1 GbE だし。ただし、スイッチは少なくともルーターに接続するために 10 GbE のポートを1つ以上、かつ Wi-Fi ルーターその他を接続するために 2.5 GbE のポートが複数あるものにする。

1のルーターは、簡単に済ますなら YAMAHA RTX1300 を購入して置き換えればいいだけ。とはいえ自宅のインターネット接続用としてはいかにも高額で宝の持ち腐れ、猫に小判という感じ。なので、安価な中古 PC を調達して OPNsense をインストールする。

2のアクセスポイントは、WAN インターフェースが 2.5 GbE の Netgear WAX206 を中古で調達して入れ替える。

3のスイッチは BUFFALO の LXW-10G5 も考えたけれど、LAN をすべて 10 GbE 化するならともかく、Poxmox VE の各ノードも現状のままだし、ファンレスの安価な 2.5G x 8 port + 10 G x1 port の中華スイッチにしてみる。

 

購入したもの

ルーター用には中古の Lenovo ThinkCentre M720q Tiny を購入した。第8世代 Core i5 8400T 1.7(〜最大3.3)GHz で、ルーターとして今でも十分な性能。念の為、Windows 11 はアカウントに紐づけてデジタルライセンス認証だけ済ませてから、もともと入っていた 256 GB NVMeSSD と 8 GB メモリーを取り外して、手持ちの 500 GB NVMe SSD と 32 GB メモリーを使用して OPNsense をインストールした。

LAN/WAN インターフェースには 10Gtek の Intel X520 互換 NIC X520-10G-2S-X8 を購入して M720q に取り付けた。ロープロファイルのバックパネルが付いているからピッタリ収まった。
PCIe のライザーカードは Lenovo 互換の安価なやつ。

M720q表M720q裏

SFP+ のポートには、ipolex 10GBase-T SFP+ モジュール(1.25/2.5/5/10G)を WAN 側用に購入した。LAN 側用には ipolex 10G SFP+ DAC(ダイレクトアタッチケーブル)を購入してスイッチングハブと接続した。どちらも問題なく使用できている。

ルーターに接続するスイッチには、FOXNEO の 2.5 Gbps スイッチングハブ 9 ポート(8 x 2.5 G RJ45、1 x 10 G SFP+)を購入した。一応、昼間はクーラーをつけっぱなしにしている部屋だから熱問題は大丈夫だと信じたい。

 

OPNsense の設定

インストール直後から基本的なファイアウォールが有効になっていて、LAN 側のアドレスは 192.168.1.1 になっている。DHCP サーバーもインストール中に有効にすれば、このまま RTX830 を置き換えても基本的には問題ない状態だけど、若干の設定を変更する。

 

ヘアピン NAT

例えば、LAN 内の PC から https://jisaba.life に接続するときは、ヘアピン NAT を有効にしないと表示されない。設定は簡単で、サイドメニューの「ファイアウォール>設定>詳細設定」から「ポートフォワードリフレクション」と「リフレクションへの自動外向き NAT」を有効にするだけ。詳細は OPNsense のドキュメント Reflection and Hairpin NAT の方法3のとおりで、DNAT、SNAT とも自動でファイアウォールのルールが作成される。当然、必要に応じてルールを追加することもできる。

ヘアピンNAT

 

VLAN の追加

こちらも OPNsense のドキュメント VLANとLAGGの設定 のとおりに進めれば問題ない。概略手順は次のとおり。

  1. サイドメニューの「インターフェース>デバイス>VLAN」でデバイスとして VLAN を追加する。
  2. サイドメニューの「インターフェース>割当て」で作成した VLAN を新しいインターフェースとして追加して割り当てる。名称は仮に VLAN100 とする。
  3. サイドメニューの「インターフェース>[VLAN100]」から IP アドレスを設定する。
  4. 必要に応じてサイドメニューの「サービス>ISC DHCPv4>[VLAN100]」で DHCP サーバーを設定する。

 

IPv6 トンネルブローカー

OPNsense は Hurricane Electric の IPv6 Tunnel Broker に対応していて、ドキュメント IPv6 トンネルブローカー のとおり設定することで IPv6 環境を構築することができる。

これまでは PVE に IPv6 ルーター用の仮想マシンを作成して、仮想マシンの外側のインターフェースに IPv6 over IPv4 のトンネルを設定していた。仮想マシンの内側インターフェースには IPv6 を割り当てて、SLAAC(ステートレスアドレス自動構成)で VLAN 内のクライアントだけにプレフィックスを広告していた。

今回 OPNsense にルーターを変更したから、GIF デバイスを作成して IPv6 用のインターフェースを追加することができる。ただ、ドキュメントのとおりに設定すると LAN 内の IPv6 を有効にしているすべてのクライアント PC が IPv6 over IPv4 で接続してしまうから不便。なので、SLAACは構成せずに、特定の仮想マシンに手動で IPv6 のアドレスを割り当てることにした。
IPv6 専用の VLAN を用意して既存の LAN と分離することもできるけれど、今のところ IPv6 環境はお試しなのでこれで良しとした。

 

おわりに

OPNsense の DDNS サービス設定で、Hurricane Electric の IPv6 Tunnel Broker に対しては、WAN 側のアドレスを監視して変更があれば通知する、ということができる。

自分が使用している DDNS サービスの MyDNS.jp は、OPNsense の DDNS サービスから設定することはできないのが残念。今さら no-ip など他のサービスに変更する気も無いし、関係のソースを弄れば対応可能みたいだけれどそこまで切羽詰まっていないから暫く今のままで運用する。

CATV にサービス変更を申し込んだから、来週末には 10 GbE 環境になるだろう。