HomeLabのためのVLAN:スマート冷蔵庫とサーバーの通信を遮断する方法

HomeLab tutorial - IT technology blog
HomeLab tutorial - IT technology blog

フラットなホームネットワークの混乱した現実

最初のProxmoxノードをセットアップした日の午後のことは、今でもよく覚えています。いくつかのウェブサーバーとデータベースをホストすることに興興奮し、それらすべてをISPから提供された標準的なルーターに直接接続しました。ルーチンのセキュリティスキャンを実行するまでは、すべてが完璧に動作していました。しかし、スキャン結果を見て愕然としました。15ドルのノーブランドのスマートプラグと、本番環境に近いテストサーバーが、すべて同じ192.168.1.xのIPレンジに存在していたのです。

そのスキャン結果は、私にとって警鐘となりました。すべてが1つの「フラット」なネットワーク上にあるため、たった1つの仮想マシン(VM)が侵害されるだけで、個人のラップトップの共有フォルダへのゲートウェイになり得たのです。もしハッカーがラボの実験環境を突破すれば、家族のプライベートな写真やオンラインバンキングのセッションに直接アクセスできてしまいます。HomeLab環境において、実験用サーバーと個人データを同等に扱うことは、災難を招く原因となります。

なぜHomeLabがセキュリティリスクになるのか

この脆弱性は、標準的なホームネットワークの仕組みに起因します。ほとんどの家庭用ルーターは、1つの巨大なブロードキャストドメインを作成します。デバイスがARPリクエストなどのブロードキャストパケットを送信すると、そのネットワーク上のすべてのデバイスがそれを受信します。そこにはレイヤー2の隔離が存在しません。

技術的に言えば、マルウェアに感染したIoTデバイスがトラフィックをスニッフィングしたり、家の中の他のマシンの脆弱性を突いたりできることを意味します。セキュリティ以外にも、トラフィックの多いラボは家庭の平穏を乱す可能性があります。負荷の高いバックアップジョブや、スマート電球からの大量のmDNSパケットは、Wi-Fiを簡単に飽和させ、他の家族の通信にラグを引き起こします。境界線がなければ、トラフィックの流れを制御することは不可能です。

ネットワークを隔離する方法の比較

この問題を解決する必要があると気づいたとき、私は主に3つの選択肢を検討しました。実際のセットアップにおける比較は以下の通りです。

  • 物理的な分離: 2台目のルーターと別のスイッチ群を購入する方法です。機能はしますが、ケーブルの管理が非常に困難になります。また、電力の無駄であり、スマートフォンからメディアサーバーにアクセスしたいときに通信するのがほぼ不可能になります。
  • VLANなしのサブネット分割: 同じスイッチに対して異なるIPレンジ(192.168.10.xと192.168.20.xなど)を割り当てる方法です。これに騙されてはいけません。これは単なる「隠蔽によるセキュリティ」に過ぎません。知識のあるユーザーなら、静的IPを変更するだけでネットワーク間を移動できてしまいます。なぜなら、物理的な配線は共有されているからです。
  • VLAN(仮想ローカルエリアネットワーク): これが業界標準です。802.1Qプロトコルを使用してトラフィックに「タグ」を付けることで、1本の物理ケーブルで複数の隔離されたネットワークを運ぶことができます。物理的な分離と同等のセキュリティを、ソフトウェア管理の容易さで実現できます。

より良い方法:VLANの実装

ホビーレベルからプロレベルのセットアップに移行するには、フラットなネットワークから脱却する必要があります。VLANを使用すれば、PC用の「Trusted(信頼済み)」ゾーン、サーバー用の「Lab」ゾーン、そして信頼できないスマート電球用の「IoT」隔離ゾーンを構築できます。これは、成長し続けるラボを管理する上で最も効率的な方法です。

ステップ1:サブネットの計画

ケーブルを動かす前に、ノートを取りましょう。VLAN ID(2から4094までの数字)と、それに対応するIPレンジを割り当てる必要があります。以下は、私のラックで使用しているテンプレートです:

  • VLAN 10 (Management): 192.168.10.0/24 — スイッチ、Proxmoxホスト、TrueNAS用。
  • VLAN 20 (Home): 192.168.20.0/24 — 信頼できるラップトップ、iPad、スマートフォン用。
  • VLAN 30 (Lab): 192.168.30.0/24 — 実験用VMやDockerコンテナ用。
  • VLAN 40 (IoT): 192.168.40.0/24 — 他のデバイスと通信する必要のないスマートデバイス用。

