Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux 多網卡綁定 (Bonding/Teaming) 完整配置指南:mode=1 主備模式實戰

編輯:關於 Linux

將多張實體網卡聚合為單一邏輯介面 (bond0),可提升頻寬 (負載平衡) 或提供容錯 (主備)。本文以 RedHat/CentOS/RHEL 系列為例,詳細說明 mode=1 (active-backup) 主備模式的完整配置步驟、參數說明與驗證方法。

Bonding 模式速查

Mode名稱特性需交換機支援
0balance-rr輪詢傳輸,負載平衡需 LAG/Static LACP
1active-backup單一作用,其餘備援,**最簡單、相容性最好**不需要
2balance-xor基於 MAC/XOR 負載平衡需 Static LACP
3broadcast全傳送,極高容錯需特殊配置
4802.3ad (LACP)動態鏈路聚合,負載平衡+容錯**必須** 交換機支援 LACP
5balance-tlb傳輸負載平衡,無需交換機不需要
6balance-alb適應性負載平衡 (含 ARP 協商)不需要

環境規劃

  • 介面:eth0、eth1 (兩張實體網卡)。
  • Bond 介面:bond0,IP 192.168.1.2/24,GW 192.168.1.1。
  • 模式:mode=1 (主備),miimon=100 (100ms 鏈路檢測)。

步驟 1:建立 bond0 設定檔

# /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
TYPE=Bond
BONDING_MASTER=yes
BOOTPROTO=none
IPADDR=192.168.1.2
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
ONBOOT=yes
USERCTL=no
BONDING_OPTS="mode=1 miimon=100"

步驟 2:配置從屬介面 (eth0、eth1)

# /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
HWADDR=00:15:17:CC:FC:35   # 實體 MAC,防止介面名稱漂移

# ifcfg-eth1 同理,只改 DEVICE=eth1、HWADDR=對應 MAC

步驟 3:載入 bonding 模組 (開機自動)

# /etc/modprobe.d/bonding.conf
alias bond0 bonding
options bonding mode=1 miimon=100

或直接在 ifcfg-bond0 的 BONDING_OPTS 傳遞 (NetworkScripts 會自動處理)。

步驟 4:啟用與驗證

systemctl restart network
# 或
nmcli con reload && nmcli con up bond0

# 驗證
cat /proc/net/bonding/bond0
# 輸出關鍵:
# Bonding Mode: fault-tolerance (active-backup)
# Primary Slave: eth0
# Currently Active Slave: eth0
# MII Status: up

ip addr show bond0
ping -I bond0 192.168.1.1

NetworkManager (nmcli) 快速建立 (RHEL 8/9、CentOS Stream)

nmcli con add type bond con-name bond0 ifname bond0 mode active-backup ipv4.addresses 192.168.1.2/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8 ipv4.method manual
nmcli con add type ethernet con-name bond0-slave-eth0 ifname eth0 master bond0 slave-type bond
nmcli con add type ethernet con-name bond0-slave-eth1 ifname eth1 master bond0 slave-type bond
nmcli con up bond0

常見問題

miimon 偵測不到交換機端故障
miimon 僅檢測本端到交換機鏈路;若交換機上游斷線,需配合 arp_interval + arp_ip_target (mode 0/2/4) 或上層路由協議 (VRRP/BGP) 故障切換。
MAC 地址漂移
bond0 預設使用第一張 slave MAC;若需固定,加 macaddress=XX:XX:XX:XX:XX:XX 於 ifcfg-bond0。
VLAN on Bond
建立 bond0.100 子介面,VLAN=yes 在 bond 設定中。

生產建議

  • 兩張網卡接不同交換機 (MLAG/vPC) 實現真正硬體級冗余。
  • 啟用 ethtool -K eth0 rx on tx on 硬體卸載。
  • 監控 /proc/net/bonding/bond0 狀態納入 Prometheus/Zabbix。

完成上述配置,你的伺服器即擁有高可用的網路介面,單張網卡或纜線故障將自動無感切換。

Copyright © Windows教程網 All Rights Reserved