注意:
- 本教學課程包含在 Oracle 提供的免費實驗室環境中。
- 它會使用 Oracle Cloud Infrastructure 證明資料、租用戶以及區間的範例值。完成實驗室之後,請將這些值取代為您雲端環境特有的值。
使用網路管理程式 CLI 建立網路連結
簡介
網路連結可將系統上的多個實體網路介面群組成單一邏輯群組介面,並連接至網路交換器。如果連結群組中的連結失敗,連結可以維護連線,透過冗餘來提升連線可用性。此外,實體網路介面的聚總也透過負載平衡連結中各個介面的流量,提供更高的傳輸量。這個實驗室會引導您使用 NMCLI 公用程式建立具有多個實體介面的網路連結介面、變更其連結模式,以及刪除連結介面。
目標
在本實驗室中,您將瞭解:
- 建立結合介面
- 將多個實體介面新增為連結介面群組中的連結
- 變更用來監督狀態和跨連結介面連結之流量分配的結合模式
- 刪除結合介面
注意:本教學課程中的程序遵循 Oracle Engineering 的建議。
必要條件
- 目前安裝的 Oracle Linux 8 發行版本雲端執行處理系統
建立結合介面
此實驗室環境使用的執行處理是具備四種網路介面的 Oracle Linux 8 雲端執行處理。您可以使用下列三個網路介面建立連結介面。所有介面都位於相同的虛擬雲端網路專用子網路上。
注意:您可以觀看免費視訊,示範如何在教學課程結束時,依照其他資訊區段中的連結建立連結介面。
-
請依照 Oracle Linux Lab Basics 中的指示建立 SSH 連線並登入您的實驗室系統執行處理。
下列小節顯示如何透過 SSH 連線連線至執行處理。
- 複製公用 IP 位址
- 連線 Oracle Linux 執行處理
ssh oracle@<ip address of instance>
-
建立結合介面。將連結連線名稱設為 Bondconn1,並將介面名稱設為 bond0。
sudo nmcli connection add type bond con-name "Bondconn1" ifname bond0
-
檢視新建立的債券。
sudo nmcli connection
範例輸出:
NAME UUID TYPE DEVICE Bondconn1 6a5605dc-49ad-4f8d-8e10-7c130b95aba7 bond bond0 System ens3 21d47e65-8523-1a06-af22-6f121086f085 ethernet ens3
-
檢視連結組態檔以查看新連結介面的詳細資訊。
sudo nmcli connection show "Bondconn1"
注意:使用 'space「 鍵繼續至輸出中的下一頁資訊。使用 'q「 鍵可結束輸出並返回命令行。
部分範例輸出:
connection.id: Bondconn1 connection.uuid: e8092374-4397-4452-bc55-2f64c506b518 connection.stable-id: -- connection.type: bond connection.interface-name: bond0 connection.autoconnect: yes connection.autoconnect-priority: 0 connection.autoconnect-retries: -1 (default) connection.multi-connect: 0 (default) ... ... bond.options: mode=balance-rr proxy.method: none proxy.browser-only: no proxy.pac-url: -- proxy.pac-script: -- GENERAL.NAME: Bondconn1 GENERAL.UUID: 37845378-f29a-4b10-8107-49b9f5a0f564 GENERAL.DEVICES: bond0 GENERAL.IP-IFACE: -- GENERAL.STATE: activating ... ... connection.master: -- connection.slave-type: -- connection.autoconnect-slaves: -1 (default) connection.secondaries: -- connection.gateway-ping-timeout: 0 connection.metered: unknown connection.lldp: default connection.mdns: -1 (default) connection.llmnr: -1 (default) connection.wait-device-timeout: -1 ipv4.method: auto lines 1-25
熟悉如何尋找輸出中的資訊,例如連結 ID、UID、介面名稱、IP 設定值,以及記下使用的連結模式。
變更結合模式
結合模式會指出連結介面如何透過其連結分配流量,以及如何透過改變負載平衡和裝置容錯移轉的行為來處理連結群組中一或多個連結失敗。
-
使用
bond.options "mode=active-backup"
命令選項,將連結介面使用的連結模式從 Round Robin 變更為 Active Backup。sudo nmcli connection modify Bondconn1 bond.options "mode=active-backup"
注意:支援的模式為預設的 Round Robin (balance-rr)、Active Backup (active-backup)、XOR (balance-xor)、廣播 (broadcast)、802.3ad (802.3ad)、調適型傳輸負載平衡 (balance-tlb) 以及調適型負載平衡 (balance-alb)。
您可以在本文件連結中,瞭解各種連結模式運作方式的詳細資訊:
-
檢視新連結介面的詳細資訊,以查看變更後的連結模式。
sudo nmcli connection show "Bondconn1"
部分範例輸出:
... ... ... cipv6.dhcp-timeout: 0 (default) ipv6.dhcp-send-hostname: yes ipv6.dhcp-hostname: -- ipv6.dhcp-hostname-flags: 0x0 (none) ipv6.token: -- bond.options: mode=active-backup proxy.method: none proxy.browser-only: no proxy.pac-url: -- lines 56-80
將介面連結新增至連結介面
-
檢視系統上的網路裝置介面資訊。
sudo nmcli device
範例輸出:
DEVICE TYPE STATE CONNECTION ens3 ethernet connected System ens3 bond0 bond connecting (getting IP configuration) Bondconn1 ens5 ethernet disconnected -- ens6 ethernet disconnected -- ens7 ethernet disconnected -- lo loopback unmanaged --
上架為連結介面與四個網路裝置。
ens5
、ens6
、ens7
等裝置均列為「已中斷連線」。這些裝置可以作為連結介面的介面連結。 -
新增介面
ens5
作為連結介面群組的連結。sudo nmcli connection add type ethernet slave-type bond con-name bond0-if1 ifname ens5 master bond0
範例輸出:
Connection 'bond0-if1' (56e98603-099c-46d1-acd5-1268e4ef9005) successfully added.
-
將介面
ens6
新增為連結介面群組的第二個連結。sudo nmcli connection add type ethernet slave-type bond con-name bond0-if2 ifname ens6 master bond0
範例輸出:
Connection 'bond0-if2' (577a9de4-43f4-46c7-9b29-dc51ef0f7c65) successfully added.
-
檢視系統上的網路裝置介面資訊。
sudo nmcli device
範例輸出:
DEVICE TYPE STATE CONNECTION ens3 ethernet connected System ens3 ens5 ethernet connected bond0-if1 ens6 ethernet connected bond0-if2 bond0 bond connecting (getting IP configuration) Bondconn1 ens7 ethernet disconnected -- lo loopback unmanaged --
兩個連結現在與連結介面相關聯。
設定結合介面的 IP 位址
依預設,連結會設定為使用 DHCP。IP 位址指定、閘道和網路解析資訊可以設定為邏輯連結介面。
-
使用
ip addr
指令來確認bond0
將其狀態報告為UP
。ip addr
範例輸出:
17: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 02:00:17:09:f8:b0 brd ff:ff:ff:ff:ff:ff inet6 fe80::cd09:f18d:f202:3ae4/64 scope link noprefixroute valid_lft forever preferred_lft forever
-
如果輸出顯示
bond0
為DOWN
,則執行命令sudo nmcli connection up "Bondconn1"
將其狀態變更為UP
。sudo nmcli connection up "Bondconn1"
範例輸出:
Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/61)
-
-
使用
ipv4.addresses
指令選項,將'192.168.1.10/24'
的 IP 位址和子網路遮罩指派給bond0
介面。sudo nmcli connection modify "Bondconn1" ipv4.addresses '192.168.1.10/24'
-
將 IP 位址指派方法設為手動。這會設定連結介面的 IP 位址和遮罩。
sudo nmcli connection modify "Bondconn1" ipv4.method manual
-
檢視系統的第三層網路資訊。
bond0
介面現在已指派 IP 位址。ip addr
部分範例輸出:
33: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 00:00:17:01:2f:ef brd ff:ff:ff:ff:ff:ff inet 192.168.1.10/24 brd 192.168.1.255 scope global noprefixroute bond0 valid_lft forever preferred_lft forever inet6 fe80::5149:fd05:55e5:9eff/64 scope link noprefixroute valid_lft forever preferred_lft forever
指定債券介面的其他連結
-
將上次未指派的網路裝置
ens7
指派給bond0
介面。sudo nmcli conn add type ethernet slave-type bond con-name bond0-if3 ifname ens7 master bond0
命令輸出顯示已順利新增連結介面。
-
檢視系統上的網路裝置介面資訊。
sudo nmcli device
範例輸出:
DEVICE TYPE STATE CONNECTION ens3 ethernet connected System ens3 bond0 bond connected Bondconn1 ens5 ethernet connected bond0-if1 ens6 ethernet connected bond0-if2 ens7 ethernet connected bond0-if3 lo loopback unmanaged --
輸出顯示連接至連結介面的第三個網路裝置。
-
檢視債券組態資訊。
這會顯示有關債券、其狀態,以及債券群組中的連結介面及其狀態的資訊。
cat /proc/net/bonding/bond0
範例輸出:
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) 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: ens5 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 0 Permanent HW addr: 02:00:17:09:f8:b0 Slave queue ID: 0 Slave Interface: ens6 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 0 Permanent HW addr: 00:00:17:02:a1:10 Slave queue ID: 0 Slave Interface: ens7 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 0 Permanent HW addr: 02:00:17:03:f1:3a Slave queue ID: 0
輸出顯示債券組態與狀態,包括哪些是有效的連結、其資訊及其狀態。
刪除結合連結
若要移除債券介面,請先移除債券連結。
注意:請勿刪除已連線作用中介面連結的連結介面。
-
使用指令
sudo nmcli connection delete
並新增連結連結介面名稱。先移除bond0-if3
連線,然後重複剩餘的結合介面動作。注意:您刪除連結的順序並不重要。
sudo nmcli connection delete bond0-if3
範例輸出:
Connection 'bond0-if3' (5751ef04-43f4-46c7-9b29-dc51ef0f7c65) successfully deleted.
sudo nmcli connection delete bond0-if2
範例輸出:
Connection 'bond0-if2' (577a9de4-43f4-46c7-9b29-dc51ef0f7c65) successfully deleted.
sudo nmcli connection delete bond0-if1
範例輸出:
Connection 'bond0-if1' (56e98603-099c-46d1-acd5-1268e4ef9005) successfully deleted.
-
使用
sudo nmcli device
指令來確認裝置已中斷連線。sudo nmcli device
範例輸出:
DEVICE TYPE STATE CONNECTION ens3 ethernet connected System ens3 bond0 bond connected Bondconn1 ens5 ethernet disconnected -- ens6 ethernet disconnected -- ens7 ethernet disconnected -- lo loopback unmanaged --
刪除結合鍵介面
刪除連結介面之前,請先使用 sudo nmcli connection down
指令設定 down
狀態的連線。
-
轉換結合介面。
sudo nmcli connection down "Bondconn1"
範例輸出:
Connection 'Bondconn1' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/86)
-
使用
ip addr
指令來確認已移除連結介面。ip addr
輸出顯示不再列出結合介面。
-
使用
sudo nmcli connection delete
命令以及連結介面名稱來刪除連結介面。sudo nmcli connection delete "Bondconn1"
範例輸出:
Connection 'Bondconn1' (a3d42efc-52ba-474a-9eea-67a4342420df) successfully deleted.
-
使用
sudo nmcli connection
指令進行驗證。sudo nmcli connection
範例輸出:
NAME UUID TYPE DEVICE System ens3 21d47e65-8523-1a06-af22-6f121086f085 ethernet ens3
輸出顯示唯一的連線是
ens3
。 -
檢視債券組態檔。
cat /proc/net/bonding/bond0
cat: /proc/net/bonding/bond0: No such file or directory
注意:刪除連結介面也會移除其組態檔。
其他資訊
請參閱其他相關資源:
其他學習資源
探索 docs.oracle.com/learn 上的其他實驗室,或前往 Oracle Learning YouTube 通道存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請瀏覽 Oracle Help Center。
Create Network Bonds using Network Manager CLI
F56789-01
May 2022
Copyright © 2022, Oracle and/or its affiliates.