网卡不见了?试试ip link命令

在Linux系统中,MAC地址(Media Access Control Address)是网络接口的唯一硬件标识符,由48位二进制数组成,通常表示为12位十六进制数(如00:1A:2B:3C:4D:5E),它用于在局域网中精确识别设备,对网络配置、故障排查、安全策略(如MAC地址过滤)至关重要,以下是在RHEL/CentOS 7中查看MAC地址的详细方法:
适用场景:快速查看所有网络接口的MAC地址,无需额外安装工具。
步骤

  1. 打开终端,执行命令:
    ip link show
  2. 在输出中查找网络接口(如eth0ens33):
    1: lo: <LOOPBACK> ... 
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> ... link/ether **00:0c:29:8a:1d:0a** ...
    • link/ether后紧跟的即是MAC地址(如00:0c:29:8a:1d:0a)。

精简查看(仅显示接口名和MAC地址):

ip -o link | awk '{print $2, $(NF-2)}'

通过 ifconfig 命令(需安装 net-tools)

适用场景:传统方法,适合习惯旧命令的用户。
步骤

  1. 若未安装net-tools,先执行:
    sudo yum install net-tools -y
  2. 执行命令:
    ifconfig
  3. 在输出中找到目标接口(如eth0),其ether字段即为MAC地址:
    eth0: ... ether **00:0c:29:8a:1d:0a** ... 

通过网络配置文件

适用场景:查看静态配置的MAC地址(如手动配置或绑定地址)。
步骤

  1. 打开网络接口配置文件(以ens33为例):
    cat /etc/sysconfig/network-scripts/ifcfg-ens33
  2. 查找HWADDRMACADDR字段:
    HWADDR=00:0c:29:8a:1d:0a

    注意:若使用MACADDR,可能是临时覆盖的虚拟MAC地址(如虚拟机克隆场景)。


通过 nmcli(NetworkManager 命令行工具)

适用场景:使用NetworkManager管理网络时,获取详细信息。
步骤

nmcli device show

在输出中定位目标接口的GENERAL.HWADDR字段:

GENERAL.DEVICE: ens33  
GENERAL.HWADDR: 00:0C:29:8A:1D:0A

通过系统文件 /sys/class/net/

适用场景:脚本自动化获取,无需执行命令。
步骤

cat /sys/class/net/ens33/address

直接输出MAC地址:00:0c:29:8a:1d:0a


注意事项

  1. 临时 vs 永久地址
    • 通过命令(如ip link)查看的是当前生效的MAC地址。
    • 配置文件中的HWADDR是系统启动时加载的永久地址,重启后生效。
  2. 虚拟机场景

    VMware/VirtualBox克隆的虚拟机可能自动生成新MAC地址,需检查配置文件是否冲突。

  3. 虚拟接口
    • VLAN或虚拟网卡(如eth0:1)可能继承物理接口的MAC地址,需明确区分。

方法 命令/操作 优势
ip link ip link show 系统原生支持,无需安装
ifconfig ifconfig(需安装net-tools) 传统习惯,信息直观
网络配置文件 cat /etc/sysconfig/network-scripts/ifcfg-* 查看静态配置的永久地址
nmcli nmcli device show 适合NetworkManager管理环境
系统文件 cat /sys/class/net/<接口名>/address 脚本友好,直接读取

推荐优先使用ip link,它是现代Linux网络配置的标准工具,兼容性强且无需额外依赖。


引用说明: 基于RHEL/CentOS 7官方文档及Linux网络管理实践总结,参考命令手册(man ipman nmcli)验证准确性,确保方法在原生环境中测试通过,适用于绝大多数服务器及桌面环境。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9165.html

(0)
酷番叔酷番叔
上一篇 2025年7月29日 09:45
下一篇 2025年7月29日 09:56

相关推荐

  • linux如何启动apache

    在Linux系统中启动Apache服务是搭建Web服务的基础操作,不同Linux发行版可能因初始化系统(Systemd或SysVinit)的差异导致命令略有不同,但核心流程一致,以下从前提条件、启动步骤、验证方法、常见问题处理及开机自配置等方面详细说明,启动Apache的前提条件在启动Apache前,需确保已正……

    6天前
    700
  • Linux版本号怎么查

    方法 1:使用 lsb_release 命令(推荐通用方法)适用于大多数主流发行版(Ubuntu/Debian/CentOS 7+),直接显示系统版本和代号:lsb_release -a输出示例: Distributor ID: UbuntuDescription: Ubuntu 22.04.3 LTSRele……

    2025年6月18日
    3800
  • Linux查看端口状态的最快方法?

    使用 netstat 命令(经典工具)安装(部分系统需手动安装):sudo apt install net-tools # Debian/Ubuntusudo yum install net-tools # CentOS/RHEL常用参数组合:sudo netstat -tuln-t:仅显示TCP端口-u:仅显……

    2025年7月1日
    3500
  • 网络断网怎么办?一招重启解决!

    在Linux系统中,重启网络是常见的维护操作,用于解决连接故障、应用新配置或更新网络设置,不同发行版和系统版本的工具可能不同,请根据实际情况选择合适方法,以下是详细操作指南:通用方法:通过 systemctl(推荐)适用于大多数现代Linux系统(Ubuntu 18.04+、CentOS 7+、Debian 9……

    2025年7月19日
    2400
  • 如何安全轻松添加官方Wine仓库?

    在Linux系统中安装Wine可以让您直接运行Windows应用程序,以下是针对不同发行版的详细安装指南,遵循最佳实践确保安全性和兼容性:安装前准备系统更新终端执行:sudo apt update && sudo apt upgrade # Debian/Ubuntusudo dnf updat……

    2025年7月15日
    3300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信