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

 


Comments

15 respuestas a «Configura tu Raspberry Pi para acceder remotamente usando No-IP»

  1. […] pd. Si desean acceso externo (por ejm. para colocar descargas desde la oficina) basta con abrir el puerto 9091 en su router, y en lo posible, darle un dominio virtual, como lo indiqué en el post de cómo configurar no-ip para el raspberry. […]

  2. Avatar de xicu
    xicu

    muchas gracias, me ha sido de mucha utilidad

    felicidades:)

  3. Avatar de admin
    admin

    Es super útil, yo me conecto casi todo el tiempo via ssh a mi raspberry desde el telefono o desde mi oficina, para ver como van las cosas en casa 🙂

  4. Avatar de Rafa
    Rafa

    He seguido los pasos que comentas y me dice que la web no esta disponible cuando yo intento acceder a la RPI desde el exterior. Yo creo que porque no le he especificado a cual de los dispositivos conectados a mi router tiene que acceder.

    Mi duda es: cuando yo escribo http://www.xxxxx.dds.net (que es mi host de NO IP) ¿como selecciono a cual de los puertos de la direccion interna de mi RPI quiero acceder?. Yo he abierto en mi router los puertos 22 (para SSH) y 8000 (para webiopi) asociados a la IP interna 192.168.1.38 que es la de la RPi.

    Gracias

  5. Avatar de admin
    admin

    Yo en mi router (si, me puede caer el diablo por hacer esto) pero dejé abiertos todos los puertos para el raspberry, toda peticion que se haga desde fuera caerá hacia en pi, en todos los puertos. Que marca y modelo es tu router para ver si puedo ayudarte con algun dato adicional.

  6. Avatar de Rafa
    Rafa

    El router es el de la marca comtrend que instala movistar cuando tienes contratada fibra optica. Este tema del router creo que lo tengo bien. Mi problema es que no sé como tengo que hacer para decirle a mi router que quiero utilizar el puerto 8000 (y no el 22) cuando accedo a el desde fuera utilizando mi host de NO-IP

  7. Avatar de Luis
    Luis

    Gracias, me ha sido muy útil.

  8. Avatar de Miguel
    Miguel

    Hola, he seguido todos los pasos y no me funciona, cuando voy ha hacer update, pues le pongo el comando y no have nada, hace un intro y me pone para escribir otro comando, ya llevo 2 dias intentando buscar el error, pero no se donde esta, espero que me puedas decir donde esta y asi corregirlo, gracias.

    Miguel B.G.

  9. Avatar de admin
    admin

    Hola Miguel

    Sabes que yo volví a instalar todo mi raspberry porque le cambié la tarjeta sd. Voy a probar nuevamente los pasos y si encuentro el problema que mencionas te aviso

  10. Avatar de David
    David

    Como abro los puertos en un Huawei HG658d, ya tengo conectada mi pi con dos cámaras Logitech y he usado Motion Eye, pero no consigo abrir los puertos para que yo pueda acceder a el desde otra sin hacerlo en mi red local

  11. Avatar de Javier
    Javier

    Hola buenas tardes,he leído tu tutorial, ya tengo mi cuenta de noip, y el cliente en la paspberry, pero no puedo hacer el mapeo desde mi router, oodrias ayudarme, mi router es un huawei hg658d

  12. Avatar de admin
    admin

    Sabes que este último tiempo, he comprado un nuevo router TP-Link, y esta marca incluye dentro de su firmware la conexión directa hacia No-IP para la redireción de puertos. Quizás sonbre la raspberry podrías probar los scripts de DuckDns, que es otro servicio de DNS gratuito

    https://www.duckdns.org/install.jsp

  13. Avatar de leonardo
    leonardo

    Hola mi modem no tiene esa opción de nat es un EchoLife HG520c que hago ??

  14. Avatar de admin
    admin

    Es raro que no tengas la opcion de NAT en tu router. Te recomendaría comprar uno mejor 😀

  15. Avatar de ..ovlac
    ..ovlac

    ahora todos los routers o la mayoria vienen capados de fabrica… lo que pueden hacer es primero que su raspberry tenga una direccion estatica .. por ella misma y que. esa direccion coincida con la de su router (la direccion que uds asignan a las raspi en el router debe coincidir con la de conf de la pi)… luego en port forwarding primero revisan antes con nmap si su router tiene algun puerto abierto tcp y udp… luego si tiene alguno lo que hacen es decirle al router que ese trafico del puerto lo redireccione a su direccion ip estatica de la raspberry en la lan… si esto no funciona entonces deben primero crear reglas con iptables para proteger su rasbpi y luego po erla en el dmz dsl router (la direccion de su raspi estatica …) por ultimo vuelven a verificar en noip que puerto esta abierto… uds usen el servicio de noip que corresponde a el puerto del router… que ya luego la nat transversal se encarga de redireccionar los paquetes a la dirrecion que hayan elegido si no hacen eso y hacen dmz pues entonces la raspi estara al frente del router y tendran que protegerla bien con iptables… tambien pueden hacer un tunel ipsec. o un tunel con un protocolo encapsulado que atraviese el router y llegue a la maquina en cuestión pero eso ya es mas complicadillo y no lo he probado aun ( yo solo hablo de lo que pruebo) la verdad es que si lo pensamos hay muchas formas de entrar a un router… switch, repetidor etc… solo hay que investigar, es gratis.

Responder a admin Cancelar la respuesta