備註:

在 Oracle Linux 8 上使用 nmcli 和 ip

簡介

本教學課程將搭配 Oracle Linux CLI 公用程式 (nmcliip) 用來監督及管理網路裝置和連線。

實驗室的目的是要使用一般功能,模擬工作環境,並導入這些公用程式和課堂練習。並非所有功能皆已顯示。實驗室在虛擬化環境中執行,因此限制可列出並練習的項目。

背景

Linux 會透過軟體組態檔和系統中的實體網路裝置來處理網路通訊。每個實體網路裝置都有一個關聯的配置檔案,名為 ifcfg-<interface>,位於 /etc/sysconfig/network-scripts 目錄中。

NetworkManager 包含命令行公用程式 nmcli,可供您用來建立、顯示、編輯、刪除、啟用及停用網路連線,以及控制與顯示網路裝置狀態。

ip 是另一個用於顯示和操控網路裝置、網路路由及通道的公用程式。

目標

軟硬體需求

已安裝 Oracle Linux 8 的用戶端系統,但至少三個磁碟裝置。

注意:使用免費實驗室環境時,請參閱 Oracle Linux Lab Basics 以取得連線和其他使用指示。

執行 nmcli 一般物件命令

您可以使用 nmcli general 物件指令顯示整體網路狀態和執行作業。

  1. 執行 nmcli help 指令,並記下可用的選項。

    nmcli help
    

    注意:顯示命令輸出的不同模式。

    • -t|--terse:此模式是設計的,適用於命令檔處理。
    • -p|--pretty:此模式會使用標頭產生可輕易讀取的輸出。
    • -m|--mode tabular|multiline:此模式會以表格格式或多行產生輸出。

    如需所有可用選項的說明,請參閱 nmcli 線上手冊。

  2. 執行 nmcli general help 指令。

    nmcli general help
    

    注意:general 選項提供四個指令引數:statushostnamepermissionslogging

  3. 執行 nmcli general status 指令。預設值為 status 引數。

    nmcli general status
    

    完整連線表示主機已連線至網路,並且可完整存取網際網路。

  4. 使用 systemctl 指令停止 NetworkManager 服務。

    systemctl stop NetworkManager
    
  5. 重新執行 nmcli general status 命令。

    執行停止 NetworkManager 服務的命令會導致錯誤。

  6. 使用 systemctl 指令啟動 NetworkManager 服務。

    systemctl start NetworkManager
    
  7. 執行 nmcli general hostname 指令。

    nmcli general hostname
    

    這個引數會報告系統主機名稱。您也可以使用 nmcli general hostname 變更主機名稱。

  8. 執行 nmcli general hostname 指令,並將主機名稱變更為 "myhost"。

    nmcli general hostname myhost
    

    /etc/hostname 檔案儲存主機名稱資訊。

  9. 執行 cat /etc/hostname 命令以確認名稱變更。

    cat /etc/hostname
    
  10. 重新執行命令 nmcli general hostname,並將主機名稱變更回 "ol8-server"。

    nmcli general hostname ol8-server
    

    請重新執行 cat /etc/hostname 命令,以驗證主機名稱變更。

  11. 執行 nmcli general permissions 指令。

    nmcli general permissions
    

    輸出顯示所有預先設定都會設為 yes,這表示您可以啟用和停用網路,以及修改所有連線和設定值。

  12. 執行 nmcli general logging 指令。

    nmcli general logging
    

    使用 logging 引數檢視和變更 NetworkManager 記錄日誌層次和網域。如果沒有引數,會顯示目前的記錄日誌層次與網域。在此情況下,所有網域的記錄日誌層次為 INFO。如需有關記錄日誌層次和網域描述的資訊,請參閱 NetworkManager.conf 線上手冊。

  13. 使用 nmcli general logging 指令將 IP4 網域的記錄日誌層次變更為 DEBUG

    nmcli general logging level DEBUG domains IP4
    
  14. 請重新執行 nmcli general logging 命令,以驗證 IP4 網域的記錄層級已變更為 DEBUG

    IP4 網域的記錄日誌層次現在設為 DEBUG

  15. 使用 nmcli general logging 指令將 ALL 網域的記錄日誌層次變更為 INFO

    nmcli general logging level INFO domains ALL
    

    這個指令會將記錄層級回復為預設設定。

執行 nmcli 網路物件命令。

您可以使用 nmcli networking 物件管理網路連線,以及檢視網路狀態。

  1. 執行 nmcli networking help 指令。

    nmcli networking help
    

    networking 物件提供三種指令:onoffconnectivity

  2. 執行不含引數的 nmcli networking 指令,以顯示網路狀態。

    nmcli networking
    

    輸出顯示網路狀態為 enabled

    重要資訊 LEAVE 網路已啟用。您正在工作在虛擬化環境中執行的執行處理,如果停用網路,將無法存取。這會讓您失去與執行處理的連線能力,並且需要重新啟動實驗室。

    • 指令 nmcli networking off 會停用所有已啟用裝置的網路。
    • nmcli networking on 指令可啟用所有啟用之裝置的網路。
  3. 使用 ip addr 指令來顯示可用的網路介面。

    ip address
    

    注意:乙太網路介面 ens5UP,沒有 IP 位址。

  4. 執行 nmcli networking connectivity 命令以顯示網路連線狀態。

    • 包含 check 引數。
    • 如果沒有 check 引數,命令會顯示最近已知的連線狀態,但不會重新檢查。
    nmcli networking connectivity check
    

    連線狀態 full 表示主機已連線至網路,並具有網際網路的完整存取權。

執行 nmcli 圓鈕物件命令

使用 nmcli radio 物件指令管理無線網路。

  1. 執行 nmcli radio help 指令。

    nmcli radio help
    

    注意:三個可用的指令選項:allwifiwwan。每個命令都有兩個引數。

  2. 執行不含選項或引數的 nmcli radio 命令,以顯示無線電交換器狀態。

    nmcli radio
    

    輸出顯示所有的交換器為 enabled

  3. 執行 nmcli radio wifi off 指令以停用 WI-FI 無線電交換器。

    nmcli radio wifi off
    

    請重新執行 nmcli radio 命令,以驗證 WI-FI 無線電交換器狀態為 disabled

  4. 執行 nmcli radio wifi on 指令以啟用 WI-FI 無線電交換器。

    nmcli radio wifi on
    

    請重新執行 nmcli radio 命令,以驗證 WI-FI 無線電交換器狀態為 enabled

執行 nmcli 連線物件命令

使用 nmcli connection 物件來啟動、停止及管理網路連線。

  1. 執行 nmcli connection help 指令。

    nmcli connection help
    

    注意:nmcli connection 物件提供 13 個指令,如以下所示:

    連線物件

  2. 執行 nmcli connection show 命令,列出所有連線設定檔。

    nmcli connection show
    

    輸出將裝置 ens3 列出為唯一的連線設定檔。

  3. 使用 --active 引數執行 nmcli connection show 命令以列出作用中設定檔。

    nmcli connection show --active
    

    同樣地,輸出會列出裝置 ens3 作為唯一的連線設定檔。

  4. 執行 ls -l /etc/sysconfig/network-scripts/ 命令並將輸出導向 grep ens,列出所有 ens 裝置的連線設定檔。

    ls -l /etc/sysconfig/network-scripts/ | grep ens
    

    唯一具有連線設定檔的 ens 裝置是 ens3

  5. 建立 ens5 的組態設定檔,並讓裝置上線。透過設計,NetworkManager 允許單一裝置有多個連線或設定檔。這些設定檔允許不同的網路配置,例如 DHCP 或指派的靜態 IP 位址。

    1. 取得連附至您實驗室執行處理之第二個 VNIC 裝置的專用 IP。

      1. 返回雲端主控台 > 運算 > 執行處理頁面。

        運算執行處理

      2. 在名稱清單中,按一下執行處理 (ol8-server) 的連結,以開啟其詳細資訊頁面。

      3. 將詳細資訊頁面向下捲動至資源區段,然後按一下清單中的連附的 VNIC 以檢視 VNIC。

        附加波

      4. 從 VNIC 清單按一下 vnic-2 的連結,以檢視 VNIC 的相關詳細資訊。

      5. 在頁面的主要 IP 區段中,複製專用 IP 位址 (例如 10.0.0.155),然後傳回終端機視窗。

        專用 ip

    2. 執行 nmcli connection add type ethernet con-name ens5 ifname ens5 ip4 <PRIVATE_IP_ADDRESS_OF_COMPUTE_INSTANCE> 命令,例如:10.0.0.155/24,以建立 ens5 的組態設定檔。

      nmcli connection add type ethernet con-name ens5 ifname ens5 ip4 10.0.0.155/24
      

      此組態定義靜態 IP 位址指定,並以 CIDR 表示法呈現 ip4 位址。NetworkManager 會將這些值寫入 /etc/sysconfig/network-scripts/ifcfg-<interface> 檔案中,讓配置在重新開機後保持不變。

    3. 執行 cat 指令以檢視 ens5 配置檔案。

      cat /etc/sysconfig/network-scripts/ifcfg-ens5
      
    4. 執行 nmcli conn show 命令來檢視更新的連線清單。

      nmcli conn show
      

      此指令顯示為 ens5 建立的新連線設定檔。NetworkManager 允許使用 nmcli 指令的縮寫。

    5. 執行 nmcli conn up ens5 指令,讓裝置上線。

      nmcli conn up ens5
      
    6. 輸入 nmcli d status 以驗證連線,其中 d 是裝置指令的縮寫。

      nmcli d status
      

      此指令以 connected 狀態顯示 ens5

    7. 執行 ping -c 3 -I ens5 命令,然後執行先前使用的 IP 位址,例如 10.0.0.155

      ping -c 3 -I ens5 <PRIVATE_IP_ADDRESS_OF_COMPUTE_INSTANCE
      

      -c 只會傳送三個封包,然後 -I 參數可確保封包在 ens5 介面上移出。

    8. 執行 nmcli connection show id ens5 指令,並將輸出導向 grep interconnect

      nmcli connection show id ens5 | grep autoconnect
      

      輸出顯示 autoconnect 參數設為 yes

