Como ya sabéis ésta es la segunda entrega de una serie de tutoriales que vamos a dedicar a la Raspberry Pi. Si has llegado directamente aquí, te recomiendo leer antes mi anterior tutorial: Raspberry Pi para novatos.
Para los que nos quedamos tras la primera configuración y ejecución del sistema base Raspbian os habréis dado cuenta que, tras varios inicios de vuestra máquina, la IP ha ido variando. Esto se debe a que, por defecto, Raspbian utiliza DHCP para asignar una IP a nuestra Raspberry, hecho nada recomendable si lo que pretendemos es montar algún tipo de servidor en ella, ya que dificultaría la localización de la misma en la red cada vez que se nos asignase una nueva IP. Existen dos posibles soluciones al problema:
- Seguir con DHCP, despreocupándonos de la configuración manual de los parámetros de red y configurar en nuestro router una asignación estática de IP, mediante DHCP, gracias a la dirección MAC de la ethernet de la Raspberry (supongo que a más de uno le habrá sonado a Chino).
- Editar los ficheros de configuración de red de Raspbian para que se le asigne la IP que nos interese a nosotros. No cabe decir que éste es el método que yo voy a utilizar y el que recomiendo.
Tal y como he dicho no voy a entrar en configuraciones de routers, ya que para cada modelo, fabricante, etc. es un proceso totalmente diferente y nos perderíamos. Siguiendo por lo tanto la segunda opción vamos a configurar nuestra IP para que sea estática, por lo tanto enciende tu Raspberry, haz login y prepárate.
Para empezar vamos a necesitar algunos valores, como la IP deseada, máscara de red, puerta de enlace y servidores DNS. De no conocer dichos valores escribiremos:
ifconfig
Una vez que tengamos todos los valores anotados editaremos el fichero de configuración con:
sudo nano /etc/network/interfaces
Allí deberíamos encontrarnos con el siguiente texto:
iface eth0 inet dhcp
Que básicamente lo que hace es asignarme a la interfaz eth0 una IP a través de DHCP. De tener más de una NIC irían sumando números, como por ejemplo eth1, eth2, etc. Para conseguir nuestro propósito lo que haremos será cambiar la línea por:
iface eth0 inet static
address 192.168.1.123
netmask 255.255.255.0
gateway 192.168.1.1
Debes tener en cuenta que en address vamos a poner la IP deseada para nuestra Raspberry, en mi caso 192.168.1.123 (fácil de recordar), en netmask la máscara de red y en gateway la puerta de enlace.
Ahora pasaremos a configurar los servidores DNS, para ello escribiremos:
sudo nano /etc/resolv.conf
Y borraremos lo que haya para agregar lo siguiente:
nameserver 192.168.1.1
nameserver 8.8.8.8
Con ambas líneas agregamos a la puerta de enlace como DNS primario, ya que muchos routers actúan como tal si están correctamente configurados, y con la segunda hemos agregado el servidor DNS de Google. Ambos valores pueden ser cambiados por los servidores DNS que más os gusten, ya sean los de vuestra compañía o cualquier otro (no hay problema en usar DNS que no son de nuestro propio
ISP)
Ahora que ya tenemos una IP fija lista es momento de reiniciar para tomar nuevos valores. Para ello escribiremos el siguiente comando:
sudo reboot
Pasados unos segundos tendremos nuestra pequeña con su IP estática, lo que nos va a permitir tenerla bien localizada en la red en todo momento. El siguiente paso va a ser probar una conexión remota desde la propia red. Para ello encenderemos otra máquina que tengamos y accederemos mediante un cliente SSH. Tenemos dos soluciones:
Solución de acceso remoto con Windows:
Empezaremos descargando un cliente SSH, como por ejemplo PuTTy que es totalmente gratuito. Como pros son su reducido tamaño y portabilidad, puesto que no necesita instalarse y actúa como un portable. Una vez lo tengamos descargado, lo ejecutamos y le damos los valores necesarios:
PuTTy es un cliente SSH gratuito y completo para Windows
Le pinchamos a "Open" y si todo es correcto nos encontraremos con una pantalla que nos pide nuestro login y, de forma posterior, nuestra contraseña. Una vez identificado correctamente estarás dentro de la máquina pudiendo hacer lo mismo que si estuvieras delante. Para Linux es aún más sencillo, teniendo simplemente que escribir en una terminal lo siguiente:
ssh pi@192.168.1.123
O si queremos que nos importe la sesión gráfica (no os lo recomiendo, ya que si os acordáis redujimos a 32 MiB la capacidad de la GPU):
ssh -X pi@192.168.1.123
Y ahora ya podemos controlar totalmente nuestra máquina, sin necesidad de tenerla conectada a una salida de vídeo, dando servicio 24h/365 días al año, por un consumo de unos 6€ aproximados de luz. Genial, ¿verdad? Pues sigamos dándole más funcionalidades.
Ahora vamos a pasar a realizar una conexión por SFTP. Esto nos va a permitir transferir ficheros de un host determinado a nuestro "Raspberry Server". Siguiendo en la línea del software gratuito usaremos FileZilla. En Windows podéis descargarlo de aquí y para los usuarios de Linux bastará con instalarlo desde repositorios mediante:
sudo apt-get install filezilla
Arrancamos el programa y lo configuramos de la siguiente manera:
SFTP es un protocolo que transfiere ficheros en conexiones fiables
Es importante que cambiéis el puerto al 22, porque de lo contrario va a intentar conectar al puerto FTP, mientras que nosotros estamos sirviendo SFTP. Al conectar deberemos ver el contenido de la Rasp a la derecha y, al lado izquierdo, nuestro host.
FileZilla es un cliente FTP y SFTP con licencia GNU/GPL. Es multiplataforma.
Llegados a este punto ya podemos controlar remotamente, pasar ficheros y lo único que nos queda es poner al día nuestro firmware. Para ello vamos a utilizar la herramienta rpi-update de Hexxeh. Para poder utilizar vamos a necesitar hacer un par de cosas antes, así que empezaremos instalando la utilidad git, que nos permitirá utilizar el updater. Para ello escribiremos en nuestra raspberry los siguientes comandos:
sudo apt-get install git
sudo apt-get install ca-certificates
sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update
sudo chmod +x /usr/bin/rpi-update
Momento de actualizar nuestros firmwares, con la pequeña diferencia que aquí no hay riesgo alguno de quedarnos con un ladrillo, ya que todo es mediante software. Para ello escribiremos en la Raspberry:
Consiguiendo así actualizar en apenas unos minutos y haciendo, a su vez, la repartición de memoria en 224 MB para CPU y 32 para GPU como ya habíamos hecho antes.
Tras actualizar el firmware deberemos reiniciar para que surja efecto
Al finalizar se nos mostrará un mensaje advirtiéndonos que es necesario reiniciar para activar el nuevo firmware, así que procederemos a ello con la instrucción que vimos tras guardar los ficheros de configuración de IP estática.
Y con esto hemos acabado con el segundo tutorial de configuración básica para novatos. En el próximo personalizaremos los mensajes de bienvenida de nuestra Raspberry e instalaremos un cliente DLNA (streaming UPnP) para que sirva todo el contenido multimedia de nuestros discos o SD al resto de dispositivos compatibles en la red. Si hasta entonces quieres seguirme con mayor regularidad puedes hacerlo en mi Twitter (@drkbcn) en el que publico, entre otras cosas, noticias y proyectos interesantes relacionados con la Raspberry Pi.
¡Hasta entonces!
PD: Gracias a la gente de Farnell España / element14 por difundir, a través de su Twitter, mis tutoriales.