miércoles, 23 de mayo de 2012

DNS dinamicos en RaspberryPI

Configuracion de DynDNS.org para RaspberryPI

... o en Debian, que viene a ser lo mismo

Hola de nuevo, si tienes curro y en este te permiten cierta libertad (serás doblemente afortunado) te gustará tocar remotamente el RaspberryPi que tengas en casa. Para esto necesitas una IP fija, si no dispones de ella puedes usar algún DNS dinámico del tipo DynDNS.org.

No voy a explicar como darte de alta en un servicio de este tipo, es gratuito y se parece a cualquier otro servicio que puedas darte de alta. El caso es que tienes que acabar con un dyndns del tipo memolamiraspberrypi.dyndns.org ;)

Muchos ruters ADSL de los que nos da por ejemplo Jazztel, permiten configurar directamente este servicio entre su configuración. Por mi experiencia recomiendo configurarlo en el ruter y en algún otro equipo de tu red, como por ejemplo en el RaspberryPi.

Manos a la obra, vamos a ver que tenemos en los repositorios oficiales:
apt-cache search dyndns
Salen muchos, eso es bueno, tenemos donde elegir. Yo voy a probar con:
sudo apt-get install ddclient

Nos pregunta el usuario, clave y dyndns que hemos registrado anteriormente:
Es bastante fácil. Por algún motivo que desconozco ahora mismo, la primera vez que se instala no nos pregunta si queremos que funcione como demonio o al arrancar ppp (la conexión en si misma). Lo mejor es como demonio, así que ejecutamos:
dpkg-reconfigure ddclient
y volvemos a configurarlo.

14 comentarios:

  1. Hola,

    Creo que DynDNS ahora es de pago. ¿Existe alguna alternativa?

    ResponderEliminar
    Respuestas
    1. Hay más webs que ofrecen el mismo servicio, pero tienes que asegurarte de que dispones de un cliente adecuado. De todas formas DynDNS es gratuito, el servicio más básico, creo que caduca si no lo usas en unas semanas, pero el cliente que explico en el post, se actualiza cada 5 minutos, así que en principio no tiene que caducar.

      Eliminar
  2. Las cuentas gratuitas siguen permitiendo hasta dos hosts.
    Para todo lo demás, pagando.

    ResponderEliminar
  3. ya no ahora lo maximo gratis que te deja son 14 dias de prueva

    ResponderEliminar
    Respuestas
    1. que no hombre, la cuenta básica es gratis, a ver si estas contratando lo que no es.

      Eliminar
    2. Buenas , soy un segueidor de éste fantástico blog,estoy en eso de ponerme un nombre . Me pasa lo mismo que a josemi, sólo me dejan un trial de 14 días pero nada de usar un dominio gratis.

      Un saludo

      Eliminar
    3. Muy buenas. Me encanta este blog y lo demas (bla bla).
      En cuanto a las cuentas gratuitas de Dyn... es cierto que tienes que abrir una cuenta PRO de pruebas por 14 días (sí, hay que poner una tarjeta de crédito), pero antes de esos 14 días podeis cancelar la versión PRO y así os quedará la clásica cuenta FREE, aunque con sólo un dominio, claro jeje.

      Eliminar
    4. gracias tus comentarios ... blah blah ... :) es cierto ahira hay que hacer eso para dyndns, en el momento de escribir el post era 100% free sin tarjetas. Afortunadamente tenemos no-ip.org

      Eliminar
    5. gracias tus comentarios ... blah blah ... :) es cierto ahira hay que hacer eso para dyndns, en el momento de escribir el post era 100% free sin tarjetas. Afortunadamente tenemos no-ip.org

      Eliminar
  4. He estado intentado configurar mediante el ddclient mi host en no-ip y me ha sido imposible, tras mirar la documentación del protocolo, he montado un simple script que simularía a la perfección lo que necesitamos. Lo comparto por si a alguien le es útil.

    #!/bin/sh

    USER="" # Aquí iría el usuario de nuestra cuenta noip
    PASS="" # Aquí el password de nuestra cuenta

    HOSTNAME="" # Aquí nuestro memolamiraspberrypi.dyndns.org de turno :)

    while [ true ]
    do

    wget -O - retornoCambioIp --user=$USER --password=$PASS http://dynupdate.no-ip.com/nic/update?hostname=$HOSTNAME 2> /dev/null

    sleep 300

    done

    Yo me almaceno en un fichero lo que devuelve la request para de vez en cuando comprobar que no haya habido ningún error.

    Juan Mol, ¿donde considerarías que sería mejor ponerlo para que se ejecute cada vez que la raspberry se inicie?

    Un saludo.

    ResponderEliminar
  5. La línea del wget debería ser:

    wget -O retornoCambioIp --user=$USER --password=$PASS http://dynupdate.no-ip.com/nic/update?hostname=$HOSTNAME 2> /dev/null

    ResponderEliminar
    Respuestas
    1. si quieres hacer el bucle tu mismo y confiar que nunca se va a para el proceso, lo arrancas en /etc/rc.local pero si quieres puedes poner el wget directamente en /etc/crontab cada 5 minutos en plan :
      */5 * * * * root wget .....
      ya me contarás!

      Eliminar
    2. Antes de que me respondieras probé lo del /etc/rc.local , por cierto se tiene que poner de la forma que cree un hilo independiente, de lo contrario, se quedaría colgado en el proceso de carga, es decir se tiene que poner como ./script &

      Pero creo que me gusta más lo del cron, muchas gracias :).

      Eliminar
  6. Podriais hacer un pequeño tuto para poner el scrip con no-ip?

    ResponderEliminar