Uploaded from github, added FreeBSD VMs support
This commit is contained in:
41
base_scripts/vm_get_ip.sh
Executable file
41
base_scripts/vm_get_ip.sh
Executable file
@ -0,0 +1,41 @@
|
||||
#!/bin/bash
|
||||
usage() {
|
||||
cat << EOF
|
||||
USO: $0 VM
|
||||
|
||||
Este script recupera la dirección IP de una máquina virtual administrada por virsh.
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
# Función para obtener la dirección IP de la máquina virtual
|
||||
get_vm_ip_address() {
|
||||
local VM="$1"
|
||||
|
||||
# Obtener la dirección MAC de la interfaz de red
|
||||
MAC_VM=$(virsh domiflist "$VM" | awk '{ print $5 }' | tail -2 | head -1)
|
||||
if [[ -z "$MAC_VM" ]]; then
|
||||
echo "Error: No se pudo encontrar la dirección MAC para '$VM'"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Obtener la dirección IP a partir de la dirección MAC
|
||||
VM_IP_ADDRESS=$(arp -a | grep "$MAC_VM" | awk '{ print $2 }' | sed 's/[()]//g')
|
||||
if [[ -z "$VM_IP_ADDRESS" ]]; then
|
||||
echo "Error: No se pudo encontrar la dirección IP para la dirección MAC '$MAC_VM'"
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "$VM_IP_ADDRESS"
|
||||
}
|
||||
|
||||
# Obtener el nombre del host de la máquina virtual
|
||||
VM="$1"
|
||||
|
||||
if [[ -z "$VM" ]]; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Obtener la dirección IP de la máquina virtual
|
||||
get_vm_ip_address "$VM"
|
||||
Reference in New Issue
Block a user