🐧 Linux 進階網路設定大全:Bonding、VLAN、Bridge、靜態路由、Multi-NIC 架構完整解析
在企業網路、資料中心、虛擬化平台(Proxmox、VMware、KVM)、容器平台(Kubernetes)中, Linux 扮演著關鍵的基礎角色,而網路設定更是整個系統中不可或缺的核心組件。
本篇以百科方式、系統化整理 Linux 進階網路設定,包括: Bonding(網卡聚合)、VLAN(虛擬區域網路)、Bridge(網橋)、靜態路由、Multi-NIC 架構設計。 每個章節皆附設定檔示例、使用情境以及指令操作,適合系統工程師、網路工程師、虛擬化架構師參考使用。
📌 1. Bonding(網卡聚合)— Link Aggregation / NIC Teaming
Bonding 是將兩張或多張實體網卡整合成一張邏輯介面,提升:
- 🚀 帶寬(Link Aggregation)
- 🛡️ 高可用性(故障自動切換)
常見模式(mode)及用途如下:
| 模式 | 用途 | 特色 |
|---|---|---|
| mode=1 (active-backup) | 高可用性 | 僅一條鏈路工作、無需交換器支援 |
| mode=2 (balance-xor) | 簡單負載分擔 | 需交換器支援、Hash 分配 |
| mode=4 (802.3ad) | 企業最常用 LACP | 需交換器支援 LACP、效能最佳 |
| mode=5/6 | 適用少見環境 | 多為較舊環境使用 |
🟦 Bonding 設定範例(ifcfg)— LACP 模式
bond0 設定:
DEVICE=bond0
TYPE=Bond
BONDING_MASTER=yes
IPADDR=192.168.10.20
PREFIX=24
GATEWAY=192.168.10.1
BONDING_OPTS="mode=4 miimon=100 lacp_rate=1"
ONBOOT=yes
實體 NIC 加入 Bonding:
DEVICE=ens160
MASTER=bond0
SLAVE=yes
ONBOOT=yes
完成後重新啟動 NetworkManager 或介面。 Bonding 是虛擬化平台常用技術,可避免單 NIC 故障造成整個節點離線。
📌 2. VLAN(802.1Q Tagging)— 虛擬區域網路
VLAN 讓單一實體介面可同時傳輸多個網段,適用於:
- 📦 Proxmox / KVM VM 網路隔離
- 📡 大型企業多網段環境
- 🛡️ 安全性區域分隔(DMZ / LAN / 管理網)
🟦 VLAN 設定檔(ifcfg)示例
DEVICE=ens160.50
VLAN=yes
BOOTPROTO=static
IPADDR=192.168.50.10
PREFIX=24
ONBOOT=yes
🟦 使用 nmcli 建立 VLAN
nmcli con add type vlan con-name vlan50 dev ens160 id 50 ip4 192.168.50.10/24
交換器需設定 Trunk / Tagged Port 才能正常運作。
📌 3. Bridge(網橋)— Linux Bridge
Linux Bridge 是虛擬化環境的標準網路架構,可讓虛擬機直接加入 L2 網路。
- Proxmox:vmbr0
- KVM / Libvirt:virbr0
🟦 Bridge 設定檔(ifcfg)示例
bridge:
DEVICE=br0
TYPE=Bridge
IPADDR=192.168.1.20
PREFIX=24
GATEWAY=192.168.1.1
ONBOOT=yes
實體 NIC:
DEVICE=ens160
BRIDGE=br0
ONBOOT=yes
Bridge 等同於軟體交換器(Software Switch),是容器與 VM 網路的基礎。
📌 4. 靜態路由(Static Routing)
靜態路由用於手動指定流量走向,例如跨網段、隔離環境、VPN 等用途。
🟦 臨時靜態路由(立即生效)
ip route add 10.20.0.0/16 via 192.168.1.1
🟦 永久靜態路由(ifcfg-route)
建立檔案:
/etc/sysconfig/network-scripts/route-ens160
內容:
10.20.0.0/16 via 192.168.1.1 dev ens160
📌 5. Multi-NIC 架構設計(多網卡環境)
多網卡環境常見於:
- 📡 管理網 / 服務網 / Storage 網分離
- ☁️ 虛擬化平台(Proxmox / ESXi)
- 🧱 企業資料中心網路分層
🟦 若要為不同 NIC 設定不同 Gateway(進階)
Linux 不允許「多個預設 Gateway」同時存在,但可使用政策路由(Policy Routing)。
查詢 table:
ip rule
加入政策路由:
ip rule add from 192.168.20.0/24 table 20
ip route add default via 192.168.20.1 table 20
適用於 Storage 網與管理網需要走不同路徑的情境。
📌 6. 進階網路架構綜合示例(企業常見架構)
以下為企業常見三層網路示範:
- Bonding(LACP)提供高可用性
- 在 Bond 上建立多組 VLAN
- Bridge 提供虛擬機 L2 網路
- Routing 決定跨網段走向
bond0 (mode=4)
├── bond0.10 → VLAN 10(Management)
├── bond0.20 → VLAN 20(VM Network)
└── bond0.30 → VLAN 30(Storage)
vmbr0 → bond0.20(提供 VM L2 網路)
storage0 → bond0.30(走獨立 Storage)
此架構是 Proxmox、OpenStack、KVM 資料中心場景最常見的典型設計。
📌 7. 常見問題(Troubleshooting)
❗ Bridge 沒有 IP?
需確認是否由 Bridge 介面(br0)取得 IP,而非實體 NIC。
❗ VLAN ping 不通?
- 交換器 port 未設定 Trunk / Tagged
- Bonding mode 與交換器不一致(特別是 LACP)
❗ Bonding mode 4 無法啟動?
交換器需啟用 LACP(802.3ad)。
❗ Multi-NIC 流量跑錯路?
需設定政策路由(Policy Routing)。
沒有留言: