[教學] 在 Mikrotik Router OS 上設定 VLAN 做隔離上網設定

之前耳聞 Mikrotik 的大名,Router OS 有很大的網路設定靈活度,
有平價版 Cisco 之稱,但相對的,設定也較複雜很多。

如有看過上次 OpenWRT 的獨立網路設定,
可以試試看在 Router OS 上能不能做到一樣的事情,也跟大家一個教學參考。

範例使用的機種是:MikroTik RB750Gr3 (hEX)


設定 VLAN 進行網路隔離 相關文章:


假設我們要設定以下的資訊

新設定的 IP 與網段:

  • VLAN 100

    • 路由器 IP 為 192.168.10.1
    • 網段為 192.168.10.0/24
    • VLAN ID 為 100
    • 配發 DHCP 範圍 192.168.10.2 – 192.168.10.254
  • VLAN 200

    • 路由器 IP 為 192.168.20.1
    • 網段為 192.168.20.0/24
    • VLAN ID 為 200
    • 配發 DHCP 範圍 192.168.20.2 – 192.168.20.254

file
rb750gr3 圖片來源

並設定實體網孔 Port

  • Port 1 為 WAN 連接 Internet
  • Port 2 設定為 VLAN 100,IP 網段: 192.168.10.0/24,發送 DHCP 至上述網段
  • Port 3 設定為 VLAN 200,IP 網段: 192.168.20.0/24,發送 DHCP 至上述網段
  • Port 4 設定為 Trunk Port,發 VLAN 100, VLAN 200 到同一條線路中
  • Port 5 設定為 Trunk Port,發 VLAN 100, VLAN 200 到同一條線路中

💡 知識點補充:192.168.10.0/24 是 CIDR 標記方式,
意思等同於 192.168.10.1 ~ 192.168.10.255,
而 192.168.10.255 為廣播位址不能使用,
可用 IP 範圍為 192.168.10.1 ~ 192.168.10.254,
/24 的意思是子網路遮罩 (netmask) 為 255.255.255.0

Step 0: 硬體還原出廠設定步驟

在這開始之前,先學習怎麼重置你的路由器
我在學習的時候,重置了快 20 次,相信我,你會用到的(笑)

file
rb750gr3 圖片來源

先拔除電源,
拿迴紋針按住 Reset 按鈕不放並插電
等待 USR LED 閃爍(大約 5-10 秒)
放開 Reset 按鈕,就可以原廠重置

Step 1: 連接 Router

有些一定要照順序,不然有可能會進不去管理介面
而 Router OS 設定起來,個人覺得不是那麼直覺
沒設定好,就會失去 IP 或進不去管理介面

將一條網路線接上 Router,電腦得到 IP: 192.168.88.254 (假設)

連上 http://192.168.88.1/ 進入 WebFig,我們開始吧

Step 1.5: 修改管理員密碼

第一次進到管理介面,強烈建議先把密碼改掉
RouterOS 原廠的 admin 帳號預設是「空密碼
(較新版本第一次登入會強制你設定),
不改的話,等下 VLAN 通了、甚至之後接上網際網路,會有安全風險。

介面操作版

在側邊欄點選 System -> Password

  • New Password: 輸入你的新密碼
  • Confirm Password: 再輸入一次

按下 OK 套用。

小提醒:改完密碼後,下次登入 WebFig / Winbox 就要用新密碼,
帳號一樣是 admin。建議也可以另外新增一個自己的管理帳號,
把 admin 停用或降權,安全性更好。

指令版

/user set admin password=YourStrongPassword

Step 1.6: 觀察原廠預設的設定值

這邊還是寫一個原廠設定值的觀察,帶你到等下要設定的頁面
先熟悉環境,避免到時候漏操作,造成又要重置機器
這段純觀察沒有要調整設定值,
覺得節奏慢的朋友,可以跳到 Step 2 開始設定

原廠預設值會配發 192.168.88.0/24 的網段 IP

在側邊欄點選 Interfaces,上方列切到 Interface 分頁

你會看到有 1 個 bridge 跟 5 個 Port 這邊講的是實體埠
(實體網路孔的意思)

  • bridge
  • ether1
  • ether2
  • ether3
  • ether4
  • ether5

範例的網路線插在 ether2 上,所以有流量

在側邊欄點選 Interfaces,上方列切到 Interface List 分頁

預設會有二個 List

  • LAN
  • WAN

在側邊欄點選 Bridge,上方列切到 Bridge 分頁

預設只有一個 bridge

  • bridge

在側邊欄點選 Bridge,上方列切到 Ports 分頁

你會看到除了 WAN 的四個實體埠

  • ether2
  • ether3
  • ether4
  • ether5

在側邊欄點選 IP -> Addresses 頁面

如果單接 LAN 沒接 WAN 的話,預設只有一個

  • 192.168.88.1/24 (interface: bridge)

如果 WAN Port 有接對外 ADSL,又剛好 ADSL 是 DHCP 配發的話
會多一個

  • (D) 192.168.0.11/24 (interface: ether1)

備註:這個 D 是 Dynamic 的意思,動態產生

其餘原廠預設值整理如下,等下設定時可以對照參考:

在側邊欄點選 IP -> Pool 頁面

預設會有一個位址池

  • default-dhcp:192.168.88.10-192.168.88.254

在側邊欄點選 IP -> DHCP Server,上方列切到 DHCP 分頁

預設會有一個 DHCP Server

  • defconf:綁在 bridge 上,使用 default-dhcp 這個 Pool

在側邊欄點選 IP -> DHCP Server,上方列切到 Networks 分頁
預設會有一筆網段

  • 192.168.88.0/24,Gateway: 192.168.88.1,DNS: 192.168.88.1

在側邊欄點選 IP -> DNS 頁面
預設值

  • Servers: 空白(由 WAN 的 DHCP Client 動態帶入)
  • Allow Remote Requests: 打勾(路由器本身就是 DNS 轉發器)

在側邊欄點選 IP -> Firewall,上方列切到 NAT 分頁
預設會有一條 masquerade 規則

  • Chain: srcnat
  • Out. Interface List: WAN
  • Action: masquerade
  • 作用:讓內網能透過 WAN 出去上網(出去前把來源 IP 換成 WAN IP)

在側邊欄點選 IP -> Firewall,上方列切到 Filter Rules 分頁
預設會有一組基本防火牆規則(放行已建立連線、擋掉 WAN 進來的未授權連線等)

在側邊欄點選 IP > Routes 頁面
預設會有一條 Default Route (0.0.0.0/0)

  • 由 ether1 (WAN) 的 DHCP Client 自動取得,指向 ISP 的 Gateway

註:本篇重點在 VLAN 與內網設定,
WAN 上網(DHCP Client、NAT masquerade、Default Route、防火牆)這些預設就已設定好,
正常情況下不需要更動,VLAN 設好後可以直接沿用。

Step 2: 設定 VLAN 介面

這邊是 VLAN 介面基本資料設定,
你把它想成是一種 Type 是 VLAN 的特殊介面,
介面就會命名,定義 VLAN ID 與套用到哪個 bridge

在側邊欄點選 Interfaces,上方列切到 VLAN 分頁

按下 Add New 按鈕新增 第一個 VLAN 介面

  • Name: vlan100
  • Type: VLAN
  • VLAN ID: 100
  • Interface: bridge

按下 Add New 按鈕新增 第二個 VLAN 介面

  • Name: vlan200
  • Type: VLAN
  • VLAN ID: 200
  • Interface: bridge

做完長這個樣子

Step 3: 設定 VLAN 與實體埠 Tag/Untag 相關設定

這邊是設定 VLAN 與介面綁定,VLAN Tag/Untag 相關設定

(VLAN UnTaging 有二處要設定,這裡是第一處)

在側邊欄點選 Bridge,上方列切到 VLANs 分頁

按下 Add New 按鈕新增第一個 VLAN

  • Bridge: bridge (不修改)
  • VLAN IDs: 100
  • Tagged: ether5, ether4, bridge
  • Untagged: ether2

按下 Add New 按鈕新增第二個 VLAN

  • Bridge: bridge (不修改)
  • VLAN IDs: 200
  • Tagged: ether5, ether4, bridge
  • Untagged: ether3

⚠️ 注意:Tagged 的部分,要另外加上 bridge,這點很重要

設定完長這樣

Step 4: 設定實體埠的 PVID

(VLAN UnTaging 有二處要設定,這裡是第二處)

在側邊欄點選 Bridge,上方列切到 Ports 分頁

依序點入 ether2, ether3 來做設定

  • ether2 設定 PVID: 100
  • ether3 設定 PVID: 200

設定要 Untagged (下車) 的那個 VLAN ID,
VLAN Trunking port 請保持 PVID: 1

按 OK 後存檔

這邊一個重點,
你欲 VLAN UnTag 的實體埠,一定要設定 PVID 成對應的 VLAN ID
VLAN Trunking port 請保持 PVID: 1
如果沒有設定好 PVID,最後真正套用VLAN時 可能會失去連線
(因為他不知道要 Untag 到哪裡)

Step 5: 將 VLAN 加入進 Interface List 裡

在側邊欄點選 Interfaces,上方列切到 Interface List 分頁

按下 Add New 按鈕新增

  • List: LAN
  • Interface: vlan100

按下 Add New 按鈕新增

  • List: LAN
  • Interface: vlan200

⚠️ 注意:這裡很重要,將新建的 vlan100vlan200 加入至 LAN 的清單裡
因為這個 LAN 清單有綁定管理介面要開放在哪個介面
不然你到時候可能會進不去 WebUI 管理介面

Step 6: 設定 IP

這邊設定切開的 VLAN 的路由器 IP 與網段

在側邊欄點選 IP -> Addresses 頁面

按下 Add New 按鈕新增 第一個

  • Address: 192.168.10.1/24
  • Network: 192.168.10.0
  • Interface: vlan100

按下 OK 套用

按下 Add New 按鈕新增第二個

  • Address: 192.168.20.1/24
  • Network: 192.168.20.0
  • Interface: vlan200

按下 OK 套用

設定完的樣子

⚠️ 注意:須留意 Interface 不要選錯
舊的在整個流程還沒完成前不要刪除,不然會進入一個虛空狀態

⚠️ 注意:如果你有插上 ADSL 會自動多一條 Dynamic (D) 規則,
千萬不要手癢把它刪掉,刪掉了你會無法上網

Step 7: 設定 DHCP Server

設定 DHCP Server 方法有二種,二種方法都會講,
第一種精靈式比較直覺,但管理上你還是要知道第二種手動做法

精靈式設定 DHCP Server

在側邊欄點選 IP -> DHCP Server,上方列切到 DHCP 分頁

DHCP Setup 進入互動式新增

  • DHCP Server Interface: vlan100 (選擇剛剛建立的 VLAN 介面)

然後按 Next

  • DHCP Address Space: 192.168.10.0/24 (會自動帶入)

直接 Next

  • Gateway for DHCP Network: 192.168.10.1 (會自動帶入)

直接 Next

  • Addresses to Give Out: 192.168.10.2-192.168.10.254 (會自動帶入)

直接 Next

  • DNS Servers: 8.8.8.8

填入 DNS 伺服器

然後按 Next

  • Lease Time: 00:10:00 (保留預設即可)

直接 Next

這樣就設定好一筆了,接續設定第二筆

  • DHCP Server Interface: vlan200
  • DHCP Address Space: 192.168.20.0/24
  • Gateway for DHCP Network: 192.168.20.1
  • Addresses to Give Out: 192.168.20.2-192.168.20.254
  • DNS Servers: 8.8.8.8
  • Lease Time: 00:10:00

⚠️ 注意:注意舊的 DHCP 「先」不要刪除(因為你現在正在使用著),
不然會失去目前的連線

手動設定 DHCP Server

設定欲配發的 Pools

在側邊欄點選 IP > Pool ,上方列切到 Pools 分頁

按下 Add New 按鈕新增第一個

  • Name: dhcp_pool1
  • Addresses: 192.168.10.2-192.168.10.254

按下 Add New 按鈕新增第二個

  • Name: dhcp_pool2
  • Addresses: 192.168.20.2-192.168.20.254

這邊照著上述的網段寫就好,你可以預設設定最大,也可以依照需求再修改

設定欲發給內網電腦的 DNS

在側邊欄點選 IP > DHCP Server,上方列切到 Networks 分頁

按下 Add New 按鈕新增第一個

  • Address: 192.168.10.0/24
  • Gateway: 192.168.10.1
  • DNS Servers: 8.8.8.8(或填路由器自己 192.168.10.1)

按下 Add New 按鈕新增第二個

  • Address: 192.168.20.0/24
  • Gateway: 192.168.20.1
  • DNS Servers: 8.8.8.8(或填路由器自己 192.168.20.1)

這樣兩個網段的電腦透過 DHCP 拿 IP 時,就會同時拿到對應的 Gateway 和 DNS。

設定 DHCP

在側邊欄點選 IP > DHCP Server,上方列切到 DHCP 分頁

按下 Add New 按鈕新增第一個

  • Enabled: 打勾
  • Name: dhcp1
  • Interface: vlan100
  • Address Pool: dhcp_pool1 (選你剛剛建立的 Pool)

按下 Add New 按鈕新增第二個

  • Enabled: 打勾
  • Name: dhcp2
  • Interface: vlan200
  • Address Pool: dhcp_pool2 (選你剛剛建立的 Pool)

其餘設定不需更動

這樣就完成了 DHCP 的設定

DNS 設定

DNS 有兩個層面要分清楚:
一個是「路由器本身」要往哪裡查 DNS,
另一個是「發給內網電腦」的 DNS 要填什麼。

路由器本身的 DNS(IP > DNS)

在側邊欄點選 IP -> DNS

  • Servers: 8.8.8.8, 1.1.1.1(可填多筆,用逗號分隔)
  • Allow Remote Requests: 打勾

打勾 Allow Remote Requests 後,
路由器自己就會變成一台 DNS 轉發器 (DNS Resolver),
內網電腦可以把路由器的 IP(例如 192.168.10.1)當成 DNS 來用,
好處是路由器會幫忙做快取,查詢比較快。

備註:Allow Remote Requests 打勾後,記得防火牆要擋住 WAN 進來的 53 port,
不然會變成對外開放的 Open DNS Resolver,可能被人拿去當 DDoS 放大攻擊的跳板。
原廠防火牆規則預設已經擋掉 WAN 的未授權連線,沿用即可。

Step 8: 打開 VLAN Filtering

剛剛設定的這些還不是真正打開 VLAN 功能,只是先做預設定而已
所有實體埠就跟一般路由器一樣,最後的步驟就是要把 VLAN 的功能打開

在側邊欄點選 Interfaces,上方列切到 Interface 分頁

點到(預設產生的那個) bridge 做編輯

  • VLAN Filtering: 打勾

按下 OK 時會馬上斷線,因為已經套用 VLAN 了

這時候不要緊張,重新 DHCP 做 renew,取得電腦新的 IP: 192.168.10.254 (假設)
重新登入 http://192.168.10.1

就可以測試了!

我們用一張圖回顧我們設定了什麼

Step 9: 測試

這個時候插上對應的實體埠,應該會看到你設定的對應的 IP
插上 Port 2,電腦會得到 IP: 192.168.10.254 (假設),可以正常上網
改插上 Port 3,電腦會得到 IP: 192.168.20.254 (假設),可以正常上網
Port 4, Port 5 是 Trunk Port 可以配合之前說的 OpenWRT 配置就可以上網

Step 10 (Optional): DHCP Static Lease(設定固定配發到的 IP)

預設 DHCP 是動態配發,同一台機器每次拿到的 IP 可能不一樣。
如果某台機器要長期固定 IP(例如 NAS、印表機,或等下要做 Port Forwarding 的目標),
就用 Static Lease 把它的 MAC 位址綁定一個固定 IP

綁定的 IP 建議落在 DHCP 範圍內(192.168.10.2-192.168.10.254)即可,
RouterOS 會自動把它從動態配發中排除,不會發給別人。

在側邊欄點選 IP > DHCP Server,上方列切到 Leases 分頁

最簡單的做法:先讓目標機器正常連上拿到 IP,
在清單中找到它那筆(狀態為 dynamic),點選後按 Make Static 轉成固定,
之後再點進去修改,把 Address 改成你要的 IP 即可。

或者按下 Add New 按鈕手動新增:

  • Address: 192.168.10.100(你要固定的 IP)
  • MAC Address: AA:BB:CC:DD:EE:FF(目標機器的網卡 MAC)
  • Server: dhcp1(對應該網段的 DHCP Server,vlan200 就選 dhcp2)

按下 OK 套用。
目標機器重新 DHCP renew(或重開機)後,就會固定拿到指定的 IP。

Step 11 (Optional): Port Forwarding

Port Forwarding(埠轉發 / NAT 通訊埠對應)是讓外網可以連到內網某台機器的服務,
例如把外網連到路由器 8080 port 的流量,轉送到內網某台 NAS 的 80 port。

原理是新增一條 dstnat 規則,
把「目的地是路由器 WAN IP + 指定 port」的封包,改寫目的地成內網某台機器。

在側邊欄點選 IP > Firewall,切到 NAT 分頁

按下 Add New 按鈕新增規則

General 分頁:

  • Chain: dstnat
  • Protocol: 6 (tcp)(依服務選 tcp 或 udp)
  • Dst. Port: 8080(外網要連的 port)
  • In. Interface List: WAN(只對 WAN 進來的流量生效)

Action 分頁:

  • Action: dst-nat
  • To Addresses: 192.168.10.100(內網目標機器的 IP)
  • To Ports: 80(內網目標機器的服務 port)

按下 OK 套用。

舉例:上面這條規則的意思是
「外面的人連到 你的WAN_IP:8080,會被轉送到內網 192.168.10.100 的 80 port」。

注意一:建議把內網目標機器設成固定 IP(或在 DHCP 用 Static Lease 綁定),
不然 IP 變動後轉發就會失效。

注意二:對外開 port 有安全風險,請確認該服務本身有做好權限與認證,
非必要不要直接把管理介面(如 SSH、WebFig)對外開放。

注意三:如果你的 WAN 是 ISP 給的浮動 IP(且在 NAT 後面,俗稱 CGNAT),
即使設好 Port Forwarding 外面也連不進來,這種情況要另外申請固定 IP 或用內網穿透方案。

指令式設定

上面整套都是用 WebFig 圖形介面點選設定的,
如果你習慣指令(New Terminal 或 SSH 進去),可以直接貼上下面這整套指令完成設定,
速度快很多,也方便備份重現。

# Step 2: 建立 VLAN 介面
/interface vlan add name=vlan100 vlan-id=100 interface=bridge
/interface vlan add name=vlan200 vlan-id=200 interface=bridge

# Step 3: 設定 Bridge VLAN 的 Tagged / Untagged
/interface bridge vlan add bridge=bridge vlan-ids=100 tagged=bridge,ether4,ether5 untagged=ether2
/interface bridge vlan add bridge=bridge vlan-ids=200 tagged=bridge,ether4,ether5 untagged=ether3

# Step 4: 設定實體埠的 PVID(Trunk port 保持 pvid=1)
/interface bridge port set [find interface=ether2] pvid=100
/interface bridge port set [find interface=ether3] pvid=200

# Step 5: 把 VLAN 介面加入 LAN 清單(保留管理介面存取)
/interface list member add list=LAN interface=vlan100
/interface list member add list=LAN interface=vlan200

# Step 6: 設定路由器 IP
/ip address add address=192.168.10.1/24 interface=vlan100 network=192.168.10.0
/ip address add address=192.168.20.1/24 interface=vlan200 network=192.168.20.0

# Step 7: 設定 DHCP Pool / Server / Network(含 DNS)
/ip pool add name=dhcp_pool1 ranges=192.168.10.2-192.168.10.254
/ip pool add name=dhcp_pool2 ranges=192.168.20.2-192.168.20.254
/ip dhcp-server add name=dhcp1 interface=vlan100 address-pool=dhcp_pool1 disabled=no
/ip dhcp-server add name=dhcp2 interface=vlan200 address-pool=dhcp_pool2 disabled=no
/ip dhcp-server network add address=192.168.10.0/24 gateway=192.168.10.1 dns-server=8.8.8.8
/ip dhcp-server network add address=192.168.20.0/24 gateway=192.168.20.1 dns-server=8.8.8.8

# 路由器本身的 DNS 轉發
/ip dns set servers=8.8.8.8,1.1.1.1 allow-remote-requests=yes

重點:vlan-filtering=yes 一定要放在最後一行執行,
順序跟圖形介面教學一樣,前面的預設定都做完了才真正打開 VLAN 功能,
否則中途打開很容易把自己的連線鎖在外面。

# Step 8: 最後才打開 VLAN Filtering(這行下去會馬上斷線,屬正常)
/interface bridge set bridge vlan-filtering=yes

以下是設定範例,請以你的需求修改,不能直接套用

# Step 10 (Optional): DHCP Static Lease 固定 IP 綁定範例
/ip dhcp-server lease add address=192.168.10.100 mac-address=AA:BB:CC:DD:EE:FF server=dhcp1

# Step 11 (Optional): Port Forwarding 範例
/ip firewall nat add chain=dstnat in-interface-list=WAN protocol=tcp dst-port=8080 action=dst-nat to-addresses=192.168.10.100 to-ports=80

參考資料

用 OpenWRT 設定 VLAN 進行網路隔離 – 以 ASUS RT-AC58U 為例