您可以使用 ip 公用程式來設定網路介面。您必須具備更高的權限,才能使用 ip 公用程式。請務必注意,使用 ip 指令進行的任何網路變更不會在系統重新啟動時持續有效。

在以下任務中,請繼續使用裝置 ens5

在此練習中,您可以使用 ip link utility 來新增、編輯及刪除連結。

  1. 執行不含任何選項或引數的 ip 指令。

    ip
    

    注意:各種可用的選項。如需所有選項的說明,請參閱 ip (8) 線上手冊。

  2. 執行 ip link 物件指令。您可以使用 ip link 物件指令來顯示和設定網路裝置。

    1. 執行 ip link help 命令以顯示六個可用的物件命令。

      ip link help
      

      指令包括 adddeletesetshowxstatsafstatshelp

    2. 執行 ip link show 指令以識別現有的網路裝置。

      ip link show
      

      show 指令是 ip link 物件的預設值,因此不需要。輸出可識別三個網路裝置,即兩個乙太網路裝置 (ens3ens5)。另外還有一個回送裝置 (lo)。輸出會列出與 nmcli device status 在前一次練習中相同的裝置。

    3. 執行 ip link add 命令來新增虛擬連結。如需有關連結類型的詳細資訊,請參閱 ip-link(8) 線上手冊。使用下列參數增加新的 VLAN 連結:

      • 使用實體裝置 ens5
      • 指定名稱 ens5.10
      • 使用 vlan 作為裝置類型
      • 將 VLAN ID (id) 重設為 10
      ip link add link ens5 name ens5.10 type vlan id 10
      
    4. 重新執行 ip link 以列出新裝置。

      虛擬連結 ens5.10@ens5 會出現在清單中。

    5. 執行 ip link set 命令,將 MTU 裝置屬性變更為 1400

      ip link set ens5.10 mtu 1400
      
    6. 執行 ip link delete 指令來刪除 ens5.10 裝置。

      ip link delete ens5.10
      
      • 請重新執行 ip link 以列出驗證虛擬裝置已不存在。

執行 ip 位址物件指令

ip addr 指令可顯示及管理網路裝置上的 IP 位址。

  1. 執行 ip addr help 命令以顯示可用的物件命令。

    可用的指令部分清單包括 addchangereplacedelshowsave。如需 ip addr 指令的完整清單,請參閱 ip-address(8) 線上手冊。

  2. 執行 ip addr show 指令以識別現有的網路裝置。

    ip addr
    

    show 指令也是 ip addr 的預設值。它會顯示與 ip link 相同的資訊,但是包含 IP 位址。

  3. 執行 ip addr add 指令,將第二個 IP 位址新增至 ens5

    ip addr add 10.1.1.1/24 dev ens5
    
  4. 執行 ip addr show 指令以顯示 ens5 裝置。將裝置指定為引數時,必須使用 show 指令。

    ip addr show ens5
    

    裝置目前有兩個 IP 位址。

  5. 執行 ip addr del 指令,從 ens5 刪除 IP 位址。

    ip addr del 10.1.1.1/24 dev ens5
    
  6. 再次執行 ip addr show 指令以顯示 ens5 裝置。

影片演示

如果您需要使用 nmcli 指令的詳細資訊,在 https://www.youtube.com/watch?v=EkI3RKl4loE 提供的影片示範也非常有用。

在 Oracle Linux 8 上使用 NetworkManager CLI (nmcli)

如果您需要使用 ip 指令的詳細資訊,在 https://www.youtube.com/watch?v=JcipLuWymNc 提供的影片示範也可能是很有用的。

使用 Oracle Linux 8 上的 ip 命令

其他學習資源

探索 docs.oracle.com/learn 上的其他實驗室,或是存取更多免費學習內容至 Oracle Learning YouTube 通道。此外,瀏覽 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。

如需產品文件,請瀏覽 Oracle Help Center