Es muy probable que ha estas altura estemos bien familiarizados con el comando ifconfig, un comando que nos permite conocer la dirección IP que se le ha asignado a nuestra Raspberry Pi y que sirve de referencia para muchas de las actividades que podemos hacer con ella, acceso SSH, VNC, Web, etc.
¿Pero que sucede cuando por alguna razon olvidamos la IP, o reiniciamos el Router y le asigna una dirección diferente a la Raspi?, en el mejor de los casos tenemos el teclado y monitor conectados para ver en pantalla la nueva IP, pero, ¿y si no es así? estoy seguro que para muchos esto ha sido un gran dolor de cabeza.
Una de las maneras mas fáciles y rápidas de darle solución a este problema, es aplicando una técnica conocida como mDNS o Multicasting Domain Name Servicing, que básicamente consiste en tener un pequeño servicio (demonios en linux) en nuestra Raspi que le permita ser descubierta por cualquier equipo en la red a través de un nombre de dominio.
Antes de empezar con la instalación es importante tener las referencias y el software de nuestra Raspi actualizado, esto básicamente es una costumbre a considerar para mantener al día nuestro software y reducir al máximo los posibles bugs entre versiones. Para hacerlo solo ejecutamos:
sudo apt-get update
sudo apt-get upgrade
En caso de que aparezca algún tipo de mensaje solo tecleamos “Y” para que continue con la instalación. Posteriormente instalaremos “Avahi”, el servicio que mantendrá nuestra tarjeta visible en la red:
sudo apt-get install avahi-daemon
Prácticamente con esto seria suficiente, pero podemos mejorarlo aun mas definiendo algún nombre de dominio único que podamos recordar con facilidad y que suele ser de gran ayuda para cuando tenemos mas de una Raspberry Pi conectada a la misma red.
Para lograr este ultimo paso editamos los archivos:
sudo nano /etc/hosts
Y cambiamos la palabra “raspberrypi” de la ultima linea por el nombre que queramos asignarle, “robotcos” en mi caso. Y del mismo modo el archivo:
sudo nano /etc/hostname
reiniciamos para terminar y deberíamos poder acceder de la manera que queramos (SSH, VNC, Web) con el nombre que asignamos de la siguiente manera:
ssh pi@robotcos.local
.local es una extension reservada para LANs, por lo que al ser interpretada por un router automáticamente hace una búsqueda en la red local.
Simple no!? y mucho mas fácil de recordar que una dirección IP.