在當今的數位時代,設定一個安全且專屬的家用網路變得越來越重要。透過使用開源軟體 OpenWRT,我們可以輕鬆地為家中的網路設備建立專屬的虛擬局域網(VLAN),以提供更高程度的安全性與隔離性。

在本篇文章中,我們將透過一個實作範例,詳細介紹如何設定 OpenWRT,將一台路由器切割成兩個 VLAN 區域,並讓這兩個區域互不影響。每個 VLAN 區域都會分到不同的 IP 網段,而且皆有對應的 Wifi 無線網路(2.4G 和 5G)可供使用。最後,我們也會確保每一個 VLAN 區域都能夠對外上網。

這篇文章適合具有基礎網路知識,且對於設定 VLAN 有興趣的讀者。我們將會帶領你逐步了解 VLAN 的基本概念,並實際操作如何在 OpenWRT 中進行設定。

我們用一些筆者自身有用過的機種來做設定範例,詳細探討其中設定值的差異,供大家學習。希望透過本篇文章,你可以瞭解如何透過 OpenWRT 來打造一個安全、專屬的家用網路環境。

那麼,就讓我們開始吧!


設定 VLAN 進行網路隔離 系列文:


範例環境說明

假設你的對外網路有一個光世代的盒子(小烏龜),
你透過 DHCP 配發 IP 的方式來上網

我們把一台路由器分成二個 VLAN 區域:

  • VLAN100 網段 192.168.10.0/24
  • VLAN200 網段 192.168.20.0/24

接孔對應:

  • 指定第一埠為 VLAN100
  • 指定第二埠為 VLAN200

示意圖如下

等效網路拓墣如下

等於是你在小烏龜這邊裝了一台 Switch,
底下各裝一台 Wifi Router 路由器,各自設定獨立的 IP 位址與網段,
實現完全隔離的網路。

而我們全部都在一台路由器就完成了這件事情,
一般的家用路由器沒辦法做到這樣的功能,
但 OpenWRT 可以,這也是它厲害的地方。

我們把範例情境做複雜一點,
假設我們家用區域很大,是個三層樓透天厝,ADSL 主線在一樓,
想要二樓與三樓都延伸以上雙 VLAN 的情境。要怎麼做?

  • 指定第四埠為 VLAN100VLAN200 的 trunk port
  • 多新增一台設定類似的路由器,我們暫稱它為子機
  • 多拉一條網路線,來連接母機與子機

示意圖變成如下:

等效網路拓墣如下

原本我們應該需要二台路由器、二條網路線、二台 Switch hub 來延伸這個完全隔離的網路,歸功於 VLAN 與 trunk port 的功能,我們使用二台路由器,一條網路線就可以做到一樣的事情了。


我們用華碩 ASUS RT-AC58U 來實作這個範例,
有因為硬體特性與原廠驅動設計問題,而步驟有一點點不同,
尤其這台較特別,需要另外說說

這次使用的版本為 OpenWrt 22.03.5 20134-515225c1e 供參考。

設定步驟

Step0. 觀察原有設定值

在開始設定之前,我們先觀察一下原有路由器的設定值,
據經驗,這部分不同機器還是會有些微差異,也記錄一下。

RT-AC58U 原有的設定值是這樣子

Network > Interface 頁面,Interfaces 頁籤

Network > Interface 頁面,Devices 頁籤

Network > Switch 的頁面

Network > Wireless 頁面

快速整理一下:

  • 有 Network > Switch 的頁面
  • 只有 eth1, eth2 二個 eth
  • 有一個 Bridge 介面
    • 預設綁定 VLAN 1 給 LAN 使用
    • 預設綁定 VLAN 2 給 WAN 使用
      (這段網頁管理介面沒有顯示,預設是隱藏的,這也是這台特別之處)

Step1. 修改原有 bridge 介面

到 Network > Switch 頁面

設定 VLAN ID,剛剛有提到這台 VLAN 2 是保留給 wan 使用的,而且它 預設在網頁管理介面是隱藏的
這部分我們等一下再來處理

VLAN ID CPU (eth0) LAN 1 LAN 2 LAN 3 LAN 4
100 t u off u t
200 t off u off t

到這邊只能按下「Save」存檔,不可按 Save & Apply,不然 會直接斷線!
然後到 Network > Interfaces 頁面,選擇預設的 lan 裝置

General Settings 部分

  • Protocol: Static address
  • IPv4 address: 192.168.10.1 (Edit)
  • IPv4 netmask: 255.255.255.0
  • Device: Switch VLAN: "eth0.100"

記得將 Device 調整為 Software VLAN: "eth0.100"
不然會整個連管理介面都連不上。

按 Save and Apply 套用設定

因為有修改路由器 IP,這個時候要更換瀏覽的網址。
http://192.168.1.1/ 要換成 http://192.168.10.1/ 然後重新登入。

Step 3. 設定第二個 VLAN

我們在 Network > Interfaces 的頁面中

按「Add New Interface…」按鈕,新增第二個介面

  • Name: lan200
  • Protocol: Static address
  • Device: Software VLAN: "eth0.200"

然後接續設定設定值

General Settings 區域

  • Protocol: Static address
  • IPv4 address: 192.168.20.1
  • IPv4 netmask: 255.255.255.0
  • Device: Switch VLAN: "eth0.200"

到 DHCP Server 頁籤,設定 DHCP 伺服器
(只有主要的那台路由器需要開,其他台必須關掉此設定值)

原本會顯示 No DHCP Server configured for this interface

按「Set up DHCP Server」按鈕啟動 DHCP 伺服器

DHCP Server > General Setup

  • Start: 2
  • Limit: 254

這邊設定的是 DHCP 伺服器發放 IP 位址的開始與結束區段,依需求修改
預設給 100 – 150,它可以是 2 – 254

Step4. 防火牆設定

(主要那台路由器需要設定,子機可以不用設定)

到 Network > Firewall 頁面

來到 Firewall – Zone Settings 頁面, General Settings 頁籤

依樣畫葫蘆,按 Add 新增一個區域

  • Name: lan200 (名字可以自己取)

  • Input: accept

  • Output: accept

  • Forward: accept

  • Covered networks: lan200 (Switch VLAN: "eth0.200")

Covered networks 為應用網路區域,這邊選擇前面設定的 lan200

  • Allow forward to destination zones:
    wanwan (Ethernet Adapter: "eth1") wan6 (Ethernet Adapter: "eth1")

轉送 (forward) 區域,這邊選擇 wan, wan6 即可。

第二個 VLAN 能不能正確上網就看這個設定了。

設定 Wi-Fi

這邊設定 Wi-Fi 步驟就相對簡單

這台它有二個頻段 2.4GHz 與 5GHz

分別設定為

  • SSID: OpenWRT_lan100

  • 設定您的密碼

  • 對應 VLAN100

  • SSID: OpenWRT_lan200

  • 設定您的密碼

  • 對應 VLAN200

  • SSID: OpenWRT_lan100_5G

  • 設定您的密碼

  • 對應 VLAN100

  • SSID: OpenWRT_lan200_5G

  • 設定您的密碼

  • 對應 VLAN200

這邊應該很直覺,注意不要選錯即可。


Wi-Fi 設定步驟如下:

到 Network > Wireless 頁面

在 radio0.network1 區域,修改原有的 2.4GHz Wi-Fi

General Setup

  • Operating frequency
  • Mode: N
  • Channel: 1 (2412 Mhz)
  • Width: 20 MHz

Interface Configuration
General Setup

  • Mode: Access Point
  • ESSID: OpenWRT_lan100
  • Network: lan (Switch VLAN: "eth0.100")

Interface Configuration
Wireless Security

  • Encryption: WPA2-PSK/WPA3-SAE Mixed Mode (strong security)
  • Key: (Your password)

這邊記得設定你的 Wi-Fi SSID 與密碼,注意不要選錯 vlan 介面


在 radio0.network1 區域,新增一個 2.4GHz 的 Wi-Fi

General Setup

  • Operating frequency
  • Mode: N
  • Channel: 1 (2412 Mhz)
  • Width: 20 MHz

Interface Configuration
General Setup

  • Mode: Access Point
  • ESSID: OpenWRT_lan200
  • Network: lan200 (Switch VLAN: "eth0.200")

Interface Configuration
Wireless Security

  • Encryption: WPA2-PSK/WPA3-SAE Mixed Mode (strong security)
  • Key: (Your password)

這邊記得設定你的 Wi-Fi SSID 與密碼,注意不要選錯 vlan 介面


在 radio1.network1 區域,新增一個 5GHz 的 Wi-Fi

General Setup

  • Operating frequency
  • Mode: AC
  • Channel: 36 (5180 Mhz)
  • Width: 80 MHz

Interface Configuration
General Setup

  • Mode: Access Point
  • ESSID: OpenWRT_lan100_5G
  • Network: lan (Switch VLAN: "eth0.100")

Interface Configuration
Wireless Security

  • Encryption: WPA2-PSK/WPA3-SAE Mixed Mode (strong security)
  • Key: (Your password)

這邊記得設定你的 Wi-Fi SSID 與密碼,注意不要選錯 vlan 介面


在 radio1.network1 區域,新增一個 5GHz 的 Wi-Fi

General Setup

  • Operating frequency
  • Mode: AC
  • Channel: 36 (5180 Mhz)
  • Width: 80 MHz

Interface Configuration
General Setup

  • Mode: Access Point
  • ESSID: OpenWRT_lan200_5G
  • Network: lan200 (Switch VLAN: "eth0.200")

Interface Configuration
Wireless Security

  • Encryption: WPA2-PSK/WPA3-SAE Mixed Mode (strong security)
  • Key: (Your password)

這邊記得設定你的 Wi-Fi SSID 與密碼,注意不要選錯 vlan 介面

Step 5. 修正 WAN 上網介面

這步驟算是 RT-AC58U 特有的步驟,
你會發現整個設定完畢卻無法辦法對外上網,這是正常的
因為剛剛有提到
這台 VLAN 2 是保留給 wan 使用的,而且它 預設在網頁管理介面是隱藏的
所以我們現在要來修正這件事情

使用 ssh 指令連線到路由器:

$ ssh [email protected]

(註:ssh 指令在 Windows powershell 有內建,或者用 putty 都可以)

我們需要直接修改 /etc/config/network 這個檔案

vi /etc/config/network

要比對一下設定檔,如果沒有這個段落的話,要手動加上這段

# this is the VLAN mapping for the internet port
config switch_vlan
    option device 'switch0'
    option vlan '1'
    option vid '2'
    option ports '0t 5'

然後重啟網路服務

$ /etc/init.d/network restart

然後測試,應該就可以連上網路了。

Step6. 連接第二台路由器(子機)

我們來實作示意圖上的第二台路由器

第二台(甚至以上)的路由器,設定跟前面非常類似,
唯有幾個需要確認:

  • DHCP Server 為關
  • 有線網路的對應網段與 VLAN 號碼,都要正確
  • Wi-Fi 帳號、密碼、對應網段與 VLAN 號碼,都要正確

然後將 trunk port 與 trunk port 用網路線,連接在一起,這樣就完成了。


文字介面設定參考

我保留了當初右上角系統透過介面自動產生的指令,供大家參考。
如果需要其他文章的話,才知道大概在講什麼。

基本上它就是用 uci 指令來做操作而已,所屬的設定檔案都已經列在註解上了,

# /etc/config/dhcp
uci del dhcp.lan.ra_slaac
uci set dhcp.lan.start='2'
uci set dhcp.lan.limit='254'
uci set dhcp.lan200=dhcp
uci set dhcp.lan200.interface='lan200'
uci set dhcp.lan200.start='100'
uci set dhcp.lan200.limit='150'
uci set dhcp.lan200.leasetime='12h'
uci set dhcp.lan200.start='2'
uci set dhcp.lan200.limit='254'

# /etc/config/firewall
uci add firewall zone # =cfg0edc81
uci set firewall.@zone[-1].name='lan200'
uci set firewall.@zone[-1].input='ACCEPT'
uci set firewall.@zone[-1].output='ACCEPT'
uci set firewall.@zone[-1].forward='ACCEPT'
uci add_list firewall.@zone[-1].network='lan200'
uci add firewall forwarding # =cfg0fad58
uci set firewall.@forwarding[-1].src='lan200'
uci set firewall.@forwarding[-1].dest='wan'

# /etc/config/network
uci add network switch_vlan # =cfg0b1ec7
uci set network.@switch_vlan[-1].device='switch0'
uci set network.@switch_vlan[-1].vlan='2'
uci set network.cfg0a1ec7.ports='0t 4 2 1t'
uci set network.cfg0a1ec7.vid='100'
uci set network.@switch_vlan[-1].ports='0t 3 1t'
uci set network.@switch_vlan[-1].vid='200'
uci set network.lan.device='eth0.100'
uci set network.lan.ipaddr='192.168.10.1'
uci set network.lan200=interface
uci set network.lan200.proto='static'
uci set network.lan200.device='eth0.200'
uci set network.lan200.ipaddr='192.168.20.1'
uci set network.lan200.netmask='255.255.255.0'
uci set network.lan200.type='bridge'

# /etc/config/wireless
uci set wireless.radio0.cell_density='0'
uci set wireless.default_radio0.ssid='OpenWrt_lan100'
uci set wireless.default_radio0.encryption='sae-mixed'
uci set wireless.default_radio0.key='YOUR_PASSWD'
uci del wireless.radio0.disabled
uci set wireless.wifinet2=wifi-iface
uci set wireless.wifinet2.device='radio0'
uci set wireless.wifinet2.mode='ap'
uci set wireless.wifinet2.ssid='OpenWrt_lan200'
uci set wireless.wifinet2.encryption='sae-mixed'
uci set wireless.wifinet2.key='YOUR_PASSWD'
uci set wireless.wifinet2.network='lan200'
uci set wireless.radio1.cell_density='0'
uci set wireless.default_radio1.ssid='OpenWrt_lan100_5G'
uci set wireless.default_radio1.encryption='sae-mixed'
uci set wireless.default_radio1.key='YOUR_PASSWD'
uci del wireless.radio1.disabled
uci set wireless.wifinet3=wifi-iface
uci set wireless.wifinet3.device='radio1'
uci set wireless.wifinet3.mode='ap'
uci set wireless.wifinet3.ssid='OpenWrt_lan200_5G'
uci set wireless.wifinet3.encryption='sae-mixed'
uci set wireless.wifinet3.key='YOUR_PASSWD'
uci set wireless.wifinet3.network='lan200'

用 OpenWRT 設定 VLAN 進行網路隔離 – 以 TOTOLINK-X5000R 為例

在當今的數位時代,設定一個安全且專屬的家用網路變得越來越重要。透過使用開源軟體 OpenWRT,我們可以輕鬆地為家中的網路設備建立專屬的虛擬局域網(VLAN),以提供更高程度的安全性與隔離性。

在本篇文章中,我們將透過一個實作範例,詳細介紹如何設定 OpenWRT,將一台路由器切割成兩個 VLAN 區域,並讓這兩個區域互不影響。每個 VLAN 區域都會分到不同的 IP 網段,而且皆有對應的 Wifi 無線網路(2.4G 和 5G)可供使用。最後,我們也會確保每一個 VLAN 區域都能夠對外上網。

這篇文章適合具有基礎網路知識,且對於設定 VLAN 有興趣的讀者。我們將會帶領你逐步了解 VLAN 的基本概念,並實際操作如何在 OpenWRT 中進行設定。

我們用一些筆者自身有用過的機種來做設定範例,詳細探討其中設定值的差異,供大家學習。希望透過本篇文章,你可以瞭解如何透過 OpenWRT 來打造一個安全、專屬的家用網路環境。

那麼,就讓我們開始吧!


設定 VLAN 進行網路隔離 系列文:


範例環境說明

假設你的對外網路有一個光世代的盒子(小烏龜),
你透過 DHCP 配發 IP 的方式來上網

我們把一台路由器分成二個 VLAN 區域:

  • VLAN100 網段 192.168.10.0/24
  • VLAN200 網段 192.168.20.0/24

接孔對應:

  • 指定第一埠為 VLAN100
  • 指定第二埠為 VLAN200

示意圖如下:

等效網路拓墣如下:

等於是你在小烏龜這邊裝了一台 Switch,
底下各裝一台 Wifi Router 路由器,各自設定獨立的 IP 位址與網段,
實現完全隔離的網路。

而我們全部都在一台路由器就完成了這件事情,
一般的家用路由器沒辦法做到這樣的功能,
但 OpenWRT 可以,這也是它厲害的地方。

我們把範例情境做複雜一點,
假設我們家用區域很大,是個三層樓透天厝,ADSL 主線在一樓,
想要二樓與三樓都延伸以上雙 VLAN 的情境。要怎麼做?

  • 指定第四埠為 VLAN100VLAN200 的 trunk port
  • 多新增一台設定類似的路由器,我們暫稱它為子機
  • 多拉一條網路線,來連接母機與子機

示意圖變成如下:

等效網路拓墣如下:

看到這邊大家可能開始霧煞煞,可以先上下對照等效網路拓墣來看,
原本我們應該需要二台路由器、二條網路線、二台 Switch hub 來延伸這個完全隔離的網路,歸功於 VLAN 與 trunk port 的功能,我們使用二台路由器,一條網路線就可以做到一樣的事情了。


以下為設定步驟,這邊使用 TOTOLINK-X5000R 刷入 OpenWRT 來實作以下的步驟,
有可能會因為硬體特性與原廠驅動設計問題,而步驟有一點點不同,
如果有比較特別的部份,可能另外寫一篇文章來解釋。

使用的版本為 OpenWRT 22.03.3 r20028-43d71ad93e 供參考。

設定步驟

Step0. 觀察原有設定值

在開始設定之前,我們先觀察一下原有路由器的設定值,
據經驗,這部分不同機器還是會有些微差異,也記錄一下。

TOTOLINK-X5000R 原有的設定值是這樣子

Network > Interface 頁面,Interfaces 頁籤

Network > Interface 頁面,Devices 頁籤

br-lan 按下 「Configure…」按鈕的內容,

Bridge device: br-lan 視窗,General device options 頁籤

Bridge device: br-lan 視窗,Bridge VLAN filtering 頁籤

也附上 X5000R 的產品背面圖

我們快速整理一下:

  • 沒有 Network > Switch 的頁面
  • eth1, eth2, eth3, eth4, eth5 ,對應到 5 個 Port
  • 有一個 Bridge 介面,
    • 綁定 eth1, eth2, eth3, eth4 為 LAN 的 Interface (介面)
  • 綁定 wan 為 WAN 的 Interface (介面)

接下來我們開始一步一步調整成我們要的範例情境。

Step1. 將原有 bridge 介面改為 VLAN 模式

先到 Network > Interface 頁面,選到 Devices 頁籤,

選到 br-lan 按下 「Configure…」按鈕,

直接到 Bridge VLAN filtering 頁籤,來做 VLAN 設定調整

勾選 Enable VLAN filtering

按下 Add 打入 VLAN ID,(例如:VLAN ID: 100 )
勾選 untagged 就是要應用上去的介面,畫面上會顯示一個 u
如果要走 trunk,再選擇 tagged

如有 CPU 的 Port 一律都選 trunk,這樣介面才看得到

複習一下範例情境:

  • VLAN ID: 100 應用在 Port 1, Port 3
  • VLAN ID: 200 應用在 Port 2
  • Port 4 走 VLAN ID: 100 與 VLAN ID: 200 的 trunk

所以變成這樣

VLAN ID lan1 lan2 lan3 lan4
100 u u t
200 u t

按了存檔 Save 了之後 不要馬上 Apply,不然 會直接斷線!
很重要講三次

到 Network > Interface 頁面 Interfaces 頁籤,

選擇預設的 LAN 按「Edit」按鈕

Interfaces » lan 的 General Settings 頁籤,

將 Device 調整為 Software VLAN: "br-lan.100"

再存檔 Apply

解釋:因為原本的單純的 bridge 介面,改跑成 VLAN 模式了,
以範例來說,原有的介面變成二個軟體 VLAN 介面
但路由器 IP 設定與 DHCP 設定沒有對應綁過去

原本的 bridge 介面不應該掛任何東西才正確

這邊的設定較重要,也是有沒有設定成功的關鍵。

註:先從本身連接的 VLAN 網段開始設定會比較順,
如果做錯了就整台重置吧。

Step2. 更換路由器 IP

為了符合範例的需求,我們更換一下目前連接路由器的 IP,

到 Network > Interface 頁面

General Settings 部分

  • IPv4 address: 192.168.10.1
  • IPv4 netmask: 255.255.255.0

將原本的 192.168.1.1 修改成 192.168.10.1

按 Save and Apply 套用設定,這個時候要更換瀏覽的網址。

http://192.168.1.1/ 要換成 http://192.168.10.1/ 然後重新登入。
這步應該對大家來說不困難。

Step3. 設定第二個 VLAN

我們依樣畫葫蘆在 Network > Interfaces 頁籤中,

按「Add New Interface…」按鈕,新增第二個介面

  • Name: LAN200
  • Protocol: Static address
  • Device: Software VLAN: "br-lan.200"

你就可以接續設定

General Settings

  • IPv4 address: 192.168.20.1
  • IPv4 netmask: 255.255.255.0

到 DHCP Server 頁籤,設定 DHCP 伺服器
(只有主要的那台路由器需要開,其他台必須關掉此設定值)

原本會顯示 No DHCP Server configured for this interface

按「Set up DHCP Server」按鈕啟動 DHCP 伺服器

