注意:

使用網路管理程式 CLI 建立網路連結

簡介

網路連結可將系統上的多個實體網路介面群組成單一邏輯群組介面,並連接至網路交換器。如果連結群組中的連結失敗,連結可以維護連線,透過冗餘來提升連線可用性。此外,實體網路介面的聚總也透過負載平衡連結中各個介面的流量,提供更高的傳輸量。這個實驗室會引導您使用 NMCLI 公用程式建立具有多個實體介面的網路連結介面、變更其連結模式,以及刪除連結介面。

目標

在本實驗室中,您將瞭解:

注意:本教學課程中的程序遵循 Oracle Engineering 的建議。

必要條件

建立結合介面

此實驗室環境使用的執行處理是具備四種網路介面的 Oracle Linux 8 雲端執行處理。您可以使用下列三個網路介面建立連結介面。所有介面都位於相同的虛擬雲端網路專用子網路上。

注意:您可以觀看免費視訊,示範如何在教學課程結束時,依照其他資訊區段中的連結建立連結介面。

  1. 請依照 Oracle Linux Lab Basics 中的指示建立 SSH 連線並登入您的實驗室系統執行處理。

    下列小節顯示如何透過 SSH 連線連線至執行處理。

    • 複製公用 IP 位址
    • 連線 Oracle Linux 執行處理
    ssh oracle@<ip address of instance>
    
  2. 建立結合介面。將連結連線名稱設為 Bondconn1,並將介面名稱設為 bond0

    sudo nmcli connection add type bond con-name "Bondconn1" ifname bond0
    
  3. 檢視新建立的債券。

    sudo nmcli connection
    

    範例輸出:

    NAME       UUID                                  TYPE      DEVICE 
    Bondconn1    6a5605dc-49ad-4f8d-8e10-7c130b95aba7  bond      bond0  
    System ens3  21d47e65-8523-1a06-af22-6f121086f085  ethernet  ens3 
    
  4. 檢視連結組態檔以查看新連結介面的詳細資訊。

    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 設定值,以及記下使用的連結模式。

變更結合模式

結合模式會指出連結介面如何透過其連結分配流量,以及如何透過改變負載平衡和裝置容錯移轉的行為來處理連結群組中一或多個連結失敗。

  1. 使用 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)。

    您可以在本文件連結中,瞭解各種連結模式運作方式的詳細資訊:

    文件:Oracle Linux 8 - 使用網路連結

  2. 檢視新連結介面的詳細資訊,以查看變更後的連結模式。

    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
    
  1. 檢視系統上的網路裝置介面資訊。

    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                              --
    

    上架為連結介面與四個網路裝置。ens5ens6ens7 等裝置均列為「已中斷連線」。這些裝置可以作為連結介面的介面連結。

  2. 新增介面 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.
    
  3. 將介面 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.
    
  4. 檢視系統上的網路裝置介面資訊。

    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 位址指定、閘道和網路解析資訊可以設定為邏輯連結介面。

  1. 使用 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
    
    • 如果輸出顯示 bond0DOWN,則執行命令 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)
      
  2. 使用 ipv4.addresses 指令選項,將 '192.168.1.10/24' 的 IP 位址和子網路遮罩指派給 bond0 介面。

    sudo nmcli connection modify "Bondconn1" ipv4.addresses '192.168.1.10/24'
    
  3. 將 IP 位址指派方法設為手動。這會設定連結介面的 IP 位址和遮罩。

    sudo nmcli connection modify "Bondconn1" ipv4.method manual
    
  4. 檢視系統的第三層網路資訊。

    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
    
  1. 將上次未指派的網路裝置 ens7 指派給 bond0 介面。

    sudo nmcli conn add type ethernet slave-type bond con-name bond0-if3 ifname ens7 master bond0
    

    命令輸出顯示已順利新增連結介面。

  2. 檢視系統上的網路裝置介面資訊。

    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  --
    

    輸出顯示連接至連結介面的第三個網路裝置。

  3. 檢視債券組態資訊。

    這會顯示有關債券、其狀態,以及債券群組中的連結介面及其狀態的資訊。

    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
    

    輸出顯示債券組態與狀態,包括哪些是有效的連結、其資訊及其狀態。

若要移除債券介面,請先移除債券連結。

注意:請勿刪除已連線作用中介面連結的連結介面。

  1. 使用指令 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.
    
  2. 使用 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 狀態的連線。

  1. 轉換結合介面。

    sudo nmcli connection down "Bondconn1"
    

    範例輸出:

    Connection 'Bondconn1' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/86)
    
  2. 使用 ip addr 指令來確認已移除連結介面。

    ip addr
    

    輸出顯示不再列出結合介面。

  3. 使用 sudo nmcli connection delete 命令以及連結介面名稱來刪除連結介面。

    sudo nmcli connection delete "Bondconn1"
    

    範例輸出:

    Connection 'Bondconn1' (a3d42efc-52ba-474a-9eea-67a4342420df) successfully deleted.
    
  4. 使用 sudo nmcli connection 指令進行驗證。

    sudo nmcli connection
    

    範例輸出:

    NAME         UUID                                  TYPE      DEVICE 
    System ens3  21d47e65-8523-1a06-af22-6f121086f085  ethernet  ens3
    

    輸出顯示唯一的連線是 ens3

  5. 檢視債券組態檔。

    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