智慧家庭與智慧家電這些年來大行其道,不過陸續都有隱私與資安的問題爆出來
將這些智慧家電跟主要設備(如電腦等)隔離開來,可以降低發生事故時影響的範圍
在網路方面做隔離常見的方法是訪客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
網路拓樸
這邊的需求就是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 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
「裝置」的地方選擇剛才的br-guest_lan
注意的是IPv4位置那邊要設定不一樣的網段,這邊就設定192.168.4.1遮罩255.255.255.0
這樣子當vlan id 200過來時會分配192.168.4.x的IP
切到防火牆設定,新增一個guest的防火牆區域(firewall zone)
防火牆設定
到網路 -> 防火牆
在一般設定中,確定在下方區域的區塊有剛才建立的guest區域
在「允許轉送至目的區域」,勾選wan後儲存
這樣設定後你的guest的裝置才能出internet
接下來一樣在防火牆的設定,選擇流量規則
「來源區域」選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的任何設備應該都要無法存取才對
參考資料
- openwrt的guest wifi教學












沒有留言:
張貼留言