DHCP Server > General Setup

  • Start: 2
  • Limit: 254

這邊設定的是 DHCP 伺服器發放 IP 位址的開始與結束區段,依需求修改
預設給 100 – 150,它可以是 2 – 254

還是重申:只有主要的那台路由器需要開,其他台必須關掉此設定值

Step4. 防火牆設定

(主要那台路由器需要設定,子機可以不用設定)

到 Network > Firewall 頁面

來到 Firewall – Zone Settings 頁面, General Settings 頁籤

依樣畫葫蘆,按 Add 新增一個區域

Firewall – Zone Settings 頁面, General Settings 頁籤

  • Name: lan200 (名字可以自己取)

  • Input: accept

  • Output: accept

  • Forward: accept

  • Covered networks: lan200 (Software VLAN: "br-lan.200")

Covered networks 為應用網路區域,這邊選擇前面設定的 lan200

  • Allow forward to destination zones: wan, wan6

轉送 (forward) 區域,這邊選擇 wan, wan6 即可。

第二個 VLAN 能不能正確上網就看這個設定了。

設定 Wi-Fi

這邊設定 Wi-Fi 步驟就相對簡單

這台它有二個頻段 2.4GHz 與 5GHz

分別設定為

  • SSID: OpenWRT_lan100

  • 設定您的密碼

  • 對應 VLAN100

  • SSID: OpenWRT_lan200

  • 設定您的密碼

  • 對應 VLAN200

  • SSID: OpenWRT_lan100_5G

  • 設定您的密碼

  • 對應 VLAN100

  • SSID: OpenWRT_lan200_5G

  • 設定您的密碼

  • 對應 VLAN200

這邊應該很直覺,注意不要選錯即可。

Step5. 連接第二台路由器(子機)

我們來實作示意圖上的第二台路由器

第二台(甚至以上)的路由器,設定跟前面非常類似,
唯有幾個需要確認:

  • DHCP Server 為關
  • 有線網路的對應網段與 VLAN 號碼,都要正確
  • Wi-Fi 帳號、密碼、對應網段與 VLAN 號碼,都要正確

然後將 trunk port 與 trunk port 用網路線,連接在一起,這樣就完成了。


文字介面設定參考

我保留了當初右上角系統透過介面自動產生的指令,供大家參考。
如果需要其他文章的話,才知道大概在講什麼。

基本上它就是用 uci 指令來做操作而已,所屬的設定檔案都已經列在註解上了,
這邊就不多做解釋,圖形介面都設定好了。

# /etc/config/dhcp
uci del dhcp.lan.ra_slaac
# /etc/config/network
uci add network bridge-vlan # =cfg07a1b0
uci set network.@bridge-vlan[-1].device='br-lan'
uci set network.@bridge-vlan[-1].vlan='100'
uci add_list network.@bridge-vlan[-1].ports='lan1'
uci add_list network.@bridge-vlan[-1].ports='lan3'
uci add_list network.@bridge-vlan[-1].ports='lan4:t'
uci add network bridge-vlan # =cfg08a1b0
uci set network.@bridge-vlan[-1].device='br-lan'
uci set network.@bridge-vlan[-1].vlan='200'
uci add_list network.@bridge-vlan[-1].ports='lan2'
uci add_list network.@bridge-vlan[-1].ports='lan4:t'
uci set network.lan.device='br-lan.100'

# /etc/config/dhcp
uci set dhcp.lan.start='2'
uci set dhcp.lan.limit='254'
uci set dhcp.lan200=dhcp
uci set dhcp.lan200.interface='lan200'
uci set dhcp.lan200.start='100'
uci set dhcp.lan200.limit='150'
uci set dhcp.lan200.leasetime='12h'
uci set dhcp.lan200.start='2'
uci set dhcp.lan200.limit='254'
# /etc/config/network
uci set network.lan.ipaddr='192.168.10.1'
uci set network.lan200=interface
uci set network.lan200.proto='static'
uci set network.lan200.device='br-lan.200'
uci set network.lan200.ipaddr='192.168.20.1'
uci set network.lan200.netmask='255.255.255.0'

# /etc/config/firewall
uci add firewall zone # =cfg0edc81
uci set firewall.@zone[-1].name='lan200'
uci set firewall.@zone[-1].input='ACCEPT'
uci set firewall.@zone[-1].output='ACCEPT'
uci set firewall.@zone[-1].forward='REJECT'
uci add_list firewall.@zone[-1].network='lan200'
uci add firewall forwarding # =cfg0fad58
uci set firewall.@forwarding[-1].src='lan200'
uci set firewall.@forwarding[-1].dest='wan'

# /etc/config/wireless
uci del wireless.radio0.disabled
uci set wireless.wifinet2=wifi-iface
uci set wireless.wifinet2.device='radio0'
uci set wireless.wifinet2.mode='ap'
uci set wireless.wifinet2.ssid='OpenWrt_lan200'
uci set wireless.wifinet2.encryption='sae-mixed'
uci set wireless.wifinet2.key='YOUR_PASSWD'
uci set wireless.wifinet2.network='lan200'
uci set wireless.radio0.cell_density='0'
uci set wireless.default_radio0.ssid='OpenWrt_lan100'
uci set wireless.default_radio0.encryption='sae-mixed'
uci set wireless.default_radio0.key='YOUR_PASSWD'
uci del wireless.radio1.disabled
uci set wireless.wifinet3=wifi-iface
uci set wireless.wifinet3.device='radio1'
uci set wireless.wifinet3.mode='ap'
uci set wireless.wifinet3.ssid='OpenWrt_lan200_5G'
uci set wireless.wifinet3.encryption='sae-mixed'
uci set wireless.wifinet3.key='YOUR_PASSWD'
uci set wireless.wifinet3.network='lan200'
uci set wireless.radio1.cell_density='0'
uci set wireless.default_radio1.ssid='OpenWrt_lan100_5G'
uci set wireless.default_radio1.encryption='sae-mixed'
uci set wireless.default_radio1.key='YOUR_PASSWD'

以上就是這次的內容,希望對大家有幫助。

[教學] 用 OpenWRT 做分離式上網設定 (以 小米路由器mini 為例)

這是一篇筆記備忘,因為設定很繁複,所以專門寫一篇做紀錄。
為何叫作分離式上網呢?其實這個名稱是我取的 😆

當然這個要用第三方韌體才做得到,官方韌體是沒這功能的 😛

以下所適用的情境是:

  • 切成多個 VLAN 區域,互相看不見彼此
  • 每個 VLAN 區域會分到不同的 IP 網段
  • 每個 VLAN 區域都有對應的 Wifi 無線網路供使用
  • 每一個 VLAN 區域要能夠對外上網

以下截圖採用 PandoraBox 的韌體在 小米路由器mini 上執行。
但因為 PandoraBox 是 OpenWRT 的版本分支,
LEDE 亦是 OpenWRT 的版本分支,
理論上 LEDE / OpenWRT 都能適用,只是版面排版不一樣。

什麼是 VLAN (Virtual LAN)?

引用 Wikipedia 的說明

A virtual LAN (VLAN) is any broadcast domain that
is partitioned and isolated in a computer network
at the data link layer (OSI layer 2).

翻譯一下, VLAN 是一個 OSI Layer 2 的獨立廣播區域。

