NetworkManager 基础知识

nmcli

显示通用状态:

~# nmcli general status
STATE   CONNECTIVITY  WIFI-HW  WIFI    WWAN-HW  WWAN
已连接  完全          已启用   已启用  已启用   已启用

显示设备列表:

~$ nmcli device
DEVICE       TYPE      STATE   CONNECTION       
wlan0        wifi      已连接  Redmi_ZL_42AD_5G 
eth0         ethernet  不可用  --               
eth1         ethernet  不可用  --               
lo           loopback  未托管  --               
vpn_xxxxxxx  tun       未托管  --

显示设备的指定 field:

~# nmcli -t -f DEVICE,TYPE device
enaphyt4i0:ethernet
virbr0:bridge
enaphyt4i1:ethernet
lo:loopback
virbr0-nic:tun

显示连接列表:

$ nmcli connection show --active
NAME              UUID                                  TYPE      DEVICE 
Redmi_ZL_42AD_5G  4c7040f1-37f4-4d0f-b37e-dd41f1054ec3  wifi      wlan0  
有线连接 1        27927097-b42b-3f50-87d5-fe324a8ca40c  ethernet  --     
有线连接 2        7e9b4125-a6d3-3d34-aba1-12f979f46433  ethernet  --

显示连接的指定值:

~# nmcli -g GENERAL.DEVICES connection show XXX

启动连接:

~# nmcli con up id XXX

断开设备:

~# nmcli dev disconnect ens3

添加连接,默认自动获取地址:

~# nmcli connection add type ethernet con-name XXX ifname enaphyt4i1

修改连接,例如改为静态地址:

~# nmcli connection modify YYY ifname enaphyt4i0 ipv4.method manual ip4 192.168.1.253/24 gw4 192.168.1.1

配置负载平衡

创建负载平衡:

~# nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=balance-alb,miimon=100"

配置子网卡:

~# nmcli connection modify 7d3f0674-da01-3e64-b596-9e106e4d3d90 ifname enaphyt4i0 master bond0
~# nmcli connection add type ethernet slave-type bond con-name enaphyt4i1 ifname enaphyt4i1 master bond0

修改负载平衡参数:

~# nmcli dev mod bond0 +bond.options "primary=ens3"

移除子网卡:

~# nmcli connection modify ens1f0 connection.slave-type '' connection.master ''