CentOS如何正确读取指定网卡的UUID?

在CentOS等现代Linux发行版中,网络管理已经从传统的脚本化配置逐步转向了以NetworkManager为核心的动态管理模式,在这一体系下,为每个网络连接配置分配一个独一无二的通用唯一标识符(UUID)变得至关重要,UUID确保了即使在物理设备(如网卡)名称发生变化,或者系统中存在多个相似的配置时,系统依然能够准确无误地应用指定的网络策略,掌握如何读取网卡的UUID,是进行网络故障排查、脚本自动化和高级配置的基础技能。

CentOS如何正确读取指定网卡的UUID?

使用 nmcli 命令行工具

nmcli(NetworkManager Command-Line Interface)是与NetworkManager交互的首选工具,它功能强大且易于使用,无论是用于即时查询还是编写脚本都非常方便。

要列出系统中所有网络连接的配置及其对应的UUID,可以直接在终端中执行以下命令:

nmcli connection show

或者使用其简写形式:

nmcli con show

执行后,你会看到一个类似下面的表格输出:

NAME                UUID                                  TYPE      DEVICE
有线连接 1          5a062d3a-6d2a-4f8e-b8c1-1e3b9c8d7a6f  ethernet  ens33
Wired connection 2  b1c2d3e4-f5a6-b7c8-d9e0-f1a2b3c4d5e6  ethernet  -- 

在这个输出中,NAME列是网络配置的名称,UUID列就是我们需要的唯一标识符,TYPE列是连接类型(如ethernet),而DEVICE列则显示该配置当前激活的物理设备,如果一个配置未被激活,其DEVICE列会显示为。

如果你只想获取特定连接的UUID,可以使用-f参数来指定需要显示的字段,从而过滤掉无关信息:

nmcli -f connection.uuid connection show "有线连接 1"

输出将非常简洁:

CentOS如何正确读取指定网卡的UUID?

connection.uuid: 5a062d3a-6d2a-4f8e-b8c1-1e3b9c8d7a6f

直接查看网络配置文件

对于习惯直接与文件系统打交道的用户来说,检查网络配置文件是最直接、最可靠的方法,在CentOS 7及之后的版本中,NetworkManager将网络配置文件存储在/etc/sysconfig/network-scripts/目录下,每个网络连接的配置文件通常以ifcfg-开头,后面跟着连接名称或设备名称。

要查看名为ens33的网卡配置,可以打开对应的文件:

cat /etc/sysconfig/network-scripts/ifcfg-ens33

可能如下所示:

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=有线连接 1
UUID=5a062d3a-6d2a-4f8e-b8c1-1e3b9c8d7a6f
DEVICE=ens33
ONBOOT=yes

中,你可以清晰地看到UUID=5a062d3a-6d2a-4f8e-b8c1-1e3b9c8d7a6f这一行,这种方法不仅让你看到了UUID,还能一览该连接的所有其他配置参数,非常适合进行深入的故障排查。

通过 nmcli dev show 查询设备信息

你可能知道物理网卡的设备名(如ens33),但不确定它关联的是哪个连接配置,这时,nmcli device show命令就派上用场了,它可以显示指定网络设备的详细信息,包括其当前激活的连接配置。

使用以下命令查询设备ens33的信息:

nmcli device show ens33

该命令会输出大量关于设备的详细信息,我们关心的部分通常在GENERAL区域,为了便于阅读,这里用表格形式展示关键信息片段:

CentOS如何正确读取指定网卡的UUID?

参数 描述
GENERAL.DEVICE ens33 物理设备名称
GENERAL.TYPE ethernet 设备类型
GENERAL.HWADDR 00:0C:29:XX:XX:XX MAC地址
GENERAL.MTU 1500 最大传输单元
GENERAL.STATE 100 (已连接) 连接状态
GENERAL.CONNECTION 有线连接 1 当前激活的连接配置名称
GENERAL.CON-PATH /org/freedesktop/NetworkManager/ActiveConnection/1 D-Bus路径

注意,nmcli device show的输出中通常不直接显示UUID,但它会显示GENERAL.CONNECTION,即关联的连接名称,有了这个名称,你就可以再使用方法一中的nmcli connection show "连接名称"来精确获取其UUID了。

不同方法的对比与选择

为了更直观地理解这几种方法的优劣,下表对它们进行了小编总结:

方法 易用性 依赖工具 信息详尽度 适用场景
nmcli con show NetworkManager 快速查询所有连接UUID,脚本化处理
查看配置文件 无(仅需文本阅读器) 深入排查配置问题,手动修改配置
nmcli device show NetworkManager 通过设备名反查连接信息,诊断设备状态

nmcli是现代CentOS系统中最推荐的方式,它提供了与NetworkManager最直接、最全面的交互能力,直接查看配置文件则是一种经典且可靠的备选方案,根据你的具体需求,灵活运用这些工具,将能极大地提升你在CentOS上管理网络的效率和准确性。


相关问答 (FAQs)


解答: 这种情况通常意味着该网卡没有被NetworkManager管理,可能的原因有:1)该网络接口是通过传统的网络脚本(/etc/init.d/network)或旧版的ifcfg-*文件手动配置的,并且设置了NM_CONTROLLED=no;2)该接口可能是一个由其他虚拟化技术(如Docker、Libvirt)管理的虚拟接口,或者是一个网桥、绑定设备的从设备,要使其被NetworkManager管理,你可以编辑其ifcfg-*文件,确保NM_CONTROLLED=yes,然后重启网络服务或使用nmcli con reload重新加载配置,或者直接使用nmtuinmcli创建一个新的连接配置。

UUID和MAC地址有什么根本区别?我能否用MAC地址替代UUID?
解答: UUID和MAC地址是两个完全不同层面的标识符,不能互相替代。MAC地址(Media Access Control Address)是物理层面的,它固化在网卡的硬件中,是全球唯一的硬件地址,用于在局域网中标识一个物理设备,而UUID(Universally Unique Identifier)是软件层面的,由NetworkManager在创建网络配置文件时生成,用于唯一标识一个“网络连接配置”,一块物理网卡(只有一个MAC地址)可以拥有多个不同的网络配置文件(一个用于DHCP自动获取IP,一个用于静态IP),每个配置文件都会有自己独立的UUID,MAC地址标识的是“硬件”,而UUID标识的是“配置策略”,在需要精确定位和应用特定网络策略的场景下,UUID比MAC地址更为灵活和准确。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-10 14:23
下一篇 2025-10-10 14:27

相关推荐

  • CentOS不再支持了,我的服务器该怎么办?

    在服务器操作系统的世界里,CentOS曾以其稳定、免费和与RHEL(Red Hat Enterprise Linux)高度兼容的特性,占据了举足轻重的地位,随着技术生态的演进,用户逐渐发现“CentOS不支持”的方面越来越多,这些“不支持”不仅体现在软件和硬件层面,更深刻地体现在其战略定位和支持模式上,最重大的……

    2025-10-13
    004
  • centos系统如何同时开多个终端窗口?命令行或图形界面方法有哪些?

    在CentOS系统中,多终端操作是提升工作效率的重要方式,尤其对于服务器管理或开发任务而言,通过同时打开多个终端窗口,用户可以并行执行不同命令、监控进程或调试程序,无需频繁切换界面,本文将详细介绍在CentOS系统中开启和管理多终端的多种方法,涵盖图形界面与命令行工具,并针对常见问题提供解决方案,使用图形界面终……

    2025-11-18
    0018
  • 服务器策略_配置服务器组挂载策略

    1、确定挂载目标:你需要确定你的服务器组需要挂载哪些设备或文件系统,这可能包括硬盘、网络共享或其他类型的存储设备,2、创建挂载点:在服务器上为每个挂载目标创建一个目录,这个目录就是挂载点,如果你需要挂载一个网络共享,你可能需要创建一个名为/mnt/myshare的目录,3、配置挂载选项:你可以为每个挂载点配置一……

    2024-06-21
    006
  • CentOS 7 Redis哨兵启动失败常见原因及解决方法?

    在现代分布式系统中,高可用性是衡量系统稳健性的核心指标之一,对于广泛使用的内存数据库Redis而言,当单个Redis实例因故障或维护而停机时,整个应用服务可能面临中断风险,为了解决这一单点故障问题,Redis官方提供了哨兵模式,本文将深入探讨在CentOS 7环境下,如何部署、配置和管理Redis哨兵模式,以构……

    2025-10-05
    008

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信