命令目錄
nmcli
nmcli官方文件
nmcli是redhat提供的預設命令列網路管理工具,它透過一個connection(連線)去管理網路裝置
每一個網路裝置可以與一個啟用的連線保持連線狀態
[root@localhost ~]# nmcli -h
Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }
# nmcli 選項(OPTIONS) 物件(OBJECT) 命令(COMMAND)|幫助(help)
OPTIONS
-a, --ask ask for missing parameters
-c, --colors auto|yes|no whether to use colors in output
-e, --escape yes|no escape columns separators in values
-f, --fields <field,...>|all|common specify fields to output
-g, --get-values <field,...>|all|common shortcut for -m tabular -t -f
-h, --help print this help
-m, --mode tabular|multiline output mode
-o, --overview overview mode
-p, --pretty pretty output
-s, --show-secrets allow displaying passwords
-t, --terse terse output
-v, --version show program version
-w, --wait <seconds> set timeout waiting for finishing operations
OBJECT(物件可選值)
g[eneral] NetworkManager's general status and operations
n[etworking] overall networking control 網路
r[adio] NetworkManager radio switches
c[onnection] NetworkManager's connections 連線
d[evice] devices managed by NetworkManager 裝置
a[gent] NetworkManager secret agent or polkit agent
m[onitor] monitor NetworkManager changes
## 檢視連線(connection)的使用文件
[root@localhost ~]# nmcli c -h
Usage: nmcli connection { COMMAND | help }
COMMAND := { show | up | down | add | modify | clone | edit | delete | monitor | reload | load | import | export }
show [--active] [--order <order spec>]
up [[id | uuid | path] <ID>] [ifname <ifname>] [ap <BSSID>] [passwd-file <file with passwords>]
add COMMON_OPTIONS TYPE_SPECIFIC_OPTIONS SLAVE_OPTIONS IP_OPTIONS [-- ([+|-]<setting>.<property> <value>)+]
modify [--temporary] [id | uuid | path] <ID> ([+|-]<setting>.<property> <value>)+
edit [type <new_con_type>] [con-name <new_con_name>]
delete [id | uuid | path] <ID>
# 設定靜態IP地址
nmcli con modify ens33 ipv4.method static ipv4.address 10.191.9.16/24 ipv4.gateway 10.191.9.2 && \
nmcli con up ens33 && \
systemctl restart network
# 檢視所有的連線和對應的裝置
[root@localhost ~]# nmcli con show
NAME UUID TYPE DEVICE
ens33 9a456cb0-bacc-421d-a1af-33a055757088 ethernet ens33
en-con cb3532bc-c5f2-4bd4-b06a-ef49dd8611ea ethernet --
[root@localhost ~]# nmcli de status
DEVICE TYPE STATE CONNECTION
ens33 ethernet 已連線 ens33
lo loopback 未託管 --
# 向裝置 ens33 新增一個新的連線(en-con)
[root@localhost ~]# nmcli connection add type ethernet con-name en-con ifname ens33
連線 "en-con" (1ef68bf6-c273-4d23-9f09-7b3041db179f) 已成功新增。
# 新增的連線需要啟用,然後才可以透過這個連線設定這個裝置的網路配置
[root@localhost ~]# nmcli connection up en-con
連線已成功啟用(D-Bus 活動路徑:/org/freedesktop/NetworkManager/ActiveConnection/4)
# 修改連線對應裝置的 ipv4 地址
nmcli con modify ens33 ipv4.addresses 10.191.9.11/24
# 所有的修改都要啟用才會生效
nmcli con up ens33
# 修改主機名稱
nmcli g h localhost.k8s.18
# 修改dns
nmcli c modify ens33 ipv4.dns 114.114.114.114,8.8.8.8
nmcli c up ens33