nmcli文件

菜阿發表於2024-11-04

命令目錄

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

相關文章