ステップ2:ルーター(ゲートウェイ)の設定

ルーターが「VLAN対応」である必要があります。pfSense、OPNsense、またはUbiquiti Dream Machineを使用している場合、設定は簡単です。物理的な LANポートの上に「仮想インターフェース」を作成します。Linuxベースのルーターでは、設定ロジックは以下のようになります:

# eth1上にLab用のVLANインターフェースを作成
ip link add link eth1 name eth1.30 type vlan id 30

# LabネットワークのゲートウェイIPを割り当て
ip addr add 192.168.30.1/24 dev eth1.30

# インターフェースを有効化
ip link set dev eth1.30 up

pfSenseのようなGUIでは、Interfaces > Assignments > VLANsに移動します。LANの親インターフェースに新しいタグを追加して有効にします。これには約30秒しかかかりません。

ステップ3:マネージドスイッチの設定

マネージドスイッチはこのセットアップのバックボーンです。家電量販店で売っている15ドルのアンマネージド(「ダム」)スイッチではこれは実現できません。TP-Link Omadaや、中古のCiscoエンタープライズスイッチなどが必要です。主に2つのポートタイプを扱います:

  1. トランクポート(タグ付き): ルーターとスイッチ間の「パイプ」です。すべてのVLANを一度に運びます。各パケットには小さなデジタルステッカー(タグ)が貼られ、スイッチはそれがどこに属するかを判断します。
  2. アクセスポート(タグなし): PCやRaspberry Piに使用します。デバイス側はVLANの存在を知りません。スイッチがタグを取り除き、そのポートを特定のネットワークに強制的に所属させます。

CiscoのCLIで、Lab用のアクセスポートを設定する場合は以下のようになります:

interface GigabitEthernet0/1
 description Labサーバー用ポート
 switchport mode access
 switchport access vlan 30
 spanning-tree portfast

ステップ4:ファイアウォールルールの作成(真のセキュリティ)

VLANを作成しただけでは、レイヤー2でトラフィックが分離されるだけです。デフォルトでは、ルーターはレイヤー3でそれらの間のトラフィックをルーティングしようとします。実際にラボを保護するには、ファイアウォールルールが必要です。私はLabネットワークに対して「デフォルト拒否(Default Deny)」戦略を採用しています:

  • ルール 1: 許可 Lab -> DNS(サーバーが名前解決できるようにするため)。
  • ルール 2: 許可 Lab -> WAN(apt updateなどを実行できるようにするため)。
  • ルール 3: ブロック Lab -> ホームネットワーク(最も重要なルール)。
  • ルール 4: ブロック Lab -> ルーターWebGUI(侵害されたVMがネットワーク設定に触れないようにするため)。

隔離のテスト

設定が完了したら、必ずpingテストを行ってください。ラップトップをVLAN 20に割り当てられたポートに接続し、192.168.20.1のゲートウェイにpingを試します。これは成功するはずです。次に、Labネットワーク上のサーバー(192.168.30.10など)にpingを試します。ファイアウォールルールが適切であれば、このリクエストはタイムアウトするはずです。

もしpingが通ってしまう場合は、ルールの順序を確認してください。ほとんどのファイアウォールは上から順にルールを読み込みます。一番上に「すべて許可(Allow All)」ルールがあると、その下の「ブロック」ルールは無視されます。ブロックルールを一番上に移動させてください。

最後に

セグメント化されたネットワークの構築には多少の計画が必要ですが、ラボにプロフェッショナルな基盤を提供してくれます。家族のインターネットアクセスを心配することなく、環境を壊したり、マルウェアをテストしたり、公開サービスをホストしたりできるようになります。

さらに、VLANのタギングやトランキングを理解することは、将来エンタープライズネットワークやAWS VPCのようなクラウド環境を扱う際にも大きなアドバンテージとなります。まずは紙の上で構成を練り、一歩ずつ進めていけば、あなたのネットワークは格段に堅牢になるでしょう。

Share: