【网络】nmcli 网络管理工具

2023-11-09

目录

nmcli 命令

前提

重启网络服务 / 重启网卡

实例

nmcli输出说明

3种网络配置方法

nmcli的命令参数

Tips

ethtool 命令

IP命令

添加网卡到配置文件

Linux系统怎么查看网卡的UUID


nmcli 命令

原文:nmcli 网络管理工具 - web男 - 博客园

前提

使用 nmcli 时,NetworkManager 必须保持开启。

NetworkManager 的相关命令:

查看运行状态:systemctl status NetworkManager
启动:systemctl start NetworkManager
重启:systemctl restart NetworkManager
关闭:systemctl stop NetworkManager
查看是否开机启动:systemctl is-enabled NetworkManager
开机启动:systemctl enable NetworkManager
禁止开机启动:systemctl disable NetworkManager
 

(NetworkManager和network.service的区别:

network是linux直接配置网卡的程序

NetworkManager是提供一个丰富的API来检查和控制网络设置和操作的应用程序

network和NetworkManager一起工作时就会出现冲突

网卡解决network和NetworkManager的冲突问题_BiGpeng丶的博客-CSDN博客

centos8之后默认就是用NetworkManager管理网络,centos9之后就彻底抛弃network。

NetworkManage于network功能类似,都是用于管理网络。NetworkManage提供了nmctl、nmtui两个工具,两个都是用来管理网络,但是有一个前提:nmctl networking 状态必须是enable否则设备状态为unmanaged,这会导致network启动不了!!)

重启网络服务 / 重启网卡

#重启⽹卡之前⼀定要重新载⼊⼀下配置⽂件,不然不能⽴即⽣效

nmcli c reload  

#重启⽹卡(下⾯的三条命令都可以)

nmcli c up ens160                 #nmcli c reload会读取配置文件,但是不会立即生效,接着如果执行nmcli c up ethX,就会立即生效
nmcli d reapply ens160         #更新设备信息,只有在设备处于连接状态,才可以更新设备。更新设备相当于重启连接。
nmcli d connect ens160        #连接设备,如果 ens33 本来就出于连接状态,那此命令会重启 ens160。

01 nmcli networking

nmcli networking或nmcli n        显示 NetworkManager 是否接管网络设置
nmcli n on                      设定 NetworkManager 接管网络设置
nmcli n off                     取消 NetworkManager 接管网络设置
nmcli n connectivity/nmcli n c  查看网络连接状态
网络连接状态共有五种:full、limited(连网,但无法上网)、portal(连网,但需要认证登录后才能上网)、none(没连网)和 unknown。


02 nmcli general

nmcli general status/nmcli g    显示系统网络状态
其中:
STATE 显示网络是否连接;
CONNECTIVITY 与前面介绍的 nmcli networking connectivity 相同;
WIFI-HW 表示 WIFI 硬件开关、WIFI 表示 WIFI 软件开关;
WWAN-HW 表示 WWAN 硬件开关、WWAN 表示 WWAN 软件开关。
HW 代表 HardWare,WWAN 代表 Wireless Wide Area Network。


03 nmcli connection

nmcli connection show/nmcli c         显示所有网络连接的信息
nmcli c s -a  /nmcli c s --active         显示所有网络连接的信息,只显示当前启动的连接
nmcli c s ens33                                 显示某一特定连接的详细信息(以 ens33 为例)
nmcli c up ens33                               启动指定连接
nmcli c down ens33                          关闭指定连接


nmcli c reload / nmcli c r                      重载所有连接的配置文件
nmcli c load ifcfg-ens33/nmcli c l ifcfg-ens33  重载某一指定连接的配置文件:
网络配置文件默认保存在 /etc/sysconfig/network-scripts/ 路径下,如果配置文件在其它位置,则需要填写完整路径。

(多个connection可以应用到同一个device,但同一时间只能启用其中一个connection。这样的好处是针对一个网络接口,我们可以设置多个网络链接文件,比如静态IP和动态IP,再根据需要up相应connection,这样可以方便的切换网络配置,比如笔记本电脑移动办公,到不同的环境同一个网卡可以切换到不同的网络配置,配置好以后不需要每次都从新配置。)


04 nmcli device
nmcli device status / nmcli d    显示所有网络接口设备的状态,列出所有可用的设备

nmcli d show / nmcli d sh        显示所有设备的详细信息# show不可简写为s,与 status 冲突,但可写为 sh
nmcli d sh ens33                      显示某一特定设备的详细信息

