Tutoriales

Configurar el acceso externo de Raspberry Pi

Hace unos días explicábamos cómo montar un servidor web casero utilizando la famosa placa Raspberry Pi. El tutorial mostraba, paso por paso, cómo convertir este cacharro en un sistema totalmente gestionable desde el interior de nuestra red privada.

¿Pero qué pasa si queremos acceder desde otro lugar? ¿Cómo podemos subir ficheros a nuestro FTP o realizar operaciones en la base de datos? Bueno, para eso vamos a explicar cómo darle acceso externo a nuestro pequeño ordenador. Tendremos que tocar unas cuantas cosas pero es un proceso bastante sencillo.

No-IP.com

Para el objetivo que nos hemos marcado vamos a necesitar un servicio de dominios que redireccione nuestra dirección IP. Lo más normal es que en casa, la IP que asigna el proveedor de servicios, sea una IP dinámica. Esto quiere decir que cada vez que encendamos el router la IP será distinta.

En la web No-IP.com, podemos conseguir (de forma gratuita) un dominio que redireccione a nuestra IP. El funcionamiento es muy sencillo: instalaremos un cliente en la Raspberry PI que cada cierto tiempo enviará nuestra IP a No-IP.com para que actualicen la redirección.

En primer lugar, tenemos que crearnos una cuenta:

acceso_rasp_3.jpg

Rellenamos los datos que se nos piden y pulsamos sobre Free Sign Up. Si no hemos especificado lo contrario, nuestro registro vendrá acompañado de la creación automática de un hostname (en la imagen xxxxx.ddns.net).

Tras registrarnos recibiremos un correo de activación para que confirmemos la creación de la cuenta.

Una vez finalizado el proceso de registro, tenemos que instalar el cliente de No-IP en su versión linux.

Instalar y configurar el cliente

Lo primero será acceder a la Raspberry Pi con el PuTTY como ya habíamos explicado en el tutorial anterior. Al no encontrarse el cliente de No-IP en los repositorios de Raspbian, tendremos que descargarlo e instalarlo a mano.

Descargamos el cliente con:

wget https://www.noip.com/client/linux/noip-duc-linux.tar.gz

Descomprimimos el cliente:

tar -zxvf noip-duc-linux.tar.gz

Nos metemos en la carpeta descomprimida y hacemos un make (para compilar los archivos fuente) y un make install (para instalar el cliente):

cd noip-2.1.9-1/
make
sudo make install

Nota: En el momento de escribir este tutorial, la versión del cliente No-IP era la 2.1.9, por eso la carpeta a la que accedemos con el comando "cd noip-2.1.9-1" tiene ese nombre. Tal vez cuando sigas este tutorial ese comando tengas que modificarlo añadiendo el nombre correcto.

Al hacer sudo make install nos pedirá el email con el que nos registramos en No-IP.com, la contraseña y la frecuencia de actualización de la IP. Luego nos preguntará si deseamos ejecutar algo cuando la actualización de la IP se efectue correctamente, le decimos que No.

En este punto, el servicio de No-IP sólo se ejecutará cuando nosotros lo digamos. Es interesante que lo haga cada vez que se inicie el sistema.

Iniciar automáticamente el cliente

Para ello creamos el siguiente fichero:

sudo nano /etc/init.d/noip2

Y ponemos en su interior:

#!/bin/bash
### BEGIN INIT INFO
# Provides:          No-Ip
# Required-Start:    $syslog
# Required-Stop:     $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Redireccionamiento de Ip
# Description: Actualiza el subdomino provisto por No-Ip
#
### END INIT INFO
sudo /usr/local/bin/noip2

Ojito con no olvidarnos nada de lo anterior, la cabecera es obligatoria para la correcta ejecución del programa.

Le damos permisos de ejecución al fichero que acabamos de crear:

sudo chmod +x /etc/init.d/noip2

Ahora falta añadirlo al fichero de scripts que se ejecutan automáticamente al iniciar el sistema:

sudo update-rc.d noip2 defaults

Reiniciamos el sistema:

sudo reboot

¡Ya tenemos nuestro cliente listo!

Abrir puertos del router

Todo el tráfico que llega procedente de internet primero pasa un "filtro" en nuestro router. Si ese filtro no está correctamente configurado para que deje acceder a los servicios que hemos instalado en la Raspberry Pi, no vamos a poder utilizarlos desde fuera de nuestra red. De momento necesitamos acceder a tres servicios: SSH (puerto 22), Apache (puerto 80) y FTP (puerto 21).

Este apartado requerirá un poco de conocimientos en cuanto a la gestión del router se refiere. Como cada modelo es distinto no podemos mostrar ejemplos concretos pero sí darte algún consejo.

Para conocer la dirección IP del router que tenemos instalado (puerta de enlace), podemos escribir en la consola de Windows:

ipconfig

O si estamos en linux:

ip route show

En ambos casos se mostrará la IP que necesitamos para acceder al panel de administración web del router bajo el nombre de Puerta de enlace predeterminada o Default.

Copiamos y pegamos esta IP en el navegador y nos pedirá los datos de acceso al router (que deberíamos conocer y que seguramente sean los que trae por defecto).

Nota: Si por casualidad no recordamos los datos de acceso por defecto, podemos echar un vistazo a la siguiente página web donde aparecen todas las marcas y modelos con los datos que traen de fábrica: Default Router Passwords.

Una vez dentro del panel de administración del router hay que buscar la opción de NAT. La definición de NAT es:

NAT (Network Address Translation - Traducción de Dirección de Red) es un mecanismo utilizado por routers IP para intercambiar paquetes entre dos redes que asignan mutuamente direcciones incompatibles. Consiste en convertir, en tiempo real, las direcciones utilizadas en los paquetes transportados. También es necesario editar los paquetes para permitir la operación de protocolos que incluyen información de direcciones dentro de la conversación del protocolo. Wikipedia

Lo que haremos aquí es redireccionar las peticiones que reciba nuestro router a los puertos 80, 21 y 22 para que apunten a los puertos 80, 21 y 22 de la Raspberry Pi.

Una vez hecho esto, guardamos los cambios y reiniciamos el router.

¡Ya podremos acceder a nuestra Raspberry desde cualquier sitio con conexión a internet!

Si tienes alguna duda ponla en los comentarios.

Comentarios

Hola, soy el webmaster de TIC Las Palmas. ¿Quieres contactar conmigo? ¡Te ayudaré en lo que pueda!

Publicidad las 24 horas:
Si buscas promoción, una web es vital para obtener una mayor visibilidad.

Amplio alcance:
No existen barreras, accede al mercado internacional.

Fidelización:
Sus visitantes obtendrán feedback directo de usted o de su empresa.

Clientes potenciales:
Atraiga clientes que de otra manera no hubiesen encontrado sus servicios.

Valor añadido:
Agregue servicios adicionales a su negocio.

Ahorro:
Acabe con los gastos de promoción externa.

Formulario de consulta