虛擬區域(Virtual Local Area Network 或簡寫 VLAN)
是一種建構於區域網路交換技術(Switch)的網路管理的技術,
網管人員可以藉此透過控制交換機有效分派出入區域網的封包
到正確的出入埠,達到對不同實體區域網中的裝置進行邏輯分群
(Grouping)管理。

引用文章的說明

什麼是VLAN?VLAN是在同一物理區域網內
用於劃分若干個不同廣播域(子網)的技術,
子網內的主機可以互相通信,不同子網的主機之間不可互相通信。
什麼是VLAN ID?用於標識每個VLAN子網的ID。

範例環境

vlan.png

假設一台路由器有二個 VLAN

  • VLAN1
    • 路由器 IP: 192.168.1.1
    • 分配網段: 192.168.1.0/24
    • 無線網路 (2.4GHz) 名稱: PandoraBox
    • 無線網路 (5GHz) 名稱: PandoraBox_5G
  • VLAN2
    • 路由器 IP: 192.168.2.1
    • 分配網段: 192.168.2.0/24
    • 無線網路 (2.4GHz) 名稱: PandoraBox_lan2
    • 無線網路 (5GHz) 名稱: PandoraBox_5G_lan2

 

設定步驟

VLAN 設定

  1. Switch 頁面,設定好 vlan

Screen Shot 2017-11-20 at 10.57.58 PM.png

這邊的 Port 是指實體 RJ45 的有線接口,
可以通過插拔網路線的方法,對應到每一個 Port。
如果 Port 狀態為 untagged (不關聯),即該 Port 作為本 VLAN 成員,進行二層交換;
若選擇 tagged (關聯),Port 之間通信無二層交換,而是衝突廣播(類似 Hub 的方式)

簡單來說,

  • 要加入該 VLAN 的 Port 選 untagged
  • 不加入的 Port 選 off
  • CPU 照預設值,選 tagged
  • 其他的 Port 照預設值設定即可

以 小米路由器mini 來說,

4112272063a99d01 (1) copy.jpg

從左到右,分別是

Reset Button / USB 2.0 / Port 0 (White) / Port 1 (White) / Port 4 (Blue)

它多出一個特殊 Port 是 Port 7,其他機型沒有

  • Port 7 照預設值,選 tagged

以這個範例來說

原本

  • VLAN ID 1 (LAN): Port 0, Port 1
  • VLAN ID 2 (WAN): Port 4

改成

  • VLAN ID 1 (LAN1): Port 0
  • VLAN ID 2 (WAN): Port 4
  • VLAN ID 3 (LAN2): Port 1

因為有了 VLAN 這麼方便的功能,
你可以自由的定義每一個網路接口是什麼功用,不用照預設給的 WAN 是藍色, LAN 是白色的限制。

無線網路 Wifi 設定

Network > Wifi 頁面,在 [2.4GHz 頻段] 與 [5GHz 頻段] 各新增一個 SSID,
名稱為 PandoraBox_lan2PandoraBox_5G_lan2 並設定好 SSID名稱 & 密碼

Screen Shot 2017-11-20 at 10.55.20 PM.png

畫面上會有四個 Wifi,ra0 有二個,rai0 有二個
名稱個別為

  • PandoraBox
  • PandoraBox_5G
  • PandoraBox_lan2
  • PandoraBox_5G_lan2

Screen Shot 2017-11-20 at 10.56.15 PM.png

Screen Shot 2017-11-20 at 10.56.50 PM.png

Screen Shot 2017-11-20 at 10.56.28 PM.png

Screen Shot 2017-11-20 at 10.57.05 PM.png

邏輯介面 (Interfaces) 設定

Screen Shot 2017-11-20 at 10.50.10 PM.png

Network > Interfaces 頁面,新增一個介面,名字叫 lan2

Screen Shot 2017-11-21 at 2.01.35 AM.png

Screen Shot 2017-11-21 at 2.02.13 AM.png

Screen Shot 2017-11-20 at 10.51.50 PM.png

到 General Setup 設定 IP 資訊

  • IPv4 address: 192.168.2.1
  • IPv4 netmask: 255.255.255.0
  • IPv4 gateway: (留空)

到 Physical Settings 指定給定介面

  • VLAN Interface: “eth0.3” (lan2)
  • Wireless Network: “PandoraBox_lan2” (lan2)
  • Wireless Network: “PandoraBox_5G_lan2” (lan2)

到 Firewall Settings 設定

  • Assign firewall-zone LAN2: lan2

整理如下

第一個介面 – LAN

Screen Shot 2017-11-20 at 10.50.53 PM.png

Screen Shot 2017-11-20 at 10.51.13 PM.png

Screen Shot 2017-11-20 at 10.51.22 PM.png

第二個介面 LAN2

Screen Shot 2017-11-20 at 10.51.31 PM.png

Screen Shot 2017-11-20 at 10.51.45 PM.png

Screen Shot 2017-11-20 at 10.51.50 PM.png

介面設定 DHCP Server (二個 Interfaces 都要設定)

  • Disable DHCP for this interface 不打勾(或是按下 Setup DHCP Server
  • Router Advertisement-Service: server mode
  • DHCPv6-Service: server mode

Screen Shot 2017-11-20 at 10.54.57 PM.png

Screen Shot 2017-11-20 at 10.55.05 PM.png

防火牆區域設定

Screen Shot 2017-11-20 at 10.58.29 PM.png

Firewall > General settings 新增一個 Zone,
名稱叫 LAN2 ,並設定:

  • Input: accept
  • Output: accept
  • Forward: accept
  • Covered networks: lan2
  • Allow forward to destination zones: wan

整理如下

第一個防火牆區域 – lan

Screen Shot 2017-12-01 at 2.38.33 AM.png

第二個防火牆區域 – lan2

Screen Shot 2017-12-01 at 2.03.16 AM.png

Port forwarding 設定?

要做 Port forwarding (連接埠轉送 又稱 虛擬伺服器)?
當然可以,在 Firewall > Port Forwards 頁面
假設 對外的 80 port 要對應到 192.168.1.28080 port

就如此設定

Screen Shot 2017-12-01 at 2.06.49 AM.png

然後按下 Add,規則就訂好了

Screen Shot 2017-12-01 at 2.05.52 AM.png

可以按下 Edit 看詳細規則

Screen Shot 2017-12-01 at 2.06.08 AM.png

其他防火牆規則?

其實這都是把 linux 的 iptables 指令做成比較好用的 UI 而已,
在 Firewall > Traffic Rules 這個頁面,會有一些預設的規則,你可以參考這些現有預設的規則仿造一個你自己的

Screen Shot 2017-12-01 at 2.07.32 AM.png

再舉一個例子,假設要禁止 第一個介面(lan) 連到路由器的 telnet,但第二個介面(lan2) 不受限
可以如此設定

Screen Shot 2017-11-20 at 11.16.42 PM.png

如果你熟捻 iptables 指令,不妨直接去 FirewallCustom Rules 把規則直接打進去。

Screen Shot 2017-12-01 at 2.34.33 AM.png

 

參考資料

https://en.wikipedia.org/wiki/VirtualLAN
https://blog.chionlab.moe/2016/07/13/openwrt-multiwan-configuration/
https://www.dd-wrt.com/wiki/index.php/VLAN
DetachedNetworks(SeparateNetworksWith_Internet)