Ver las direcciones IPs de una VM antes del login prompt
Si trabajas con muchas VMs configuradas por DHCP, entenderás lo práctico que es hacer que la VM te muestre las IPs que tiene configuradas, antes de logearte en ella.
La idea es que usando if-up/down, correr un script que tome la IP y actualice el archivo issues.
Este es un resumen/traducción de la guía publicada acá http://offbytwo.com/2008/05/09/show-ip-address-of-vm-as-console-pre-login-message.html por Cosmin Stejerean.
Primero creamos un script que va a obtener las direcciones de la VM. Para eso creamos un script, /usr/local/bin/get-ip-address que contenga lo siguiente:
#!/bin/bash /sbin/ifconfig | grep "inet addr" | grep -v "127.0.0.1" | awk '{ print $2 }' | awk -F: '{ print $2 }'
Y le asignamos permisos para ser ejecutable:
chmod 755 /usr/local/bin/get-ip-address
Luego, creamos otro script que será ejecutado por if-up al levantar las placas de red. Para eso creamos /etc/network/if-up.d/show-ip-address con el siguiente contenido:
#!/bin/sh if [ "$METHOD" = loopback ]; then exit 0 fi # Only run from ifup. if [ "$MODE" != start ]; then exit 0 fi cp /etc/issue-standard /etc/issue /usr/local/bin/get-ip-address >> /etc/issue echo "" >> /etc/issue
y también lo marcamos como ejecutable:
chmod 755 /etc/network/if-up.d/show-ip-address
Por ultimo, creamos una copia del archivo issue actual (si es que tiene algo importante) asi lo usamos como template:
cp /etc/issue /etc/issue-standard
Eso es todo, al reiniciar el equipo, deberíamos ver las direcciones IPs que tiene configuradas antes del prompt de login, como se ve en la siguiente imagen: