Ubiquiti: Refrescar DNS dinámico detrás de Router.

Hoy os traigo un mini tutorial para el router Ubiquiti pueda refrescar vuestra IP detrás de un Router de un ISP. Me refiero al tipo de estructura que muestro en la imagen.

Acceder al Router a través de SSH

Para solucionar este problema, lo haremos accediendo al dispositivo desde la terminal SSH. Para ello necesitamos un cliente SSH, en mi caso usaré el que trae la Powershell de Windows.

Para acceder debemos introducir el siguiente comando, sustituyendo Zonaxer por el nombre de usuario que tengamos para acceder y la IP (192.168.1.1) por la ip de nuestro router Ubiquiti .

ssh Zonaxer@192.168.1.1

Nos pedirá la contraseña y si todo lo hemos introducido de forma correcta nos aparece la siguiente pantalla:

Modificar archivo vyatta-dynamic-dns.pl

El archivo que adquiere esa información y refresca nuestra IP es el vyatta-dynamic-dns.pl. Para acceder escribimos el siguiente comando:

sudo -u root vi /opt/vyatta/sbin/vyatta-dynamic-dns.pl

Esto nos nos abre el archivo vyatta-dynamic-dns.pl con el editor de texto vi con los privilegios de root. Pulsamos la tecla “a” para entrar en modo edición.

Ahora debemos de buscar la siguiente línea, usando las flechas del teclado para ayudarnos:

$output .= "use=if, if=$interface\n\n\n";

Esa línea la comentamos o si queremos la podemos borrar. En nuestro caso la vamos a comentar poniendo al inicio de la línea un #.

Seguidamente debajo de esa línea, o si la hemos borrado en el mismo lugar, debemos de introducir el siguiente comando:

$output .= "use=web, web=checkip.dyndns.com/, web-skip='IP Address: '\n";

Lo que hace esa línea es que si no ha conseguido la IP por alguna razón, hace una petición externa a la web checkip.dyndns.com donde recibirá la IP pública, borrando el texto inicial, quedando simplemente la IP y asignándola a la variable output.

Ahora solo nos queda guardar todo y reiniciar el router. Para guardar y salir usamos el comando(debemos salir primero del modo edición pulsa ESC una vez):

:wq

Una vez veamos de nuevo la terminal, escribimos el siguiente comando y pulsamos Intro para aceptar:

reboot

Ahora esperamos que se reinicie, para comprobar que todo ha salido correctamente usaremos el siguiente comando:

show dns dynamic status

En la respuesta en el apartado de ip address debemos de ver nuestra IP pública del router.Si vemos la siguiente respuesta:

interface    : eth2
ip address   : 192.168.1.1
host-name    : dinamic.ddns.net
last update  : Thu May 11 11:41:39 2023
update-status: good

Entonces, algo ha fallado, comprobaremos que el archivo se ha guardado correctamente y forzaremos la actualización de la ip.

Forzar actualización DNS

Lo primero que necesitamos saber es cual es nuestra interface WAN, para ello escribimos el siguiente comando y buscamos donde dice WAN.

show interfaces

En mi caso veo lo siguiente, en tu router puede aparecer de otra forma:

eth2         192.168.1.1/24                    u/u  WAN

Ahora forzamos la actualización con el comando(si en tu caso es eth0 modifica el comando):

update dns dynamic interface eth2

Ahora si todo ha ido bien, al introducir de nuevo el comando “show dns dynamic status” debemos ver:

interface    : eth2
ip address   : 1.1.1.1 (IP PÚBLICA DEL ROUTER)
host-name    : dinamic.ddns.net
last update  : Thu Jun  1 18:27:37 2023
update-status: good

¡Y hasta aquí llegamos por hoy! Espero que este post te haya servido de ayuda. No olvides estar atento, porque pronto tendremos más consejos y novedades para compartir contigo. ¡Nos vemos en la próxima!


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio