Add a VLAN to OPNsense in Just 26 Clicks Across 6 Screens

Michael Lynch

OPNsenseでVLANを1つ追加するのに必要なのはたったの26クリックと6つの画面

原文は Michael Lynch により に公開されました。 このブログを購読する

OPNsenseのファイアウォールで新しいVLANを1つ追加するのに、何回クリックが必要だろうか?

凝ったことは何もない。独自のIPv4レンジを持つ、ごく普通の基本的なVLANだ。

何回でできるのが妥当だろう?せいぜい2、3回?どんなに多くても5回くらいか?

OPNsenseで新しいVLANを追加するたびに、やけに面倒に感じるので、自分のファイアウォールにシンプルなVLANを1つ追加するのに正確に何回クリックが必要かを計測してみることにした

結果はこうだった。

  • 26回のクリック
  • 71回のキー入力
  • 6つの異なる画面/ダイアログ
  • 3つの異なるワークフロー

しかも、これはファイアウォールルールを割り当てる前の数字だ!

Tabキーを使えばクリックの一部をキー入力に置き換えることもできたが、普段通りのやり方に合わせてみた。

なぜこんなに面倒なのか

このプロセスには「それくらい自分で判断してくれてもいいじゃないか、OPNsense」と聞きたくなる場面が何度もある。

OPNsenseルーターでVLANを追加するたびに、「いや、アルファベット順で最初だからという理由で勝手に選ばれた未接続の適当なインターフェースじゃなくて、LANインターフェースに割り当てたいんだ」と言い直さなければならない。

プレフィックスをわざわざ入力させるな

もし勝手にVLAN名を入力しようものなら、OPNsenseは文句を言い出し、名前の先頭にvlanを付けろと主張してくる。

自由入力欄を用意したのはそっちだろう、OPNsense!特別なプレフィックスが欲しいならそちらで勝手に付けてくれ。わざわざユーザーに入力させるな。

プレフィックスの入力といえば、DHCPの割り当てでも、開始と終了の範囲を空欄のままにすると、4つも別々にエラーを出してくる。

しかも「from」も「to」も、どちらのフィールドでも192.168.10.まで自分で入力しなければならない。OPNsense側はそれしか有効なプレフィックスがないと分かっているのに。なぜそっちで補ってくれないのか、OPNsense。いっそデフォルトでサブネット全体の範囲を入れておいてくれれば、何も入力せずに済むのに。

なぜ3つもワークフローに分かれているのか

動画を最後まで見る根気がなかった人のために言っておくと、標準的なVLANを1つ作るのに、実際には3つの別々のワークフローを経由しなければならない。

  1. VLANデバイスを作成する。
  2. そのデバイスに対してVLANインターフェースの割り当てを作成する。
  3. そのインターフェースのDHCPを設定する。

でも全部同じVLANの話ではないか?なぜ1つの画面で済ませられないのか。せめて、OPNsenseの設定ツリー全体を漁って次のワークフローを探し回らせるのではなく、一続きの流れにしてくれてもいいはずだ。

理想のVLAN作成フローとは

VLAN作成フローは、たった2つの質問がある1つのダイアログで済ませられないのだろうか。

あとはOPNsense側で勝手にこうしてくれればいい。

  • 作成したVLANは有効にしたいものとみなす。
  • そのVLANはLANポート用だとみなす。
  • タグ番号を第3オクテットにした静的IPレンジ(例:192.168.10.0/24)を作成したいものとみなす。
  • DHCPを有効にして、/24内の利用可能なIPをすべて使いたいものとみなす。

他のオプションはすべて「詳細設定」に入れてくれて構わない。なぜ常識的なデフォルトを使わないのか。

見かけるOPNsenseのVLAN設定ガイドはどれもこの設定を使っているのだから、最初からこれをデフォルトにしておけばいいのに。

もはやWeb UIは役に立っているのか?

OPNsenseは本来、FreeBSDのユーティリティ、とりわけpfファイアウォールUnbound DNSサーバーを、使いやすいUIでラップするためのものだ。

Linksysが出しているようなクローズドソースでバグだらけの家庭用ファイアウォールのエコシステムから抜け出せたのはOPNsenseのおかげで感謝しているし、4年間有料ライセンスを購入してきた。

ただ、そろそろ巣立ちして、OpenBSDやFreeBSDを直接動かし、やりたいことをシンプルなスクリプトで済ませる時期かもしれない。どちらかのOSを動かして、こんなスクリプトを作るのはそれほど難しそうには思えない。

$ ./add-vlan --name='guest' --tag=10
Created VLAN "guest" with tag 10 and IP range 192.168.10.1 to 192.168.10.254

この記事は「muse-spark-1.2-contributor」を使用して翻訳されました。

コメント