openSUSE Leap 16

ネットワーク ボンディングの設定2026/01/13

 

サーバーコンピューターに複数のネットワークインターフェースが搭載されている場合、ネットワーク ボンディングの設定を適用することにより、複数のネットワークインターフェースを使用して、ネットワークの冗長化や負荷分散をすることができます。

ボンディングの設定の際に指定する動作モードの概要は以下の通りです。

モード番号 モード名称 概要
0 balance-rr 全てのメンバーデバイス (NIC) を使用して、順番 (ラウンドロビン) にデータを送受信する。
負荷分散と冗長化に対応する。
trunk に対応したスイッチが必要となる。
ボンディングの設定時に Mode を指定しない場合は、当モードがデフォルトモードとして適用される。
1 active-backup メンバーデバイスのうちの 1つの NIC のみをアクティブインターフェイスとしてデータを送受信する。
冗長化に対応する。
2 balance-xor 送信元/先の MAC アドレスを元に、メンバーデバイスから送信デバイスを決定してデータを送受信する。
負荷分散と冗長化に対応する。
trunk に対応したスイッチが必要となる。
3 broadcast 全メンバーデバイスに同一パケットを送信する。
冗長化に対応する。
通常用途では使用しない。
4 802.3ad IEEE 802.3ad (LACP) に準拠したリンクアグリゲーション。
IEEE 802.3ad に対応したスイッチが必要となる。
5 balance-tlb 送信時のみ NIC の速度、及び負荷に応じて負荷分散を行い、受信時は冗長化する。
負荷分散と冗長化に対応する。
6 balance-alb balance-tlb の機能に加え、受信も負荷分散する。
負荷分散と冗長化に対応する。

[1] ボンディングの設定です。
# ネットワークデバイス確認

dlp:~ #
nmcli device

DEVICE  TYPE      STATE                   CONNECTION
enp1s0  ethernet  connected               enp1s0
enp7s0  ethernet  connected               enp7s0
lo      loopback  connected (externally)  lo

# 既存のネットワーク接続は一旦削除

dlp:~ #
nmcli connection delete enp1s0

Connection 'enp1s0' (e1ebeb32-244e-4060-b873-4d2c551a404f) successfully deleted.

dlp:~ #
nmcli device

DEVICE  TYPE      STATE                   CONNECTION
lo      loopback  connected (externally)  lo
enp1s0  ethernet  disconnected            --
enp7s0  ethernet  disconnected            --

# ボンディングデバイス [bond0] を新規追加 (名称は任意)
# 各モードの概要は上表を参照 (モードの指定は番号でも OK)

dlp:~ #
nmcli connection add type bond ifname bond0 con-name bond0 bond.options "mode=balance-rr"

Connection 'bond0' (6ee4cc9f-5fc6-42f6-84e6-d9860d61d1e2) successfully added.

# 追加したボンディングデバイスのメンバーに物理ネットワークデバイスを追加

dlp:~ #
nmcli connection add type ethernet ifname enp1s0 master bond0

Connection 'bond-slave-enp1s0' (2ddd224f-82d5-4318-bd41-aade65f04e82) successfully added.
dlp:~ #
nmcli connection add type ethernet ifname enp7s0 master bond0

Connection 'bond-slave-enp7s0' (4639b9f1-3ae1-4d41-b0f4-185acacdc4d3) successfully added.

dlp:~ #
nmcli device

DEVICE  TYPE      STATE                   CONNECTION
bond0   bond      connected               bond0
enp1s0  ethernet  connected               bond-slave-enp1s0
enp7s0  ethernet  connected               bond-slave-enp7s0
lo      loopback  connected (externally)  lo

dlp:~ #
nmcli connection

NAME               UUID                                  TYPE      DEVICE
bond0              6ee4cc9f-5fc6-42f6-84e6-d9860d61d1e2  bond      bond0
bond-slave-enp1s0  2ddd224f-82d5-4318-bd41-aade65f04e82  ethernet  enp1s0
bond-slave-enp7s0  4639b9f1-3ae1-4d41-b0f4-185acacdc4d3  ethernet  enp7s0
lo                 294925c9-e855-4532-a2d8-430ca2a11a89  loopback  lo

# ボンディングデバイスに IP アドレス等々を設定してデバイス再起動
# IP アドレス

dlp:~ #
nmcli connection modify bond0 ipv4.addresses 10.0.0.30/24
# ゲートウェイ

dlp:~ #
nmcli connection modify bond0 ipv4.gateway 10.0.0.1
# DNS - 複数ある場合はスペース区切り

dlp:~ #
nmcli connection modify bond0 ipv4.dns "10.0.0.10 10.0.0.11"
# DNS サーチベース - 複数ある場合はスペース区切り

dlp:~ #
nmcli connection modify bond0 ipv4.dns-search "srv.world"
dlp:~ #
nmcli connection modify bond0 ipv4.method manual
dlp:~ #
reboot

# ボンディング ステータス確認

dlp:~ #
cat /proc/net/bonding/bond0

Ethernet Channel Bonding Driver: v6.12.0-160000.6-default

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0

Slave Interface: enp1s0
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 52:54:00:c6:32:53
Slave queue ID: 0

Slave Interface: enp7s0
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 52:54:00:86:9d:49
Slave queue ID: 0

dlp:~ #
ip address show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000
    link/ether 52:54:00:c6:32:53 brd ff:ff:ff:ff:ff:ff
    altname enx525400c63253
3: enp7s0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000
    link/ether 52:54:00:c6:32:53 brd ff:ff:ff:ff:ff:ff permaddr 52:54:00:86:9d:49
    altname enx525400869d49
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 52:54:00:c6:32:53 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.30/24 brd 10.0.0.255 scope global noprefixroute bond0
       valid_lft forever preferred_lft forever
    inet6 fe80::55c0:bd58:1094:acc8/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

# 設定内容は以下に保存されている

dlp:~ #
ll /etc/NetworkManager/system-connections

total 12
-rw-------. 1 root root 169 Jan 13 09:17 bond-slave-enp1s0.nmconnection
-rw-------. 1 root root 169 Jan 13 09:17 bond-slave-enp7s0.nmconnection
-rw-------. 1 root root 289 Jan 13 09:19 bond0.nmconnection
関連コンテンツ