nmcli d connect ens33或nmcli d c ens33       连接设备,如果 ens33 本来就出于连接状态,那此命令会重启 ens33。
nmcli d disconnect ens33 或 nmcli d d ens33  断开设备

nmcli d reapply ens33 / nmcli d r ens33      更新设备信息,只有在设备处于连接状态,才可以更新设备。更新设备相当于重启连接。 

更多命令:Linux中nmcli命令详解_https://blog.csdn.net/yulin003/article/details/125561203

命令

目的

nmcli dev status/nmcli d status 显示所有网络接口的网络管理器状态
nmcli con show/nmcli c show 列出所有连接
nmcli con show [connect_name]/nmcli c show [connect_name] 列出连接名称的当前设置nmcli con show ens21f0
nmcli con reload/nmcli c reload 告诉networkManager重新读取配置文件(在手工编辑之后有用)
nmcli con up [connect_name]/nmcli c up [connect_name]/ 激活连接名称
nmcli dev dis [dev_name] 停用并断开网络接口开发人员上的当前连接
nmcli con del [connect_name] 删除连接名称及其配置文件

设备,是网络设备的接口,可理解为实际存在的网卡(包括物理网卡和虚拟网卡)。可以简写为nmcli d
在NM里,有2个维度:连接(connection)和设备(device),这是多对一的关系。想给某个网卡配ip,首先NM要能纳管这个网卡。设备里存在的网卡(即 nmcli d可以看到的),就是NM纳管的。接着,可以为一个设备配置多个连接(即 nmcli c可以看到的),每个连接可以理解为一个ifcfg配置文件。同一时刻,一个设备只能有一个连接活跃。可以通过 nmcli c up切换连接。

原文链接:https://blog.csdn.net/qq_50573146/article/details/126797116

4、device有4种常见状态:
▷ connected:已被NM纳管,并且当前有活跃的connection
▷ disconnected:已被NM纳管,但是当前没有活跃的connection
▷ unmanaged:未被NM纳管
▷ unavailable:不可用,NM无法纳管,通常出现于网卡link为down的时候(比如ip link set ethX down)

原文链接:https://blog.csdn.net/qq_50573146/article/details/126797116

[root@node71 ~]# nmcli dev status

DEVICE        TYPE      STATE                   CONNECTION
ens35f0       ethernet  connected               ens35f0
cni-podman0   bridge    connected (externally)  cni-podman0
virbr0        bridge    connected (externally)  virbr0
ens35f1       ethernet  disconnected            --
ens49f0       ethernet  disconnected            --
ens49f1       ethernet  disconnected            --
veth69fa1863  ethernet  unmanaged               --
veth7021e951  ethernet  unmanaged               --
veth81e4dd60  ethernet  unmanaged               --
vetha529eed5  ethernet  unmanaged               --
lo            loopback  unmanaged               --
virbr0-nic    tun       unmanaged               --

实例

查看网卡信息

nmcli

查看网络设备状态

nmcli device status

查看网络连接状态

nmcli connection 

查看UUID等网卡信息

nmcli connection show 

查看网络详细信息

nmcli device show ens32

设置静态ip

nmcli connection modify ens32 ipv4.addresses '192.168.1.10'

设置网关

nmcli connection modify ens32 ipv4.gateway '192.168.1.1'

设置DNS

nmcli connection modifly ens32 ipv4.dns '144.144.144.144'

ip地址设为手动

nmcli connection modify ens32 ipv4.method manual

ip地址设为自动获取

nmcli connection modify ens32 ipv4.method auto

设置开机自动连接 

nmcli connection modify ens32 connection.autoconnect yes

nmcli connection modify ens32 connection.autoconnect no

重新加载配置文件

nmcli connection reload

不重启系统网卡生效

nmcli connection up ens32

nmcli device connect ens32

nmcli device reapply ens32

查看DNS

cat /etc/resolv.conf

nmcli输出说明

nmcli connection说明

[root@master ~]# nmcli c show						显示所有活动链接
名称    UUID                                  类型            设备   
ens33   51a4ba6c-0635-400b-a1c6-f9e87d55c303  802-3-ethernet  ens33        # 这是当前激活的连接带颜色字体,只是文章里体现不出来
virbr0  0d2e6f20-0044-49f9-80ec-cbe19c31df42  bridge          virbr0 
10.97.17.90      93e8cf06-bd0b-4b69-b802-f3c8c602e000    ethernet     # “--”表示当前没有激活的连接

每一行是一个连接,只是只有一个是激活状态
第一列是connection名字(连接名称)简称con-name,简称con-name(注意con-name不是网卡名)
第二列是connection的UUID
第三列是connection的网络类型
最后一列才是网卡名(标准说法叫device名),可通过nmcil d查看device
对connection做操作时需要指定标识,标识可以是con-name、UUID、如果存在ifcfg文件则也可以用ifcfg的完整路径,即/etc/sysconfig/network-scripts/ifcfg-ethX,如下示例:

nmcli c show ethX
nmcli c show cae3f1ef-e79a-46c3-8e0c-946b91a65e11
nmcli c show /etc/sysconfig/network-scripts/ifcfg-ethX
 

1、nmcli connection名字(连接名称)
同时对应ifcfg的文件名以及内容中的NAME=,该参数表示连接(connection)的名字,无需和网卡名相同,可以为一个设备(device)创建多个连接,但同一时刻只能有一个连接生效。当有多个连接时候,可以通过nmcli c delete删除当前连接,就会自动选择同一个设备的其他连接来顶替生效。可以通过nmcli c up来将指定连接切换生效。
注意:通过nmcli c modify修改连接名称,只会对应修改ifcfg文件中的NAME,而不会更改ifcfg文件名。
2、nmcli c的ipv4.method
对应ifcfg文件内容的BOOTPROTO,ipv4.method默认为auto,对应为BOOTPROTO=dhcp,这种时候如果指定ip,就可能导致网卡同时有dhcp分配的ip和静态ip。设置为manual表示BOOTPROTO=none,即只有静态ip。
 

nmcli device说明

[root@master ~]# nmcli d status               #查看设备接口简略信息
设备        类型      状态    CONNECTION 
virbr0      bridge    连接的  virbr0     
ens33       ethernet  连接的  ens33      
lo          loopback  未管理  --         
virbr0-nic  tun       未管理  --  
 

每一行表示一个网络设备的接口。
第一列表示设备接口的名称,第二列表示设备接口的类型,第三列表示设备接口状态,最后一列表示connection的名字,“–”表示设备为使用!

1、nmcli d connect ethX
由NM对指定网卡进行管理,同时刷新该网卡对应的活跃connection(如果之前有修改过connection配置);如果有connection但是都处于非活跃状态,则自动选择一个connection并将其活跃;如果没有connection,则自动生成一个并将其活跃。
2、nmcli d disconnect ethX
让NM暂时不管理指定网卡,此操作不会变更实际网卡的link状态,只会使对应的connection变成非活跃。若重启系统则又会自动connect。另外,如果手工将该网卡的connection全部删掉,该网卡状态也会自动变为disconnected。
3、nmcli d reapply ethX
专门用于刷新connection,前提是网卡的device处于connected状态,否则会报错。
4、nmcli d set ethX autoconnect yes|no managed yes|no
可以设置是否自动连接和是否自动管理,但经测试只能用于当前开机状态, 如果这2个参数都设置为no,然后重启系统,又会自动恢复成connected和managed yes的状态。所以该命令用途不大。注意事项:如果managed设置为no,那么nmcli c reload会读取配置文件,但是不会立即生效,接着如果执行nmcli c up ethX,就会立即生效,同时managed自动变为yes。
重启系统自动恢复成connected和managed yes的状态,这种逻辑并不实用也不够合理,牛人已将此问题提交给redhat,据回复,这么设计是因为目前没有一个有效的手段来证明“我是我”,比如当网卡重新拔插到其他插槽时候,网卡名有很大可能性会发生变化,因此无法确定关机前设置的是对应开机后的哪个网卡,目前暂无办法解决,笔者将持续跟进。

 

3种网络配置方法


在讲3种配置方法前,需要先明白ifcfg和NM connection的关联:虽然network.service被废弃了,但是redhat为了兼容传统的ifcfg,通过NM进行网络配置时候,会自动将connection同步到ifcfg配置文件中。也可以通过nmcli c reload或者nmcli c load /etc/sysconfig/network-scripts/ifcfg-ethX的方式来让NM读取ifcfg配置文件到connection中。因此ifcfg和connection是一对一的关系,另外上面有提到,connection和device是多对一的关系。

手工配置ifcfg,通过NM来生效
通过NM自带工具配ip,比如nmcli
手工配置ifcfg,通过传统network.service来生效
建议:
推荐使用上述第1种网络配置方法(手工配置ifcfg,通过NM生效),因为这样既兼容了传统的ifcfg配置,又能熟悉nmcli。

原文链接:https://blog.csdn.net/qq_50573146/article/details/126797116

插曲

prefix 子网掩码

255.255.255.0用二进制表示为11111111.11111111.11111111.00000000,  24个1。所以说网络位是24位。PREFIX=24
255.255.255.192用二进制表示为11111111.11111111.11111111.11000000,  26个1。所以说网络位是26位。PREFIX=26
255.255.255.128用二进制表示为11111111.11111111.11111111.10000000,  26个1。所以说网络位是25位。PREFIX=25
255.255.255.224用二进制表示为11111111.11111111.11111111.11100000,  27个1。所以说网络位是27位。PREFIX=27
255.255.255.240用二进制表示为11111111.11111111.11111111.11110000,  28个1。所以说网络位是28位。PREFIX=28
255.255.255.248用二进制表示为11111111.11111111.11111111.11111000,  29个1。所以说网络位是29位。PREFIX=29

笔者配置文件中最后有一行 prefix = 32 ,无论如何设置子网掩码netlmask 都是255.255.255.255,删除后才恢复

用ip addr 查看更快:

16: eth1: <> mtu 1400 group default qlen 1
    link/ether 00:ff:8e:e9:b9:b6
    inet 10.32.208.248/24 brd 10.32.208.255 scope global dynamic<---prefix=24
       valid_lft forever preferred_lft forever
21: eth2: <BROADCAST,MULTICAST,UP> mtu 1500 group default qlen 1
    link/ether 00:50:56:c0:00:01
    inet 192.168.199.1/24 brd 192.168.199.255 scope global dynamic<---prefix=24
       valid_lft 1771sec preferred_lft 1771sec
    

nmcli的命令参数


[root@localhost ~]# nmcli --help
Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }

OPTIONS
  -t[erse]                                   terse output
  -p[retty]                                  pretty output
  -m[ode] tabular|multiline                  output mode
  -f[ields] <field1,field2,...>|all|common   specify fields to output
  -e[scape] yes|no                           escape columns separators in values
  -n[ocheck]                                 don't check nmcli and NetworkManager versions
  -a[sk]                                     ask for missing parameters
  -w[ait] <seconds>                          set timeout waiting for finishing operations
  -v[ersion]                                 show program version
  -h[elp]                                    print this help

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

Tips

  • nmcli命令支持tab补全,但是需要yum install bash-completion
  • 如果希望NM不要纳管网卡,只有一个办法最彻底最靠谱,就是自己写ifcfg,内容加上NM_CONTROLLED=no,这样该device的状态就会始终保持unmanaged(非托管的)。nmcli c up、nmcli c reload、nmcil c load都不会对其起任何作用。
  • NM只能对link状态为up的网卡进行操作,如果手动ip link set ethX down,那么NM就无法对该网卡做任何操作(即使nmcli d connect也没有用)。
  • 对于RHEL8,可以通过yum install network-scripts来安装传统的network.service,不过redhat说了,在下一个rhel的大版本里将彻底废除,因此不建议使用network.service。
  • 手工创建新的ifcfg或者在ifcfg里修改ip等配置,NM不会自动读取,需要手工执行nmcli c reload或者nmcli c load /etc/sysconfig/network-scripts/ifcfg-ethX。这一点可能和其他系统的NM行为不太一样,但这种做法实则更适合服务器。
  • 不手工配置ifcfg,使用默认的dhcp情况下,网卡的增减是不会自动生成ifcfg,此时nmcli c看到的con-name将类似’System ethX’或者’Wired connection 1’。
  • NetworkManager支持3种获取dhcp的方式:dhclient、dhcpcd、internal,当/etc/NetworkManager/NetworkManager.conf配置文件中的[main]部分没配置dhcp=时候,默认使用internal(rhel7/centos7默认是dhclient)。internal是NM内部实现的dhcp客户端。
  • 关于手动指定网关ip的方法,经过实测,/etc/sysconfig/network中的GATEWAY仅在3种情况下有效:NM_CONTROLLED=no或ipv4.method manual或从ipv4.method manual第一次转到ipv4.method auto时候。建议:当NM_CONTROLLED=no时,将网关写在/etc/sysconfig/network(GATEWAY);当使用NM时候,使用nmcli c命令配置网关(比如nmcli c modify ethX ipv4.gateway 192.168.1.1)。
  • NM默认会从dhcp里获取dns信息,并修改/etc/resolv.conf,如果不想让NM管理/etc/resolv.conf,则只需在/etc/NetworkManager/NetworkManager.conf里的[main]里增加dns=none即可。
  • 如果想让NM不要自动管理新网卡(比如不要给新网卡获取ip地址),则只需在/etc/NetworkManager/NetworkManager.conf里的[main]里增加no-auto-default=*即可,改完后通过systemctl restart NetworkManager或者重启系统来生效。除了手工在NetworkManager.conf里加配置,也可以yum install NetworkManager-config-server,这会生成/usr/lib/NetworkManager/conf.d/00-server.conf,建议使用前者方案,因为后者的ingore-carrier是不被推荐的参数
     

