前言

因為常用到,所以特此紀錄方便日後查詢。

使用 bonding 模組,將多個網路線綁定。


綁定模式

綁定方法總共有 7 種,可根據需求選擇適合的模式。

詳細說明可參考此文件

  • mode 0 : balance-rr
  • mode 1 : active-backup
  • mode 2 : balance-xor
  • mode 3 : broadcast
  • mode 4 : 802.3ad
  • mode 5 : balance-tlb
  • mode 6 : balance-alb

如果選擇 mode 4 (802.3ad),交換器也需要設定為 802.3ad 模式。

設定步驟

確認驅動

確認是否有 bonding 模組驅動,理論上新版系統的都已內建,較舊的系統則需安裝驅動。

1
modinfo bonding | more

如未找到,請安裝套件

1
2
sudo apt-get update
sudo apt-get install ifenslave

載入模組

載入 bonding 模組

1
sudo modprobe bonding

確認模組已經加載

1
sudo lsmod | grep bonding

開機自動加載

將 bonding 模組設定開機自動加載

編輯設定檔

1
sudo vim /etc/modules

填入 bonding

查詢網路介面名稱

1
ip link

如下範例,可以看到有兩個網孔,網路介面名稱分別為 enp13s0 , enp0s31f6

編輯網路設定檔

每台系統預設的設定檔檔名未必一樣,可在 /etc/netplan 找到副檔名為 yaml 的設定檔,下圖為例,檔案名稱為 01-netcfg.yaml

列出設定檔名稱

編輯設定檔

1
sudo vim /etc/netplan/01-netcfg.yaml

填入網路綁定資訊

假設綁定模式為 802.3ad,也稱為 LACP (Link Aggregation Control Protocol),並選擇將 enp13s0 , enp0s31f6 這兩個網路介面綁定。

固定 IP 設定範例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
network:
version: 2
renderer: networkd
ethernets:
enp13s0:
dhcp4: false
enp0s31f6:
dhcp4: false
bonds:
bond4:
interfaces:
- enp13s0
- enp0s31f6
parameters:
mode: 802.3ad
lacp-rate: fast
addresses:
- "192.168.0.200/24"
gateway4: "192.168.0.254"
nameservers:
addresses:
- "8.8.8.8"
- "1.1.1.1"

DHCP IP 設定範例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
network:
version: 2
renderer: networkd
ethernets:
enp13s0:
dhcp4: false
enp0s31f6:
dhcp4: false
bonds:
bond4:
interfaces:
- enp13s0
- enp0s31f6
parameters:
mode: 802.3ad
lacp-rate: fast
dhcp4: true

啟用網路設定

1
sudo netplan apply

如果擔心設定有問題或失敗,可以使用 try指令,在執行 120 秒後復原原本設定。

1
sudo netplan try

查詢網路狀態

查詢綁定後的網路資訊