Este artículo explica cómo localizar una máquina virtual o contenedor en un cluster de Proxmox VE utilizando su dirección MAC.
Requisitos previos
- Acceso SSH al nodo de Proxmox con privilegios de root
Método rápido
La dirección MAC está almacenada en los archivos de configuración de Proxmox. Puedes buscar directamente con grep:
grep -ri "00:50:56:a1:b2:c3" /etc/pve/nodes/Reemplaza 00:50:56:a1:b2:c3 con la dirección MAC que deseas buscar.
Ejemplo de salida
/etc/pve/nodes/pve1/qemu-server/105.conf:net0: virtio=00:50:56:a1:b2:c3,bridge=vmbr0,firewall=1La ruta indica el nodo (pve1), el tipo (qemu-server o lxc) y el VMID (105).
Script con salida formateada
Para una salida más legible que incluya el nombre de la VM o contenedor:
#!/bin/bash
TARGET_MAC="00:50:56:a1:b2:c3"
# Buscar en VMs QEMU
for conf in /etc/pve/nodes/*/qemu-server/*.conf; do
if grep -qi "$TARGET_MAC" "$conf" 2>/dev/null; then
vmid=$(basename "$conf" .conf)
node=$(echo "$conf" | cut -d'/' -f5)
name=$(grep -oP '^name:\s*\K.*' "$conf")
echo "Found: VMID $vmid ($name) on node $node [QEMU]"
fi
done
# Buscar en contenedores LXC
for conf in /etc/pve/nodes/*/lxc/*.conf; do
if grep -qi "$TARGET_MAC" "$conf" 2>/dev/null; then
vmid=$(basename "$conf" .conf)
node=$(echo "$conf" | cut -d'/' -f5)
name=$(grep -oP '^hostname:\s*\K.*' "$conf")
echo "Found: VMID $vmid ($name) on node $node [LXC]"
fi
doneReemplaza 00:50:56:a1:b2:c3 con la dirección MAC que deseas buscar.
Ejemplo de salida
Found: VMID 105 (web-server) on node pve1 [QEMU]Notas
- La búsqueda es insensible a mayúsculas/minúsculas gracias al flag
-ide grep. - Este método no requiere que la VM esté encendida ni que tenga el Guest Agent instalado.
- El directorio
/etc/pve/es un sistema de archivos compartido en el cluster, por lo que puedes ejecutar el comando desde cualquier nodo y encontrar VMs en todos los nodos.