摘自:Linux nmcli控制NetworkManager的命令行工具_https://blog.csdn.net/qq_50573146/article/details/126797116

ethtool 命令

见:《【ethtool】ethtool 网卡诊断、调整工具、网卡性能优化| 解决丢包严重》http://t.csdn.cn/mJ4xc

IP命令

ip 命令的功能很丰富,基本上它整合了 ifconfig 与 route 这两个命令,ip命令格式如下:

 ip  [option]  [动作]  [命令]

参数:

[option] :设定的参数,主要有:

     -s :显示出该设备的统计数据(statistics),例如总接受封包数等;

[动作]:就是是可以针对哪些网络参数进行动作,包括有:

       link :关于设备 (device) 的相关设定,包括 MTU, MAC 地址等等

       addr/address :关于额外的 IP 设定,例如多 IP 的实现等等;

       route :与路由有关的相关设定 
 

关于设备 (device) 的相关设定,包括 MTU, MAC 地址等等

ip link  show

linux-oycygI:~ # ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master ovs-system state UP mode DEFAULT qlen 1000
    link/ether 68:8f:84:ee:c7:a4 brd ff:ff:ff:ff:ff:ff

启动、关闭网卡以及设定网卡设备的相关信息

ip link set eth0 up

ip link set eth0 down

ip link set eth0 address

ip link set eth0 broadcast

ip link set eth0 alias

ip link set eth0 name

ip link set eth0 mtu 1000
 

添加、删除、设定网卡地址,以及设定网卡设备的相关信息

ip addr add 192.168.1.1/24 dev eth0

ip addr del 192.168.1.1/24 dev eth0

ip route add default via 192.168.1.1 dev eth0

ip route add 192.168.1.0/24 via 192.168.1.1

ip route delete 192.168.1.0/24 via 192.168.1.1

ip route replace 192.168.1.0/24 dev eth0
 

添加网卡到配置文件



添加网卡到配置文件,并且命名为eth1


[root@localhost ~]# nmcli connection add ifname eno33554992 con-name eth1 type ethernet 


Connection 'eth1' (5f1fde10-d2a2-4ea5-8213-7cdb53bb59bf) successfully added.


[root@localhost ~]# ip a


1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state 
UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 
pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:4d:bb:53 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.10/24 brd 192.168.10.255 scope global 
eno16777736
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe4d:bb53/64 scope link 
       valid_lft forever preferred_lft forever
3: eno33554992: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 

pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:4d:bb:5d brd ff:ff:ff:ff:ff:ff
    inet6 fe80::20c:29ff:fe4d:bb5d/64 scope link 
       valid_lft forever preferred_lft forever
 

修改网络配置文件添加MAC地址 (eno33554992) 、修改BOOTPROTO=static 修改设备名DEVICE=eth1
 

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

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth1
UUID=5f1fde10-d2a2-4ea5-8213-7cdb53bb59bf
DEVICE=eth1
ONBOOT=yes
HWADDR=00:0c:29:4d:bb:5d


重启network服务之后 查看ip
 

[root@localhost ~]# ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state 
UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 
pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:4d:bb:53 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.10/24 brd 192.168.10.255 scope global
eno16777736
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe4d:bb53/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 

pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:4d:bb:5d brd ff:ff:ff:ff:ff:ff


添加ip地址


