自宅LANをVLANで分ける:IoT機器とサーバーを同じ網に置かない構成の作り方

Photo: Brett Sayles / Pexels
先に結論です。自宅の IoT 機器とサーバーを分けたいときは、次のどちらかで考えます。
- スマートスピーカーやテレビのようにクラウドとだけ通信する機器なら、家庭用 Wi-Fi ルーターのゲスト SSID(ネットワーク分離)に移すだけで十分です
- Home Assistant からローカルで操作する機器や、有線のサーバーまで分けたいなら、VLAN を扱えるルーター(OPNsense など)とスマートスイッチで網を分け、「IoT から内側へは入れない」ルールを書きます
VLAN 化で一番つまずくのは、分けたあとに機器の自動検出(mDNS)が届かなくなる点です。
なぜ IoT 機器をサーバーと同じ網に置かないのか
家庭の LAN は、ふつうルーターの下に網が1つあるだけです。ネットワークカメラやスマートプラグも、NAS や Proxmox の管理画面と同じ網にいます。
IoT 機器は、メーカーの更新が止まったまま使われ続けることが多いとされています。1台が乗っ取られると、同じ網の NAS や管理画面へ直接アクセスを試みられます。網を分けておけば、IoT 機器から届く先をインターネットだけに絞れます。
まず試してほしいのは、手持ちのルーターのゲスト機能です。たとえば NEC の Aterm の一部機種では、ゲスト SSID の機器はもう一方の SSID の端末・有線の端末・設定画面にアクセスできず、インターネットだけを使える「ネットワーク分離機能」が初期状態で有効です。
ただし、ゲスト SSID は内側と一切通信できない作りです。Home Assistant で操作したい機器を移すと、Home Assistant からも見えなくなります。有線の機器やサーバー側も分けられません。ここから先が VLAN の出番です。
必要な機材と VLAN の割り当て例
VLAN(IEEE 802.1Q)は、1本のケーブルや1台のスイッチの上に、番号(VLAN ID)付きで複数の網を通す仕組みです。日本の家庭用ルーターはこの番号(タグ)を扱えないものがほとんどなので、次の3つをそろえます。
- VLAN 間の通信を制御するルーター:LAN ポートを2つ以上持つミニPCに OPNsense(2026年10月時点の最新は 26.7 系)を入れるのが、自由度の高い方法です。専用機なら、VLAN と通信制限(ACL)に対応するとされる TP-Link ER605 のような法人向けルーターもあり、実売は1万円前後です
- VLAN 対応スイッチ:TP-Link TL-SG105E は 802.1Q VLAN に対応した5ポートのスマートスイッチで、3,000円前後で買えます
- SSID ごとに VLAN を割り当てられるアクセスポイント:家庭用ルーターをアクセスポイントとして使う場合はこの機能が無いことが多いので、仕様を確認してください
プロバイダー支給のルーターはそのまま残し、その LAN 側に OPNsense をつなぎます。二重ルーターになりますが、外へポートを開けていなければ困ることは少なく、Tailscale もそのまま使えます。
VLAN は、最初は3つで十分だと私は考えています。増やすほどルールが増え、見直すのが大変になるためです。
| VLAN ID | 用途 | 網の例 |
|---|---|---|
| 10 | 家族の PC・スマホ | 192.168.10.0/24 |
| 20 | サーバー(Proxmox・NAS) | 192.168.20.0/24 |
| 30 | IoT(テレビ・カメラ・スマートプラグ) | 192.168.30.0/24 |
VLAN ID と IP アドレスの3つ目の数字をそろえておくと、アドレスを見ただけでどの網の機器か分かります。
OPNsense とスイッチの設定:IoT から内側へ入れない
OPNsense では、Interfaces > Devices > VLAN(古い版では Interfaces > Other Types > VLAN)で、LAN 側の NIC を親にして VLAN 10・20・30 を作ります。次に Interfaces > Assignments で各 VLAN をインターフェースとして追加し、有効化して固定 IP(192.168.30.1/24 など)を付け、それぞれの網で DHCP を配るようにします。
IoT(VLAN 30)のファイアウォールルールは、上から順に次の3行です。OPNsense は上から順に見て、最初に一致したルールを使います。
- 許可:IoT net → This Firewall の DNS(53番)と NTP(123番)
- 拒否:IoT net → プライベートアドレス全体(10.0.0.0/8・172.16.0.0/12・192.168.0.0/16 をエイリアスにまとめる)
- 許可:IoT net → any(インターネット)
2行目の拒否を3行目より上に置くのがポイントです。逆にすると、内側への通信も「any へ許可」に先に一致して通ってしまいます。DNS を自宅の AdGuard Home などに向けている場合は、1行目の宛先をそのサーバーの IP に変えます。
家族の網(VLAN 10)からは、IoT の網への通信を許可しておきます。OPNsense は通信の状態を覚えているため、内側から始めた通信の戻りは、IoT 側に許可ルールを書かなくても通ります。
スイッチ側では、ポートごとに VLAN を「タグ付き(Tagged)」で通すか「タグなし(Untagged)」で通すかを決めます。TL-SG105E での割り当て例です。
| ポート | つなぐ機器 | 設定 |
|---|---|---|
| 1 | OPNsense の LAN 側 | 10・20・30 をタグ付き |
| 2 | Proxmox | 20・30 をタグ付き |
| 3 | アクセスポイント | 10 をタグなし(PVID 10)、30 をタグ付き |
| 4 | PC | 10 をタグなし(PVID 10) |
| 5 | NAS | 20 をタグなし(PVID 20) |
タグなしのポートは、VLAN の所属に加えて PVID(タグの無い通信をどの VLAN として扱うか)も同じ番号にします。所属だけ変えて PVID を忘れると、その機器は通信できなくなります。また、スイッチの管理画面に入れる VLAN が限られる機種もあるため、設定に使っている PC のポートは最後に切り替えます。
Proxmox と Home Assistant を分けた網で動かす
Proxmox は、ブリッジを VLAN 対応にすると、LAN ケーブル1本のまま VM ごとに別の網へつなげます。/etc/network/interfaces を次のように書き、管理画面の IP を VLAN 20 に置きます。
auto lo
iface lo inet loopback
iface enp1s0 inet manual
auto vmbr0
iface vmbr0 inet manual
bridge-ports enp1s0
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 2-4094
auto vmbr0.20
iface vmbr0.20 inet static
address 192.168.20.10/24
gateway 192.168.20.1
enp1s0 は実際の NIC 名に置き換えます。管理画面の IP が変わるので、作業はミニPCにモニターとキーボードをつないだ状態で行い、ifreload -a で反映します。VM 側は、ハードウェアのネットワークデバイスの「VLAN タグ」に 20 や 30 を入れるだけです。
Home Assistant は網をまたいで機器を操作することになるため、つまずきやすい点が2つあります。
- 自動検出が届かない:Chromecast・AirPlay・ESPHome などの検出に使う mDNS は、VLAN を越えません。OPNsense なら os-mdns-repeater プラグインを入れ、Services > mDNS Repeater で中継する網を選ぶと、検出用の通知が届くようになります
- 操作の通信が止まる:Home Assistant のいる VLAN 20 から VLAN 30 への通信を、VLAN 20 側のルールで許可します
別の方法として、Home Assistant の VM に2枚目のネットワークデバイス(VLAN タグ 30)を足し、IoT の網にも直接つなぐ構成があります。検出の問題は起きにくくなりますが、IoT の網から Home Assistant へ届くようになるので、分離の強さとの引き換えです。
まとめ
- クラウドとだけ通信する IoT 機器は、ゲスト SSID(ネットワーク分離)で十分
- Home Assistant で操作する機器やサーバーまで分けるなら、VLAN 対応のルーター・スイッチ・アクセスポイントをそろえる
- IoT 側のルールは「DNS・NTP を許可 → プライベートアドレスを拒否 → インターネットを許可」の順。タグなしポートは PVID も合わせる
- Proxmox はブリッジを VLAN 対応にして VM ごとにタグを付ける。mDNS は中継か2枚目の NIC で補う
運営者が作った Excel テンプレートを BOOTH で配布しています。IT 資産管理台帳(無料 Lite 版あり) / IT 資格の学習管理シート


