nmcli

  1. 圖形化配置:nmcli-connection-edit
  2. 查看所有的網路連接(包含active & not active:nmcli connection

提示:1.同nmcli connection show;2.可以使用tab補全;3.可以簡寫為nmcli con

[root@localhost ~]# nmcli connection

NAME   UUID                                 TYPE      DEVICE 

ens160 a425114c-84b4-43cf-8809-5b0e3b1bbaa6 ethernet  ens160  #前面ens160是ifconfig作業系統顯示的名稱,後面ens160是主機網卡設備的名稱,可以不一樣,但通常都設一樣好管理。只有前面沒有後面表示沒有網卡設備。

  1. 查看active的網路連接:nmcli connection show --active

[root@localhost ~]# nmcli connection show --active

NAME   UUID                                  TYPE      DEVICE 

ens160 a425114c-84b4-43cf-8809-5b0e3b1bbaa6 ethernet  ens160

  1. 查看網路連接狀態:nmcli general status

[root@localhost ~]# nmcli general status 

STATE      CONNECTIVITY  WIFI-HW WIFI     WWAN-HW  WWAN   

connected  full          enabled enabled  enabled  enabled

  1. 斷開網路連接:nmcli connection down <device>
  2. 啟動網路連接:nmcli connection up <device>
  3. 刪除網路連接:nmcli connection delete <device>

提示:配置文件會一併刪除,而執行ifconfig仍會看到作業系統的網路名稱。

  1. 查看網路設備連接狀態:nmcli device status

[root@localhost ~]# nmcli device status

DEVICE TYPE      STATE      CONNECTION  #前面顯示的是設備名稱

ens160 ethernet  connected  ens160   

lo     loopback  unmanaged  --  #lo沒有連接的網卡設備,所以不能對外連線

  1. 以網路設備斷開連接:nmcli device disconnect <device>

[root@localhost ~]# nmcli device disconnect ens160

Device 'ens160' successfully disconnected.

[root@localhost ~]# nmcli device status

DEVICE TYPE      STATE          CONNECTION

ens160 ethernet  disconnected   --

lo     loopback  unmanaged      --

  1. 以網路設備啟動連接

[root@localhost ~]# nmcli device connect ens160

Device 'ens160' successfully activated with 'a425114c-84b4-43cf-8809-5b0e3b1bbaa6'

[root@localhost ~]# nmcli device status

DEVICE TYPE      STATE      CONNECTION 

ens160 ethernet  connected  ens160     

lo     loopback  unmanaged  -- 

[root@localhost ~]# nmcli connection show --active   

NAME   UUID                                 TYPE      DEVICE 

ens160 a425114c-84b4-43cf-8809-5b0e3b1bbaa6  ethernet ens160

  1. 查看網路連接的屬性:nmcli connection show <device>

[root@localhost ~]# nmcli connection show ens160

connection.id:                          ens160

connection.uuid:                       a425114c-84b4-43cf-8809-5b0e3b1bbaa6

connection.stable-id:                   --

connection.type:                        802-3-ethernet

connection.interface-name:              ens160

connection.autoconnect:                 yes

...

  1. 修改網路連接的屬性:nmcli connection modify <屬性全名> <修改後的屬性值>

提示:使用命令修改後,其配置文件會同步。

例1:修改connection.id屬性

  1. 先查看網路連接的屬性

[root@localhost ~]# nmcli connection show ens160

connection.id:                          ens160  #修改這一個屬性,屬性全名是connection.id

connection.uuid:                        a425114c-84b4-43cf-8809-5b0e3b1bbaa6

...

  1. 修改屬性

[root@localhost ~]# nmcli connection modify connection.id 'eth0'           

[root@localhost ~]# nmcli connection show

NAME UUID                                 TYPE      DEVICE 

eth0 a425114c-84b4-43cf-8809-5b0e3b1bbaa6 ethernet  ens160

  1. 查看配置文件會發現NAME的值變成eth0

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens160

...

NAME=eth0

...

例2:修改802-3-ethernet.mtu屬性

  1. 先查看網路連接的屬性

[root@localhost ~]# nmcli connection show ens160

...

802-3-ethernet.mtu:                     auto  #修改這一個屬性,屬性全名是802-3-ethernet.mtu

...

  1. 修改屬性

[root@localhost ~]# nmcli connection modify ens160 802-3-ethernet.mtu 1500

[root@localhost ~]# nmcli connection show ens160

...

802-3-ethernet.mtu:                     1500

...

  1. 查看配置文件會發現最後多一行'MTU=1500'

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens160

...

MTU=1500

  1. 修改網路IP

提示:使用命令修改後,其配置文件會同步。

如果現有網路是自動取得,則先修改ipv4.addresses屬性,再將ipv4.method屬性改為manual,如果順序相反則會顯示手動設定IP不能為空

[root@localhost ~]# nmcli connection show ens160

...

ipv4.method:                            auto

...

[root@localhost ~]# nmcli connection modify ens160 ipv4.addresses '192.168.0.100' ipv4.gateway '192.168.0.1'

[root@localhost ~]# nmcli connection modify ens160 ipv4.method 'manual'