[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1 
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth1
UUID=5f1fde10-d2a2-4ea5-8213-7cdb53bb59bf
DEVICE=eth1
ONBOOT=yes
HWADDR=00:0c:29:4d:bb:5d
IPADDR0=192.168.1.101
PREFIX0=24
GATEWAY=192.168.1.254



重启网络服务并且查看ip

[root@localhost ~]# systemctl restart network
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state 
UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 
pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:4d:bb:53 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.10/24 brd 192.168.10.255 scope global 
eno16777736
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe4d:bb53/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 
pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:4d:bb:5d brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.101/24 brd 192.168.1.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe4d:bb5d/64 scope link 
       valid_lft forever preferred_lft forever
[root@localhost ~]# nmcli connection show 
NAME         UUID                                  TYPE            DEVICE      
eth1         5f1fde10-d2a2-4ea5-8213-7cdb53bb59bf  802-3-ethernet  eth1        
eno16777736  ce1a55de-9427-4f08-9ff8-256ac08ebd78  802-3-ethernet  eno16777736 
 


原文链接:https://blog.csdn.net/qq_36783142/article/details/75353944

Linux系统怎么查看网卡的UUID


在linux系统下查看网卡的UUID需要nmcli命令,但是该命令系统没有提供。

1、首先要查看哪个软件包提供了该命令

[root@tpp ~]# yum provides "*/nmcli"
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.pubyun.com
 * extras: ftp.sjtu.edu.cn
 * updates: mirrors.pubyun.com
base/filelists_db                              | 5.2 MB     00:04
extras/filelists_db                            |  30 kB     00:00
updates/filelists_db                           | 829 kB     00:00
1:NetworkManager-0.8.1-99.el6.i686 : Network connection manager and user
                                   : applications
Repo        : base
Matched from:
Filename    : /usr/bin/nmcli

2、由上面的查看结果,我们知道是NetworkManager,下面我们先安装这个软件包

[root@tpp ~]# yum install -y NetworkManager

3、然后启动服务

[root@tpp ~]# service NetworkManager start

4、查看网卡的UUID

[root@tpp ~]# nmcli con

名称          UUID                                 类型            范围   真实时间戳
System eth0  d9a980b8-b4bd-4573-b966-77e0fcdd6205 802-3-ethernet  系统   2015年08月29日 星期六 22时07分43秒

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【网络】nmcli 网络管理工具 的相关文章

  • 域套接字“sendto”遇到“errno 111,连接被拒绝”

    我正在使用域套接字从另一个进程获取值 就像 A 从 B 获取值一样 它可以运行几个月 但最近 A 向 B 发送消息时偶尔会失败 出现 errno 111 连接被拒绝 我检查了B域套接字绑定文件 它是存在的 我也在另一台机器上做了一些测试 效
  • 加载数据infile,Windows和Linux的区别

    我有一个需要导入到 MySQL 表的文件 这是我的命令 LOAD DATA LOCAL INFILE C test csv INTO TABLE logs fields terminated by LINES terminated BY n
  • 如何在数组中存储包含双引号的命令参数?

    我有一个 Bash 脚本 它生成 存储和修改数组中的值 这些值稍后用作命令的参数 对于 MCVE 我想到了任意命令bash c echo 0 0 echo 1 1 这解释了我的问题 我将用两个参数调用我的命令 option1 without
  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include
  • arm64和armhf有什么区别?

    Raspberry Pi Type 3 具有 64 位 CPU 但其架构不是arm64 but armhf 有什么区别arm64 and armhf armhf代表 arm hard float 是给定的名称Debian 端口 https
  • Pyaudio 安装错误 - “命令‘gcc’失败,退出状态 1”

    我正在运行 Ubuntu 11 04 Python 2 7 1 并想安装 Pyaudio 于是我跑了 sudo easy install pyaudio 在终端中 进程退出并显示以下错误消息 Searching for pyaudio Re
  • Linux:在文件保存时触发 Shell 命令

    我想在修改文件时自动触发 shell 命令 我认为这可以通过注册 inotify 挂钩并调用来在代码中完成system 但是是否有更高级别的 bash 命令可以完成此任务 尝试 inotify 工具 我在复制链接时遇到问题 抱歉 但 Git
  • 如何在shell中输出返回码?

    我正在尝试通过调用自定义 shell 脚本sh bin sh c myscript sh gt log txt 2 gt 1 echo 该命令的输出是创建的后台进程的 PID 我想指导 bin sh保存返回码myscript sh到某个文件
  • iptables通过注释删除特定规则

    我需要删除一些具有相同评论的规则 例如 我有带有 comment test it 的规则 所以我可以像这样获得它们的列表 sudo iptables t nat L grep test it 但是我怎样才能删除所有带有注释 测试它 的 PR
  • 为什么我可以直接从 bash 执行 JAR?

    我是一个长期从事 Java 工作的人 并且知道运行带有主类的 JAR 的方法MANIFEST MFJar 中的文件很简单 java jar theJar jar 我用它来启动 Fabric3 服务器 包含在bin server jar在其标
  • 为arm构建WebRTC

    我想为我的带有arm926ej s处理器的小机器构建webrtc 安装 depot tools 后 我执行了以下步骤 gclient config http webrtc googlecode com svn trunk gclient s
  • 如何确保应用程序在 Linux 上持续运行

    我试图确保脚本在开发服务器上保持运行 它会整理统计数据并提供网络服务 因此它应该会持续存在 但一天中有几次 它会因未知原因而消失 当我们注意到时 我们只需再次启动它 但这很麻烦 并且某些用户没有权限 或专有技术 来启动它 作为一名程序员 我
  • 如何使用 GOPATH 的 Samba 服务器位置?

    我正在尝试将 GOPATH 设置为共享网络文件夹 当我进入 export GOPATH smb path to shared folder I get go GOPATH entry is relative must be absolute
  • 是否可以创建一个脚本来保存和恢复权限?

    我正在使用 Linux 系统 需要对一组嵌套文件和目录进行一些权限实验 我想知道是否没有某种方法可以保存文件和目录的权限 而不保存文件本身 换句话说 我想保存权限 编辑一些文件 调整一些权限 然后将权限恢复到目录结构中 将更改的文件保留在适
  • 当 grep "\\" XXFile 我得到“尾随反斜杠”

    现在我想查找是否有包含 字符的行 我试过grep XXFile但它暗示 尾随反斜杠 但当我尝试时grep XXFile没关系 谁能解释一下为什么第一个案例无法运行 谢谢 区别在于 shell 处理反斜杠的方式 当你写的时候 在双引号中 sh
  • 如何在基于 Linux 的系统上的 C 程序中使用 mqueue?

    如何在基于 Linux 的系统上的 C 程序中使用 mqueue 消息队列 我正在寻找一些好的代码示例 可以展示如何以正确且正确的方式完成此操作 也许是一个操作指南 下面是一个服务器的简单示例 该服务器接收来自客户端的消息 直到收到告诉其停
  • 如何减去两个 gettimeofday 实例?

    我想减去两个 gettimeofday 实例 并以毫秒为单位给出答案 这个想法是 static struct timeval tv gettimeofday tv NULL static struct timeval tv2 gettime
  • 如果在等待“read -s”时中断,在子进程中运行 bash 会破坏 tty 的标准输出吗?

    正如 Bakuriu 在评论中指出的那样 这基本上与BASH 输入期间按 Ctrl C 会中断当前终端 https stackoverflow com questions 31808863 bash ctrlc during input b
  • 子目录中的头文件(例如 gtk/gtk.h 与 gtk-2.0/gtk/gtk.h)

    我正在尝试使用 GTK 构建一个 hello world 其中包括以下行 include

随机推荐

  • 【案例5-3】 模拟用户登录

    Test类 package anli5 3 import java util Scanner 模拟用户登录 public class Test public static void main String args String usern
  • UniAPP从入门到精通

    文章目录 前言 学习任务 一 uni app是什么 二 基础 基础数据绑定 引用 指令 data属性 计算属性computed 计算属性的 getter 计算属性的 setter 侦听器watch Class 与 Style 绑定 对象语法
  • 今年金三银四还是不打算跳槽

    部门leader是博士 研发部都是硕博 应该有很多可学习的东西 希望能在算法上有所突破 从目前来看 leader也愿意教 收入上 工资税前25000 planb9200 在非北上广深拿个3万多点 也是可以了 要想收入再高点 需要有真才实学
  • 基于mysql做的商业数据库是违反开源协议的违法行为吧

    这两天某政府部门指派一家国产数据库公司的人到我们公司来测试他们的数据库产品 因为我们的系统是基于mysql的 国家优先扶植国产软件 所以希望我们的系统使用这款国产数据库产品来替换掉mysql 首先他们说了自己的数据库本身就是基于mysql的
  • 小米高通9008授权MiFlash刷机免认证思路

    小米最新机型都对 9008 进行了加锁 即线刷只能fastboot线刷 无法使用 9008 线刷 以后的新机型肯定会继续对 9008 加锁的 这对玩机来说 是一个非常困难事儿了 必须破解之 不然以后新机型都没得玩了 经过我多日的研究 很大概
  • docker安装jenkins---完美解决jenkins插件安装失败问题

    我最近通过docker安装jenkins 发现插件总是无法安装成功 在网上后来终于找到了资料 我就把它整理进来了 1 我的安装环境 我采用的是centos7 在阿里云官网下载的镜像 https mirrors aliyun com cent
  • LingPipe's Competition

    LingPipe s Competition Contributing to this Page If you know of a natural language toolkit that s not listed on this pag
  • 计算机考研复试常问问题 软件工程篇

    1 什么是软件工程 软件工程是指导计算机软件开发和维护的一门工程学科 即利用工程的概念 原理 技术和方法来开发和维护软件 主要的方法 结构化方法 面向对象方法 原型方法等 软件工程三要素 方法 工具和过程 2 软件的生命周期 又称软件生存周
  • 基于Python开发的智能停车场车牌识别计费系统(源码+可执行程序+程序配置说明书+程序使用说明书)

    一 项目简介 本项目是一套基于Python开发的智能停车场车牌识别计费系统 主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Python学习者 包含 项目源码 项目文档等 该项目附带全部源码可作为毕设使用 项目都经过严格调试 确
  • 【elasticsearch】elasticsearch节点异常崩溃问题处理

    一 前言 今天对es集群做扩容节点操作 新增了一台节点 启动节点后 没过15分钟 监控报警节点es服务端口异常 第一次看日志并没有发现太明显的错误 于是并没有做操作 直接将该节点重新启动 结果不到10分钟时间 节点又崩溃了 看来得排查下问题
  • 【操作系统】王道考研 p16 调度算法:时间片轮转、优先级调度、多级反馈队列调度算法

    视频 知识总览 时间片轮转 RR Round Robin 常用于分时操作系统 更注重 响应时间 因此此处不计算周转时间 算法思想 公平地 轮流地为各个进程服务 让每个进程在一定时间间隔内都可以得到相应 算法规则 按照各进程到达就绪队列的顺序
  • LTE上行SC-FDMA 下行采用OFDMA的原因

    LTE下行是OFDMASC FDMA Single carrier Frequency Division Multiple Access 单载波频分多址 是LTE的上行链路的主流多址SC FDMA是单波载 Single carrier 与O
  • 进程调度的过程以及进程与线程的区别

    一 什么是进程 进程是操作系统对一个正在运行的程序的一种抽象 换言之 可以把进程看作程序的一次运行过程 同时 在操作系统内部 进程又是操作系统进行资源分配的基本单位 注意以上的运行出来的可执行程序 这些程序就是 进程 二 那么操作系统是如何
  • 中国移动:《2020年区块链+边缘计算白皮书》 PDF文字版

    中国移动 2020年区块链 边缘计算白皮书 PDF文字版 下载 访问密码 168168 中国移动5G联合创新中心与中兴通讯 区块链技术与数据安全工业和信息化部重点实验室 北京大学新一代信息技术研究院合作 共同发布了 区块链 边缘计算白皮书
  • 低版本Mac OS安装合适xcode的方法

    在虚拟机上安装完Mac OS10 14 在Apple Store上准备安装xcode时出现 xcode 不能安装在 Macintosh HD 上 因为需要 OS X V10 14 3 或更高版本 导致无法安装Xcode 如图 解决方法 不在
  • Oracle sql 判断某个字段不等于某个值

    看着很简单的一个问题 直接写sql select from user where userName 张三 但是运行一下 就会发现 如果userName有null值 那null值的记录也查不出来了 就是这么神奇 正确的sql select f
  • 手机已经开启调试模式还提示This adb server‘s $ADB_VENDOR_KEYS is not setTry ‘adb kill-server‘ if that seems wrong

    手机已经开启调试模式还提示This adb server s ADB VENDOR KEYS is not set Try adb kill server if that seems wrong Otherwise check for a
  • WPS进行分类汇总计算,并且提取统计结果的详细步骤

    1 首先选中要进行分类统计的数据 2 选择 数据 选项 3 然后找到 分类汇总 选项 再次弹出对话框 选择按照那一列进行分类汇总 并选择统计的计算方法 点击确定 5 默认统计结果都会在每一组的下一行 点击 隐藏明细数据 选项 即可仅显示统计
  • java软件工程师工作业绩_java软件工程师的工作描述怎么写

    展开全部 1 负责研发62616964757a686964616fe4b893e5b19e31333365656636公司应用软件的模块设计 开发和交付 2 负责编码 单元测试 3 按照功能组件的详细设计 4 对其他软件工程师的代码进行审核
  • 【网络】nmcli 网络管理工具

    目录 nmcli 命令 前提 重启网络服务 重启网卡 实例 nmcli输出说明 3种网络配置方法 nmcli的命令参数 Tips ethtool 命令 IP命令 添加网卡到配置文件 Linux系统怎么查看网卡的UUID nmcli 命令 原