Archivos mensuales: febrero 2013

Configura tu Raspberry Pi para acceder remotamente usando No-IP

Bueno, poco a poco el Raspberry Pi va teniendo más funciones a su cargo. Luego de convertirse en cámara IP, y servidor de Airplay, y luego de instalar apache y mysql (algo tan trivial como poner sudo apt-get install apache2 y sudo apt-get install mysql), llegó la hora de darle acceso al PI al mundo exterior.

Primero, debemos tomar en cuenta, que la mayoría de nosotros, tenemos una conexión casera de internet, que no tiene una dirección IP estática. Por esta razón, necesitamos alguna manera de conocer la dirección IP de nuestro modem de banda ancha, para tener una dirección de acceso a nuestra red.

Existe el servicio de www.no-ip.com, que nos permite crear un dominio virtual (o si tenemos un nombre de dominio libre, lo pueden configurar también ahí), y este dominio virtual, asignarlo a una dirección IP donde esté conectado nuestro servidor (el PI en este caso). Entonces, el primer paso obligado, es ingresar en www.no-ip.com y crear una cuenta nueva, para escoger un subdominio de los varios que se tienen disponibles en dicho servicio.

Una vez que hemos creado y configurado la cuenta, vamos a trabajar en nuestro Raspberry Pi. La idea es que periódicamente, el PI detecte la dirección IP pública a la que está conectado el modem, y la envíe al servicio no-ip para actualizar el dominio virtual. Para esto, debemos instalar el paquete no-ip en nuestro Raspberry, usando los siguientes comandos:

mkdir no-ip
cd no-ip
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
tar -zxvf noip-duc-linux.tar.gz
cd noip-2.1.9-1/
make
sudo make install

Al empezar la instalación, nos solicitará nuestros datos de la cuenta de no-ip, verificará el dominio virtual creado y nos preguntará el tiempo de actualización de la dirección ip externa. Podemos dejar todos los valores por defecto tal cual, y continuar hasta finalizar la instalación.

Podemos iniciar el servicio ejecutando “sudo /usr/local/bin/noip2” pero lo ideal sería que inicie automáticamente en el arranque del PI. Para esto debemos crear el archivo /etc/init.d/noip2 con el comando

sudo nano /etc/init.d/noip2

y colocamos esto dentro del contenido del mismo

#! /bin/bash
### BEGIN INIT INFO
# Provides: Servicio No-IP
# Required-Start: $syslog
# Required-Stop: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: arranque automatico para no-ip
# Description:
#
### END INIT INFO
sudo /usr/local/bin/noip2

Guardamos el archivo, y finalmente damos permisos de ejecución, y lo colocamos en la cola de arranque

sudo chmod +x /etc/init.d/noip2
sudo update-rc.d noip2 defaults

Así garantizamos que el dominio virtual creado en no-ip tenga siempre asignada nuestra dirección IP externa de nuestro modem. Ahora si podemos configurar nuestros servidores virtuales en nuestro router y listo! acceso externo a nuestro PI.

En mi caso, tengo un modem Huawei, y configurar los servidores virtuales no es ninguna ciencia. Se crea el nombre del servicio, se asignan los rangos de puertos y la IP interna a la que se redireccionará el servicio y listo.

rpi_ports

Con esto, tengo acceso VNC, SSH y HTTP a mi Raspberry Pi. Cero seguridad (no se recomienda nunca abrir un SSH, pero bueno, esto se hizo para probar) pero cualquier cosa que pase con mi Pi la puedo revisar desde la oficina o desde mi teléfono celular