Como no siempre estoy en casa, es interesante poder acceder a nuestra maquina desde fuera de nuestra red local.
Para poder acceder necesitaremos saber nuestra ip, pero a no ser que tengamos contratada un ip fija, nuestra ip cambiara cada x días, dependiendo del operador.
El problema es que o bien miramos cada poco tiempo nuestra ip publica, o prescindimos de este parámetro y utilizamos un servicio de DNS Dinámico.
En este caso utilizare el servicio de DnsExit.
Primero accedemos a la web y nos creamos una cuenta. Después crearemos un dominio, que sera nuestra puerta para acceder desde Internet.
Ya tenemos el dominio creado ahora falta relacionarlo con nuestra ip dinámica.
Podemos descargar en la misma pagina el agente que comprobara nuestra ip y la actualizara en el servidor para que siempre podamos acceder.
Me he descargado el agente ipUpdate-1.70 que permite el funcionamiento del agente como daemon, además incluye un crontab para arrancar el servicio después de un reboot. Descomprimo el agente:
tar xzvf ipUpdate-1.70.tar.gzSe crea una carpeta dnsexit, dentro de ella hay dos ficheros importantes, ipUpdate.pl y setup.pl.
IpUpdate.pl ejecuta el agente que actualiza la IP en el servidor.
Setup.pl ejecuta el wizard de configuración.Ejecuto la configuración
$ sudo ./setup.plLo ejecuto como sudo, también lo puedo hacer como mi usuario, pero luego hay problemas a la hora de crear los archivos.
Welcome to DNSExit.Com Dynamic IP update setup script. Please run this script as root user. Please follow instructions to setup our script. Enter the username to dnsexit.com: Pepin Enter password for your username: ****Se inicia el script, nos pide el nombre de usuario y la contraseña de nuestra cuenta.
Si los datos son correctos continuaremos adelante.
Validating your login credentials... Login Successfully... Fetching your DNS domains. It may take a while... Note: You should setup DNS for the domain first at your web account to get the domain listed below. Please select the domains to update: 0 pepin.miblog.net [separate multi selects by space] Your selection:0Ahora nos da a elegir entre nuestros dominios. En este caso nos muestra solo uno, que es el que hemos creado anteriormente en la web.
Feching hosts in your domains. This may take a while... Please select host(s) to be updated: 0 pepin.miblog.net [separate multi selects by space] Your selection: 0Lo mismo que antes pero para los hosts en los dominios.
You have selected the following hosts to be updated: pepin.miblog.net Do you want to run it as a daemon? Your choice [yes]:Queremos correr el cliente como daemon para este dominio?
How often (in minutes) should the program checks IP changes ? IP will be posted to dnsExit.com only when IP address has been changed from the last update (minimum 3 minutes): Your choice [10]: 480Cada cuantos minutos el programa comprobara la ip por si ha cambiado.
Do you want to autostart the IPUpdate script at system startup? Your choice [yes]: yesQueremos que el cliente autoarranque cuando se inicie el sistema?
Please select the directory to install the script: 0 /home/pepin/dnsexit 1 /usr/local/bin 2 /usr/sbin Your selection: 2Donde queremos instalar el script? en mi caso he elegido /usr/sbin, la primera opción me aparece porque estoy corriendo este script desde esa ruta.
ipUpdate.pl installed to /usr/sbin "@reboot /usr/sbin/ipUpdate.pl" inserted to crontab Generating config file: /etc/dnsexit.conf Done creating config file. You can run the script now. To do it you can run ipUpdate.pl or use init script. File '/tmp/dnsexit-ip.txt' will cache the ip address of the last successful IP update to our system. For next update, if the IP stays the same, the update request won't be sent to our server. You can simply change the IP at dnsexit-ip.txt file to force the update to DNSEXIT. Here are paths to some intresting files: Config file: /etc/dnsexit.conf Pid file: /var/run/ipUpdate.pid Log file: /var/log/dnsexit.log Cache file: /tmp/dnsexit-ip.txt Don't forget to read README.txt file in doc directory!Ya hemos acabado.
Ahora nos indica que el script se ha instalado en la ruta que le hemos indicado.
Que ha añadido al crontab, del sudo y no del usuario, el trabajo de iniciar el cliente en cada reinicio de la maquina.
Se ha generado el fichero /etc/dnsexit.conf, con los datos de configuración.
El cliente comprobara nuestra ip publica, lo hace a través de la web http://ip.dnsexit.com/ y la guarda en el archivo /tmp/dnsexit-ip.txt, y la actualizara en el servidor, en la siguiente comprobación si la ip publica y el contenido de ese archivo es el mismo no hará nada, de lo contrario reescribe el archivo temporal y actualiza el servidor.
El log se guarda en /var/log/dnsexit.log
En cualquier momento podemos forzar la comprobación de la ip ejecutando
/usr/sbin/ipUpdate.plCon esto ya podemos acceder desde Internet a nuestra maquina, a través del dominio que hemos creado en la web. Desde Linux:
ssh pepin@pepin.miblog.netSiendo pepin el usuario y pepin@miblog.net el dominio que hemos creado.
Primero, si hemos cambiado el puerto de SSH hay que abrirlo en el router para que nos permita acceder desde fuera.
Segundo, tenemos una puerta directa a Internet. Eso es una ventaja, ya que nos permitirá acceder desde cualquier lugar, pero también es un gran peligro, cualquiera puede intentar forzar la cerradura de esa puerta. A partir de aquí la seguridad es muy importante, hay que tomar medidas, cambiando el puerto de acceso, el usuario, estableciendo una contraseña segura, estableciendo políticas de acceso, como el número máximo de intentos, o el tiempo de login, etc...
Algunas de ellas ya las comente en el post sobre seguridad en SSH.
Saludos.
No hay comentarios:
Publicar un comentario