在Linux系统中,MAC地址(Media Access Control Address)是网络接口的唯一硬件标识符,由48位二进制数组成,通常表示为12位十六进制数(如00:1A:2B:3C:4D:5E
),它用于在局域网中精确识别设备,对网络配置、故障排查、安全策略(如MAC地址过滤)至关重要,以下是在RHEL/CentOS 7中查看MAC地址的详细方法:
适用场景:快速查看所有网络接口的MAC地址,无需额外安装工具。
步骤:
- 打开终端,执行命令:
ip link show
- 在输出中查找网络接口(如
eth0
、ens33
):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)
适用场景:传统方法,适合习惯旧命令的用户。
步骤:
- 若未安装
net-tools
,先执行:sudo yum install net-tools -y
- 执行命令:
ifconfig
- 在输出中找到目标接口(如
eth0
),其ether
字段即为MAC地址:eth0: ... ether **00:0c:29:8a:1d:0a** ...
通过网络配置文件
适用场景:查看静态配置的MAC地址(如手动配置或绑定地址)。
步骤:
- 打开网络接口配置文件(以
ens33
为例):cat /etc/sysconfig/network-scripts/ifcfg-ens33
- 查找
HWADDR
或MACADDR
字段: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
注意事项
- 临时 vs 永久地址:
- 通过命令(如
ip link
)查看的是当前生效的MAC地址。 - 配置文件中的
HWADDR
是系统启动时加载的永久地址,重启后生效。
- 通过命令(如
- 虚拟机场景:
VMware/VirtualBox克隆的虚拟机可能自动生成新MAC地址,需检查配置文件是否冲突。
- 虚拟接口:
- VLAN或虚拟网卡(如
eth0:1
)可能继承物理接口的MAC地址,需明确区分。
- VLAN或虚拟网卡(如
方法 | 命令/操作 | 优势 |
---|---|---|
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 ip
、man nmcli
)验证准确性,确保方法在原生环境中测试通过,适用于绝大多数服务器及桌面环境。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9165.html