暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

基于ctyunos的nmcli网络管理工具

IT那活儿 2023-04-11
2143

点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!




nmcli简介



nmcli是NetworkManager的一个命令行工具,它提供了使用命令行配置由NetworkManager管理网络连接的方法。

主要管理的对象:

  • connection(连接 )
  • device(设备--主要是指网卡)

在NetworkManager里,主要有2个维度:连接(connection)和设备(device),想给某个网卡配ip,首先NetworkManager要能纳管这个网卡。可以为一个网卡配置多个连接,每个连接可以理解为一个ifcfg配置文件。同一时刻,一个网卡只能有一个连接活跃。




nmcli connection 连接管理



1. nmcli connection主要有两个状态
  • 活跃(绿色
  • 非活跃(白色
2. 常用命令
1)add: 增加连接

基本参数:

  • type: 网络类型
  • con-name: 连接的名称
  • ifname: 网卡名称(连接是建立在网卡之上的)
  • 连接的配置:ipv4的地址、网关、Dns 静态ip或者动态ip、是否自动连接
示例1,创建静态连接
nmcli connection add type ethernet con-name net-test 
ifname ens33 ipv4.addresses 192.168.20.142/24 
ipv4.gateway 192.168.20.254 ipv4.dns
114.114.114.114,223.5.5.5 ipv4.method manual
autoconnect yes

示例2,创建动态连接
nmcli connection add type ethernet con-name net-test2 
ifname ens33 ipv4.method auto

注:

  • #参数connection.autoconnect默认设定为yes。
  • #连接创建成功后会自动创建配置文件保存在“/etc/sysconfig/network-scripts/ifcfg-net-test”文件中。
  • #直接修改配置文件不会直接修改连接配置,需要重载配置文件,或重启连接。
  • #创建完成的连接还无法使用,需生效连接,并且一个网卡同一时间只能有一个活跃的连接。
2)show: 展示连接详细信息
nmcli c show ens33(con-name)
3)delete:删除连接
nmcli c delete net-test2
4)load: 加载配置文件,reload: 重新加载配置文件
编辑配置文件ifcfg-net-test2添加内容
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=net-test2
UUID=90e65318-0337-484b-b75a-df58f25264cf
DEVICE=ens33
ONBOOT=yes

nmcli c load /etc/sysconfig/network-scripts/ifcfg-net-test2


nmcli c reload etc/sysconfig/network-scripts/ifcfg-net-test2

#当连接不存在时reload不会新建连接。

5)clone: 复制
nmcli clone net-test net-test3
克隆一个存在的连接,除了连接名称和uuid是新生成的,其他都和原连接一致。
6)up:生效连接
nmcli c up net-test
新连接生效后,相同网卡下的原连接失效
7)down: 失效连接
nmcli c down net-test3
#当无连接生效时,网卡状态变为disconnect。
8)modify: 修改
nmcli c modify ens33 +ipv4.addresses 
192.168.20.142/24,192.168.20.143/24

修改、添加或删除属性,若要设置属性,只需指定属性名称后跟值,空值将删除属性值,同一属性添加多个值使用+。同一属性删除指定值用-。

#修改后不会立即生效,需要执行nmcli c up ens33命令后才会生效。




nmcli device 网卡管理



1. device的四种状态
  • connected:已被Networkmanager纳管,并且当前有活跃的connection。
  • disconnected:已被Networkmanager纳管,但是当前没有活跃的connection。
  • unmanaged:未被Networkmanager纳管。
  • unavailable:不可用,Networkmanager无法纳管,通常出现于网卡link为down的时候(比如ip link set ethX down)。
2. 常用命令
1)show: 显示所有网卡设备的详细信息
nmcli d show ens33
#网卡IP为该网卡活跃连接的IP配置。
2)set:设置设备属性
nmcli d set ifname ens33 autoconnect yes
3)connect:连接设备(connection)
提供一个设备接口,网络管理器将尝试找到一个合适的连接, 将被激活。
nmcli d connect ens33
4)disconnect:断开当前连接的设备(disconnect),防止自动连接
nmcli d disconnect ens33
#停用网卡时可使用该命令,使用关闭连接如果网卡设置了自动连接会自动使其他连接生效
5)modify:修改设备上处于活动的连接
但该修改只是临时的,并不会写入文件,重新生效连接或跟换连接后配置将会还原。
nmcli d modify ens33 +ipv4.addresses 
192.168.20.142/24,192.168.20.143/24

6)delete:删除网卡设备,该命令从系统中删除接口。
nmcli d delete virbr0
#请注意, 这仅适用于诸如bonds, bridges, teams等软件设备。命令无法删除硬件设备 (如以太网)。

END


本文作者:刘 能(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论