備註:
- 本教學課程隨附於 Oracle 提供的免費實驗室環境。
- 此範例使用 Oracle Cloud Infrastructure 證明資料、租用戶及區間的範例值。完成實驗室時,請將這些值替代成雲端環境的特定值。
在 Oracle Linux 8 上使用 nmcli 和 ip
簡介
本教學課程將搭配 Oracle Linux CLI 公用程式 (nmcli
和 ip
) 用來監督及管理網路裝置和連線。
實驗室的目的是要使用一般功能,模擬工作環境,並導入這些公用程式和課堂練習。並非所有功能皆已顯示。實驗室在虛擬化環境中執行,因此限制可列出並練習的項目。
背景
Linux 會透過軟體組態檔和系統中的實體網路裝置來處理網路通訊。每個實體網路裝置都有一個關聯的配置檔案,名為 ifcfg-<interface>
,位於 /etc/sysconfig/network-scripts
目錄中。
NetworkManager 包含命令行公用程式 nmcli
,可供您用來建立、顯示、編輯、刪除、啟用及停用網路連線,以及控制與顯示網路裝置狀態。
ip
是另一個用於顯示和操控網路裝置、網路路由及通道的公用程式。
目標
- 使用指令行公用程式檢視網路狀態資訊:
nmcli
和ip
。 - 變更系統主機名稱
- 變更登入層級
- 檢視連線資訊
- 新增、編輯及刪除連線設定檔
- 檢視裝置狀態資訊
軟硬體需求
已安裝 Oracle Linux 8 的用戶端系統,但至少三個磁碟裝置。
注意:使用免費實驗室環境時,請參閱 Oracle Linux Lab Basics 以取得連線和其他使用指示。
執行 nmcli 一般物件命令
您可以使用 nmcli general
物件指令顯示整體網路狀態和執行作業。
-
執行
nmcli help
指令,並記下可用的選項。nmcli help
注意:顯示命令輸出的不同模式。
-t|--terse
:此模式是設計的,適用於命令檔處理。-p|--pretty
:此模式會使用標頭產生可輕易讀取的輸出。-m|--mode tabular|multiline
:此模式會以表格格式或多行產生輸出。
如需所有可用選項的說明,請參閱
nmcli
線上手冊。 -
執行
nmcli general help
指令。nmcli general help
注意:
general
選項提供四個指令引數:status
、hostname
、permissions
和logging
。 -
執行
nmcli general status
指令。預設值為status
引數。nmcli general status
完整連線表示主機已連線至網路,並且可完整存取網際網路。
-
使用
systemctl
指令停止 NetworkManager 服務。systemctl stop NetworkManager
-
重新執行
nmcli general status
命令。執行停止 NetworkManager 服務的命令會導致錯誤。
-
使用
systemctl
指令啟動 NetworkManager 服務。systemctl start NetworkManager
-
執行
nmcli general hostname
指令。nmcli general hostname
這個引數會報告系統主機名稱。您也可以使用
nmcli general hostname
變更主機名稱。 -
執行
nmcli general hostname
指令,並將主機名稱變更為 "myhost
"。nmcli general hostname myhost
/etc/hostname
檔案儲存主機名稱資訊。 -
執行
cat /etc/hostname
命令以確認名稱變更。cat /etc/hostname
-
重新執行命令
nmcli general hostname
,並將主機名稱變更回 "ol8-server
"。nmcli general hostname ol8-server
請重新執行
cat /etc/hostname
命令,以驗證主機名稱變更。 -
執行
nmcli general permissions
指令。nmcli general permissions
輸出顯示所有預先設定都會設為
yes
,這表示您可以啟用和停用網路,以及修改所有連線和設定值。 -
執行
nmcli general logging
指令。nmcli general logging
使用
logging
引數檢視和變更 NetworkManager 記錄日誌層次和網域。如果沒有引數,會顯示目前的記錄日誌層次與網域。在此情況下,所有網域的記錄日誌層次為INFO
。如需有關記錄日誌層次和網域描述的資訊,請參閱NetworkManager.conf
線上手冊。 -
使用
nmcli general logging
指令將IP4
網域的記錄日誌層次變更為DEBUG
。nmcli general logging level DEBUG domains IP4
-
請重新執行
nmcli general logging
命令,以驗證IP4
網域的記錄層級已變更為DEBUG
。IP4
網域的記錄日誌層次現在設為DEBUG
-
使用
nmcli general logging
指令將ALL
網域的記錄日誌層次變更為INFO
。nmcli general logging level INFO domains ALL
這個指令會將記錄層級回復為預設設定。
執行 nmcli 網路物件命令。
您可以使用 nmcli networking
物件管理網路連線,以及檢視網路狀態。
-
執行
nmcli networking help
指令。nmcli networking help
networking
物件提供三種指令:on
、off
、connectivity
。 -
執行不含引數的
nmcli networking
指令,以顯示網路狀態。nmcli networking
輸出顯示網路狀態為
enabled
。重要資訊 LEAVE 網路已啟用。您正在工作在虛擬化環境中執行的執行處理,如果停用網路,將無法存取。這會讓您失去與執行處理的連線能力,並且需要重新啟動實驗室。
- 指令
nmcli networking off
會停用所有已啟用裝置的網路。 nmcli networking on
指令可啟用所有啟用之裝置的網路。
- 指令
-
使用
ip addr
指令來顯示可用的網路介面。ip address
注意:乙太網路介面
ens5
是UP
,沒有 IP 位址。 -
執行
nmcli networking connectivity
命令以顯示網路連線狀態。- 包含
check
引數。 - 如果沒有
check
引數,命令會顯示最近已知的連線狀態,但不會重新檢查。
nmcli networking connectivity check
連線狀態
full
表示主機已連線至網路,並具有網際網路的完整存取權。 - 包含
執行 nmcli 圓鈕物件命令
使用 nmcli radio
物件指令管理無線網路。
-
執行
nmcli radio help
指令。nmcli radio help
注意:三個可用的指令選項:
all
、wifi
、wwan
。每個命令都有兩個引數。 -
執行不含選項或引數的
nmcli radio
命令,以顯示無線電交換器狀態。nmcli radio
輸出顯示所有的交換器為
enabled
。 -
執行
nmcli radio wifi off
指令以停用 WI-FI 無線電交換器。nmcli radio wifi off
請重新執行
nmcli radio
命令,以驗證 WI-FI 無線電交換器狀態為disabled
。 -
執行
nmcli radio wifi on
指令以啟用 WI-FI 無線電交換器。nmcli radio wifi on
請重新執行
nmcli radio
命令,以驗證 WI-FI 無線電交換器狀態為enabled
。
執行 nmcli 連線物件命令
使用 nmcli connection
物件來啟動、停止及管理網路連線。
-
執行
nmcli connection help
指令。nmcli connection help
注意:
nmcli connection
物件提供 13 個指令,如以下所示: -
執行
nmcli connection show
命令,列出所有連線設定檔。nmcli connection show
輸出將裝置
ens3
列出為唯一的連線設定檔。 -
使用
--active
引數執行nmcli connection show
命令以列出作用中設定檔。nmcli connection show --active
同樣地,輸出會列出裝置
ens3
作為唯一的連線設定檔。 -
執行
ls -l /etc/sysconfig/network-scripts/
命令並將輸出導向grep ens
,列出所有ens
裝置的連線設定檔。ls -l /etc/sysconfig/network-scripts/ | grep ens
唯一具有連線設定檔的
ens
裝置是ens3
。 -
建立
ens5
的組態設定檔,並讓裝置上線。透過設計,NetworkManager 允許單一裝置有多個連線或設定檔。這些設定檔允許不同的網路配置,例如 DHCP 或指派的靜態 IP 位址。-
取得連附至您實驗室執行處理之第二個 VNIC 裝置的專用 IP。
-
返回雲端主控台 > 運算 > 執行處理頁面。
-
在名稱清單中,按一下執行處理 (ol8-server) 的連結,以開啟其詳細資訊頁面。
-
將詳細資訊頁面向下捲動至資源區段,然後按一下清單中的連附的 VNIC 以檢視 VNIC。
-
從 VNIC 清單按一下 vnic-2 的連結,以檢視 VNIC 的相關詳細資訊。
-
在頁面的主要 IP 區段中,複製專用 IP 位址 (例如 10.0.0.155),然後傳回終端機視窗。
-
-
執行
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>
檔案中,讓配置在重新開機後保持不變。 -
執行
cat
指令以檢視ens5
配置檔案。cat /etc/sysconfig/network-scripts/ifcfg-ens5
-
執行
nmcli conn show
命令來檢視更新的連線清單。nmcli conn show
此指令顯示為
ens5
建立的新連線設定檔。NetworkManager 允許使用nmcli
指令的縮寫。 -
執行
nmcli conn up ens5
指令,讓裝置上線。nmcli conn up ens5
-
輸入
nmcli d status
以驗證連線,其中d
是裝置指令的縮寫。nmcli d status
此指令以
connected
狀態顯示ens5
。 -
執行
ping -c 3 -I ens5
命令,然後執行先前使用的 IP 位址,例如10.0.0.155
ping -c 3 -I ens5 <PRIVATE_IP_ADDRESS_OF_COMPUTE_INSTANCE
-c
只會傳送三個封包,然後-I
參數可確保封包在ens5
介面上移出。 -
執行
nmcli connection show id ens5
指令,並將輸出導向grep interconnect
nmcli connection show id ens5 | grep autoconnect
輸出顯示
autoconnect
參數設為yes
。
-
執行 ip 連結物件命令
您可以使用 ip
公用程式來設定網路介面。您必須具備更高的權限,才能使用 ip
公用程式。請務必注意,使用 ip
指令進行的任何網路變更不會在系統重新啟動時持續有效。
在以下任務中,請繼續使用裝置 ens5
。
在此練習中,您可以使用 ip link utility
來新增、編輯及刪除連結。
-
執行不含任何選項或引數的
ip
指令。ip
注意:各種可用的選項。如需所有選項的說明,請參閱
ip (8)
線上手冊。 -
執行
ip link
物件指令。您可以使用ip link
物件指令來顯示和設定網路裝置。-
執行
ip link help
命令以顯示六個可用的物件命令。ip link help
指令包括
add
、delete
、set
、show
、xstats
、afstats
、help
。 -
執行
ip link show
指令以識別現有的網路裝置。ip link show
show
指令是ip link
物件的預設值,因此不需要。輸出可識別三個網路裝置,即兩個乙太網路裝置 (ens3
和ens5
)。另外還有一個回送裝置 (lo
)。輸出會列出與nmcli device status
在前一次練習中相同的裝置。 -
執行
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
- 使用實體裝置
-
重新執行
ip link
以列出新裝置。虛擬連結
ens5.10@ens5
會出現在清單中。 -
執行
ip link set
命令,將 MTU 裝置屬性變更為1400
。ip link set ens5.10 mtu 1400
-
執行
ip link delete
指令來刪除ens5.10
裝置。ip link delete ens5.10
- 請重新執行
ip link
以列出驗證虛擬裝置已不存在。
- 請重新執行
-
執行 ip 位址物件指令
ip addr
指令可顯示及管理網路裝置上的 IP 位址。
-
執行
ip addr help
命令以顯示可用的物件命令。可用的指令部分清單包括
add
、change
、replace
、del
、show
和save
。如需ip addr
指令的完整清單,請參閱ip-address(8)
線上手冊。 -
執行
ip addr show
指令以識別現有的網路裝置。ip addr
show
指令也是ip addr
的預設值。它會顯示與ip link
相同的資訊,但是包含 IP 位址。 -
執行
ip addr add
指令,將第二個 IP 位址新增至ens5
。ip addr add 10.1.1.1/24 dev ens5
-
執行
ip addr show
指令以顯示ens5
裝置。將裝置指定為引數時,必須使用show
指令。ip addr show ens5
裝置目前有兩個 IP 位址。
-
執行
ip addr del
指令,從ens5
刪除 IP 位址。ip addr del 10.1.1.1/24 dev ens5
-
再次執行
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 提供的影片示範也可能是很有用的。
其他學習資源
探索 docs.oracle.com/learn 上的其他實驗室,或是存取更多免費學習內容至 Oracle Learning YouTube 通道。此外,瀏覽 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請瀏覽 Oracle Help Center。
Work with nmcli and ip on Oracle Linux 8
F48262-02
February 2022
Copyright © 2021, Oracle and/or its affiliates.