🔗 Juniper IRB 介面設定實戰:VLAN 間路由(Inter-VLAN Routing)原理與組態
這是「Juniper 交換器基礎管理」系列的第五篇,也是收尾篇。前面依序把 帳號密碼與管理介面、集中認證、VLAN 與 Port 模式、靜態與動態路由 都建好了,這篇把最後一塊拼圖接上:讓不同 VLAN 之間可以互相路由。Junos 上做這件事的介面叫 IRB(Integrated Routing and Bridging),概念上等同於其他廠牌講的 SVI(Switch Virtual Interface)。
1️⃣ IRB 是什麼:Layer 2 與 Layer 3 的橋接點
交換器上的 VLAN 本質是 Layer 2 廣播網域,同一個 VLAN 內的設備可以直接互相溝通,但不同 VLAN 之間預設是互不相通的——這正是 VLAN 隔離的目的。IRB 介面的作用,是在每個 VLAN 上「掛」一個虛擬的 Layer 3 介面,賦予這個 VLAN 一個 IP 位址,讓它可以參與路由。實務上常說的「三層交換器」,指的就是同時具備 Layer 2 交換與 IRB 路由能力的設備。
2️⃣ 基本設定:把 IRB 綁定到 VLAN
延續第三篇建立的 VLAN,這裡示範幫 VLAN10-OFFICE 與 VLAN20-SERVER 各自建立對應的 IRB 介面:
set interfaces irb unit 10 family inet address 192.168.10.1/24
set interfaces irb unit 20 family inet address 192.168.20.1/24
set vlans VLAN10-OFFICE l3-interface irb.10
set vlans VLAN20-SERVER l3-interface irb.20
commit
關鍵在最後兩行的 l3-interface:這是把 VLAN 與對應 IRB 單元綁在一起的地方,缺了這一步,即使 irb.10 設了 IP,流量還是進不去對應的 VLAN。這跟第三篇提過的「access port 忘記設 interface-mode」是同一類型的坑——兩段設定分開下,漏其中一段時 commit 通常不會報錯,但功能就是不會動。
驗證設定
show interfaces irb terse
show vlans VLAN10-OFFICE detail
show vlans ... detail 的輸出裡如果有看到對應的 L3 interface 欄位顯示 irb.10,才代表綁定成功。
3️⃣ VLAN 間路由的實際流向
設定完成後,VLAN10-OFFICE(192.168.10.0/24)裡的主機要跟 VLAN20-SERVER(192.168.20.0/24)裡的主機溝通時,流程是:主機把封包送到自己的 gateway(也就是 irb.10 的 IP 192.168.10.1)→ 交換器內部路由查表 → 從 irb.20 把封包送進 VLAN20-SERVER。整個過程封包不需要離開這台交換器,這也是三層交換器效能通常優於「交換器 + 外接路由器」架構的原因——路由運算在 ASIC 層面完成,不用繞一圈實體線路。
| 架構 | 路由路徑 | 典型效能特性 |
|---|---|---|
| 三層交換器(IRB) | 交換器內部完成,不經實體線路 | 低延遲,適合機房內部大量 VLAN 間流量 |
| 交換器 + 外接路由器(router-on-a-stick) | 需經 trunk 上聯到路由器再繞回來 | 延遲較高,上聯頻寬可能成為瓶頸 |
4️⃣ IRB 上的存取控制:不是每個 VLAN 都該互通
IRB 打通了 VLAN 之間的路由,但「能路由」不代表「應該允許互通」。例如 VLAN99-MGMT(管理 VLAN)通常不該讓一般辦公 VLAN 隨意存取。這時候要在 IRB 介面上加 firewall filter 做流量管制,而不是靠不建立 IRB 來隔離——不建 IRB 只是不路由,管理上更沒彈性,也很難做細緻的允許/拒絕規則。
set firewall family inet filter mgmt-vlan-acl term allow-from-office from source-address 192.168.10.0/24
set firewall family inet filter mgmt-vlan-acl term allow-from-office then accept
set firewall family inet filter mgmt-vlan-acl term deny-all then discard
set interfaces irb unit 99 family inet filter input mgmt-vlan-acl
這跟第一篇用 firewall filter 限制管理介面來源 IP 是同一套邏輯,只是這裡套用在 VLAN 間路由的層級。建議把「哪些 VLAN 可以到哪些 VLAN」先畫成一張表再動手設定,避免規則越加越多、最後連自己都搞不清楚哪條 filter 在管什麼。
5️⃣ IRB 與動態路由的銜接
如果這台三層交換器還要把 VLAN 網段通告給上層路由設備(例如核心路由器或防火牆),需要把 IRB 介面也納入動態路由協定,做法跟第四篇的 OSPF 設定一致:
set protocols ospf area 0.0.0.0 interface irb.10
set protocols ospf area 0.0.0.0 interface irb.20
這樣一來,192.168.10.0/24 與 192.168.20.0/24 這兩個網段就會被通告出去,其他 OSPF 鄰居設備能學到路徑,不用再手動加靜態路由指向這台交換器。
6️⃣ 排錯常用指令
# 查看 IRB 介面狀態與 IP
show interfaces irb terse
# 查看 IRB 對應的 VLAN 綁定
show vlans detail
# 查看路由表裡 IRB 產生的直連路由
show route protocol direct
# 追蹤封包實際路徑(從某台主機 ping 另一 VLAN 的主機時同步觀察)
show interfaces irb.10 extensive | match "errors|packets"
遇到「同 VLAN 內通、跨 VLAN 不通」的狀況,建議的排查順序:先確認兩邊 IRB 都設好 IP 且 l3-interface 綁定正確(show vlans detail);再確認路由表裡有沒有這兩個網段的 direct 路由(show route protocol direct);最後才檢查有沒有 firewall filter 擋掉了流量。跳過中間這步、直接懷疑防火牆設定,是最常見繞遠路的排錯順序。
7️⃣ 上線前檢查清單
| 項目 | 確認內容 |
|---|---|
| IRB IP 位址 | 各 VLAN 對應的 irb 單元已設定正確網段的 IP |
| l3-interface 綁定 | 每個 VLAN 都已綁定對應的 irb 單元,並用 show vlans detail 驗證 |
| VLAN 間存取控制 | 已依規劃表設定 firewall filter,不是所有 VLAN 都預設互通 |
| 敏感 VLAN(如管理 VLAN) | 已限制僅特定來源可存取,而非依賴不建 IRB 的消極隔離 |
| 動態路由整合 | 如需對外通告,IRB 介面已納入 OSPF(或對應協定) |
| 跨 VLAN 連通性測試 | 已實際測試兩兩 VLAN 間流量,不只看設定檔 |
📚 延伸閱讀(本系列全篇回顧)
- Juniper 網路設備介紹 – 系列前置閱讀,Juniper 產品線總覽。
- VLSM 子網路規劃 – 規劃各 VLAN 對應網段(本篇 IRB IP 配置的基礎)。
- Juniper RIP / RIP v2 設定 – 另一種可與 IRB 搭配的基礎動態路由協定。
- Juniper DHCP(Junos OS)設定教學 – IRB 介面通常也是各 VLAN DHCP relay 的節點,適合搭配閱讀。
- Junos PyEZ 自動化管理 – 系列設定穩定後,用自動化工具做批次管理與稽核的下一步。
- Proxmox VE 網路:VLAN 與 Bridge 設定 – 對照虛擬化平台端如何處理 VLAN 與 Layer 3 邊界。
✅ 結論與行動建議
IRB 是三層交換器最核心也最容易被誤用的功能——設定門檻不高,但「能路由」不代表「該讓它路由」,VLAN 間的存取控制規劃比 IRB 本身的設定語法更需要花心思。回顧整個系列:先把帳號與管理介面守住(第一、二篇),再把 VLAN 分段做對(第三篇),接著把路徑串起來(第四篇),最後才用 IRB 把 Layer 2 與 Layer 3 接上,並且用 firewall filter 決定誰能跟誰講話(本篇)。這個順序不是隨意排的——每一層都建立在前一層的基礎上,顛倒順序做,通常會在後面才發現前面少了什麼。這系列到此告一段落,後續如果有大規模部署(如多站點一致性管理、組態自動化稽核)的實務案例,會再另開系列記錄。
沒有留言: