2026-11-09

用vlan隔離智慧電視

智慧家庭與智慧家電這些年來大行其道,不過陸續都有隱私與資安的問題爆出來

將這些智慧家電跟主要設備(如電腦等)隔離開來,可以降低發生事故時影響的範圍

在網路方面做隔離常見的方法是訪客wifi。現在的無線分享器/無線路由器多數都有提供這個功能,讓智慧家電連上訪客wifi就能跟主要網路隔離了

不過筆者的無線路由器因為位置的關係wifi訊號沒有很好,因此本文將介紹另外一種方法 - 用vlan來隔離網路

vlan (Virtual Local Area Network,虛擬區域網路)是一種在LAN中實現區隔的技術,它允許將不同的設備根據其特定需求或屬性,劃分為不同的虛擬網路


設備需求

能支援vlan的網路設備

路由器Router: 如果是中華電信光世代的機器就會有支援。用其他廠牌如ASUS、TP-Link等就要對照型號查查看了。筆者這邊的設備是OpenWrt One

交換器Switch: Switch需要特別找網管型的才能設定vlan。筆者這邊是用ZYXEL-GS1200-8與ZYXEL-GS1200-5HP

網路拓樸


從圖上可以看到,我規劃Smart Tv在Switch 1(GS1200-8)的port 8,而其他上網設備散落在其他的port
這邊的需求就是Switch1的port 8需要跟其他的port互相隔離。因此Switch1 port 8會是一個vlan id,其他的port會是另外一個vlan id


實際設定

Switch 1(GS1200-8)後台設定vlan

vlan id=1是原本switch預設就有設定,這邊沿用。其中將port 8設定成Non-Member表示port 8不屬於id=1的群組;其他port維持原有設定是Untag Egress

然後另外新增vlan id=200這是給smart tv使用。可以看到port 8設定成Untag,然後port 1跟port 3設定成Tag Egress

※設定成Untag的port表示vlan的資訊會被移除,通常是用在這些port是接去終端設備(例如PC, NAS, IoT等),這是為了避免終端設備無法處理vlan資訊。而設定成Tag的表示會將vlan資訊帶過去,通常是用在串聯到其他網路設備去

再來PVID那邊設定port 1-7是vlan id=1,port 8是vlan id=200。這個設定是當一個沒有vlan資訊的資料進來時要標上的vlan id



Switch2 (GS1200-5HP)的設定

雖然標題是這麼寫,但實際上依照我們的需求,這一台Switch其實是不需要設定的
由於Switch2上沒有任何一個 vlan id=200 的設備,因此這裡全部維持原有設定即可



OpenWrt One的設定

設定vlan

登入OpenWrt後台網頁,到網路 ->  介面 -> 裝置 -> br-lan -> 橋接VLAN篩選
br-lan是內建的管理LAN的裝置,這邊將「啟用VLAN篩選」打勾後
新稱vlan id 1,選擇「未標記」與「是主VLAN」兩個選項,選好後畫面上看到U*
※主VLAN就是預設的vlan id,如果沒有vlan id就是套用vlan id 1
新增vlan id 200選擇「已標記」選項,選好後畫面上會看到T
改好後儲存



設定vlan對應的網段

回到到網路 ->  介面 -> lan -> 一般設定
將「裝置」的地方從原本的br-lan改成br-lan.1
然後注意IPv4那邊,這邊不需要特別動照之前設定的主要的網段是192.168.2.1遮罩255.255.255.0
這樣設定就變成vlan id 1(br-lan.1)的會拿到192.168.2.x的IP



接下來設定vlan id 200
筆者這邊是重複使用了之前弄訪客wifi時的一些設定,所以名稱上會帶有guest
到網路 ->  介面 -> 裝置 -> 新增一個br-guest_lan
在「橋接連接埠」選擇br-lan.200


回到到網路 ->  介面 -> 新增一個guest-lan
「裝置」的地方選擇剛才的br-guest_lan
注意的是IPv4位置那邊要設定不一樣的網段,這邊就設定192.168.4.1遮罩255.255.255.0
這樣子當vlan id 200過來時會分配192.168.4.x的IP
切到防火牆設定,新增一個guest的防火牆區域(firewall zone)




防火牆設定

到網路 -> 防火牆 
在一般設定中,確定在下方區域的區塊有剛才建立的guest區域


選擇旁邊的編輯按鈕來設定guest區域
在「允許轉送至目的區域」,勾選wan後儲存
這樣設定後你的guest的裝置才能出internet



接下來一樣在防火牆的設定,選擇流量規則


新增一個規則叫做Allow-Guest-DHCP-DNS
「來源區域」選guest、「目的區域」選裝置(傳入)、「目的連接埠」設定53 67-68(注意53跟67中間有空白)、「動作」是接受
這樣設定讓guest裝置能走DHCP(拿IP用)與DNS



重啟與測試

照前面設定好之後,就是儲存與套用OpenWrt來讓設定生效。不過筆者重啟時遇到一點狀況也分享出來讓大家知道
當套用後,OpenWrt網頁就開始轉轉轉,過一陣子畫面上顯示套用失敗正在嘗試恢復舊的設定,然後這畫面就卡住了
這時候會發現所有的網路都斷掉(包含有線與無線網路),並且這時候OpenWrt後台都開不了。簡單的排查會看到PC拿不到IP(正常應該要拿到192.168.2.x),嘗試手動指定正確的IP,但是一樣開不了OpenWrt的後台
最後是直接OpenWrt斷電重啟,重啟後會發現所有設定都還在(並沒有發生前面說的嘗試恢復舊設定),然後也都能正常拿到IP與上網

要測試的話只要改成網路線插到port 8,這時會看到IP變成192.168.4.x,此時嘗試存取192.168.2.x的任何設備應該都要無法存取才對

參考資料

沒有留言:

張貼留言