当前位置:首页 > 物理机 > 正文

Linux虚拟机如何查看MAC地址?

在Linux虚拟机中查看物理地址(MAC地址),使用终端命令 ifconfigip link show,执行后查找网络接口(如eth0)信息中的 etherlink/ether 字段,其后的十六进制值即为物理地址。

物理地址(MAC地址)的核心概念

  • 物理地址:即MAC地址(Media Access Control Address),是网络接口卡(NIC)的唯一标识符,格式为 XX:XX:XX:XX:XX:XX(十六进制)。
  • 虚拟机场景
    虚拟机的MAC地址由虚拟机管理程序(如VMware、VirtualBox)自动生成或手动指定,与宿主机物理网卡地址无关。

命令行查看方法(推荐)

方法1:使用 ip link 命令(通用性强)

ip link show
  • 输出示例
    1: lo: <LOOPBACK> ...  
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> ... link/ether **00:0c:29:3d:5a:7c** ...
  • 关键字段
    link/ether 后紧跟的即为MAC地址(如 00:0c:29:3d:5a:7c)。

方法2:使用 ifconfig 命令(需安装net-tools)

sudo apt install net-tools  # Ubuntu/Debian安装
sudo yum install net-tools  # CentOS/RHEL安装
ifconfig
  • 输出示例
    ens33: ... ether **00:0c:29:3d:5a:7c** ... 
  • 关键字段
    查找 etherHWaddr 后的值。

方法3:通过设备文件直接读取

cat /sys/class/net/ens33/address  # 将"ens33"替换为你的网卡名
  • 输出示例
    00:0c:29:3d:5a:7c

查看虚拟机配置中的MAC地址

VMware虚拟机

  1. 关闭虚拟机 → 右键选择 设置网络适配器高级选项 → 查看 MAC地址
  2. 或编辑 .vmx 配置文件,查找 ethernet0.address

VirtualBox虚拟机

  1. 关闭虚拟机 → 设置网络高级MAC地址
  2. 命令行查看(宿主机执行):
    VBoxManage showvminfo <虚拟机名> | grep "MAC address"

KVM/QEMU虚拟机

virsh dumpxml <虚拟机名> | grep "mac address"

注意事项

  1. 临时性变更
    sudo ip link set dev ens33 address 00:11:22:33:44:55 可临时修改MAC地址(重启失效)。
  2. 永久性配置
    • Ubuntu:编辑 /etc/netplan/*.yaml,添加 macaddress: ...
    • CentOS:编辑 /etc/sysconfig/network-scripts/ifcfg-ens33,添加 MACADDR=...
  3. 虚拟机克隆问题
    克隆后MAC地址可能冲突,需在虚拟机设置中生成新地址避免网络冲突。

常见问题解答

Q1:为什么ifconfig命令不存在?
A:现代Linux发行版默认使用ip命令,安装net-tools即可支持ifconfig

Linux虚拟机如何查看MAC地址?  第1张

Q2:MAC地址被误修改导致无法联网?
A:重启虚拟机或使用 sudo systemctl restart NetworkManager 恢复。

Q3:如何验证MAC地址是否唯一?
A:在局域网内执行 arp-scan -l(需安装arp-scan),检查是否有重复地址。


引用说明

  • Linux ip 命令文档:man7.org/linux/man-pages/man8/ip.8.html
  • VMware 网络配置指南:docs.vmware.com
  • VirtualBox 手册:virtualbox.org/manual

提示:操作涉及系统配置时,建议备份文件并谨慎执行命令,本文方法经测试适用于主流Linux发行版(内核4.x+)及虚拟机环境。

0