Dos formas de ejecutar FastDDNS en pfSense
El panel de tu hostname ofrece dos configuraciones. Método 2 agrega FastDDNS al cliente Services > Dynamic DNS DDNS integrado como proveedor Custom — este es el que debes conservar, porque pfSense lo almacena en la configuración y lo respalda. Método 1 pega un script de una línea en la shell que instala una tarea cron que se ejecuta cada dos minutos. Funciona al instante, pero pfSense no gestiona esa tarea.
La numeración a continuación sigue las etiquetas de tu panel, no el orden que recomendamos. Configura el Método 2 a largo plazo; recurre al Método 1 cuando quieras enviar una actualización de inmediato sin pasar por un formulario.
| Método 2 — cliente DDNS integrado | Método 1 — script de crontab | |
|---|---|---|
| Dónde se ejecuta | Services > Dynamic DNS en la interfaz web | Diagnostics > Command Prompt, o mediante SSH |
| Se guarda en la configuración de pfSense | Sí | No — consulta el límite a continuación |
| Sobrevive a una restauración de la configuración o una reinstalación | Sí | No |
| Cuándo envía una actualización | Cuando cambia la dirección de la interfaz supervisada, además de una comprobación diaria | Cada 2 minutos, independientemente de todo lo demás |
| Esfuerzo de configuración | Siete campos, cuatro de ellos copiados del panel | Pegar una línea |
| Adecuado para | La configuración permanente | Una primera actualización inmediata o una prueba rápida |
Antes de comenzar
Cuatro cosas, y dos de ellas determinan si el acceso remoto funcionará o no.
- Un hostname de FastDDNS. Créelo gratis en FastDDNS, luego ábralo y desplácese hasta DDNS Configuration Parameters > Firewall pfSense.
- Acceso de administrador a la interfaz web de pfSense, y acceso al shell solo si planea usar el Método 1.
- Una IP pública real en la interfaz WAN. Si su proveedor de Internet lo coloca detrás de CGNAT, el DNS dinámico no puede ayudar: el hostname apuntaría a una dirección que nadie fuera de la red del proveedor podría alcanzar. Compruebe la dirección WAN en el panel de control de pfSense o ejecute el comprobador de CGNAT en app móvil FastDDNS.
- Reglas de firewall y NAT para aquello a lo que quiera acceder. DDNS solo mantiene el nombre apuntando a la dirección correcta; usted debe encargarse de establecer el acceso. Confírmelo después con Verificación de Puertos.
En el panel de control de pfSense, una dirección dentro de 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 o 100.64.0.0/10 en la interfaz WAN significa que algo situado aguas arriba está haciendo el NAT. El rango 100.64.0.0/10 es el reservado para CGNAT.
Método 2 — agregar FastDDNS como cliente de DNS dinámico personalizado
Esta es la configuración que conviene conservar. pfSense la almacena en config.xml, por lo que se recupera al restaurar la configuración y sobrevive a una reinstalación.
Paso 1 — copiar la URL de actualización desde el panel de su hostname
Abra su hostname, desplácese hasta DDNS Configuration Parameters y expanda Firewall pfSense. Todo lo que necesita para ambos métodos está en ese único panel:

Copie la Update URL debajo de Method 2. Ya contiene tu hostname y tus credenciales:
https://client.fastddns.net/?hostname=myhome.fastddns.net&user_name=YOUR-USERNAME&user_pass=YOUR-UPDATE-PASSWORDLos tres valores en mayúsculas representan la información privada de tu cuenta; el panel los completa por ti.
Paso 2 — abre el cliente de Dynamic DNS
En la interfaz web de pfSense, ve a Services > Dynamic DNS y haz clic en + Add.
Paso 3 — completa los campos
| Campo | Valor | Motivo |
|---|---|---|
| Service Type | Custom |
FastDDNS no está en la lista de proveedores integrados, y no es necesario que lo esté |
| Interface to Monitor | WAN |
La interfaz cuyo cambio de dirección debe activar una actualización |
| Hostname | tu hostname de FastDDNS | La URL de actualización ya lo incluye, así que, para el tipo Custom, esto es principalmente la etiqueta que verás en la lista |
| Update URL | la URL del paso 1 | Pégala completa. No hay %IP% que sustituir; FastDDNS registra la dirección desde la que llega la solicitud |
| Force IPv4 DNS Resolution | marcado | Resuelve el host de actualización únicamente mediante IPv4, por lo que la dirección que registra FastDDNS es tu dirección WAN IPv4 y no una IPv6 |
| Result Match | dejar vacío | pfSense compara esto con la respuesta completa. FastDDNS responde good después de un cambio y nochg cuando no ha cambiado nada, así que no hay una única cadena fija que coincida con ambas; las instrucciones del propio panel no establecen ninguna |
| Description | FastDDNS.net |
Texto libre, para tu propia referencia |

Paso 4 — guarda y lee la columna de estado
Haz clic en Save & Force Update. De vuelta en la Services > Dynamic DNS lista, la Cached IP columna debería mostrar tu dirección WAN actual. Una entrada vacía, o una que siga desactualizada después de una actualización forzada, significa que la actualización no se realizó correctamente — la tabla de solución de problemas de abajo explica por qué.
Hay algo importante que entender sobre este método: se activa por eventos, no mediante una comprobación cada dos minutos. Netgate documenta que el servicio se actualiza cuando cambia la dirección de una interfaz, y pfSense también incluye una entrada cron predeterminada que se ejecuta /etc/rc.dyndns.update una vez al día a las 01:01 como medida de seguridad. Por lo tanto, una actualización fallida sí se vuelve a intentar, pero no en cuestión de minutos. Si necesitas actualizarla de inmediato, usa Save & Force Update.
Si prefieres usar el mismo endpoint desde tu propio script, los parámetros están documentados en la página de la API del cliente FastDDNS.
La guía que aparece a continuación es una grabación antigua, por lo que el panel se ve diferente de las capturas de pantalla de aquí. Los campos y el orden de los pasos son los mismos.
Método 1 — el script de una línea para crontab
Paso 1 — copia el script desde tu panel de hostname
En el mismo Firewall pfSense panel, copia el cuadro que aparece debajo de Method 1. Es una línea basada en la misma URL de actualización:
((crontab -l >/dev/null && crontab -l | grep -i "client.fastddns.net") || ((crontab -l; echo '*/2 * * * * fetch "URL" -o /dev/null || curl -s "URL"') | crontab -; fetch "URL" -o /dev/null || curl -s "URL"; printf "\n\nAdded Dynamic DNS Script to crontab successfully\n\n"; exit 1;)) && printf "\n\nFastDDNS is available \n\n";En la línea real, cada URL que aparece arriba es tu URL de actualización completa del Paso 1 del Método 2. Cópiala del panel en lugar de crearla manualmente.

Paso 2 — ejecútalo
Pega la línea en Diagnostics > Command Prompt, dentro del cuadro Execute Shell Command, y pulsa Execute. Una sesión SSH o la opción 8 de la consola funcionan igual de bien.
La advertencia de Netgate se aplica a esta página en general: ejecuta todo lo que pegues con privilegios completos, y un comando incorrecto puede dejar inutilizable el cortafuegos. Pega únicamente la línea de tu panel. El comando también debe finalizar y devolver el control; este lo hace, por lo que es seguro ejecutarlo aquí.
Paso 3 — qué significan los dos mensajes
Busca una de estas dos líneas al final de la salida. Significan cosas diferentes:
| Mensaje | Qué ocurrió |
|---|---|
| Added Dynamic DNS Script to crontab successfully | No había ninguna entrada de FastDDNS en el crontab, así que se añadió una y se envió una actualización de inmediato |
| FastDDNS is available | Ya había una entrada, así que no se cambió nada |
La comprobación es un simple grep para client.fastddns.net en todo el crontab. Eso evita instalar el trabajo dos veces, pero también significa que si agregas un segundo hostname en el mismo firewall, el script verá el primero y se negará a añadir nada. La línea de cron del segundo hostname debe añadirse manualmente.
Eso grep también explica por qué la segunda ejecución muestra más de una sola línea: se muestra una coincidencia, y la línea coincidente es la entrada de cron, que contiene completa la URL de actualización, incluido el nombre de usuario y la contraseña. Si ejecutas esto delante de alguien o pegas la salida en un ticket, esa es la línea que debes eliminar.
La propia línea programada ejecuta fetch, el descargador de FreeBSD que pfSense incluye, y recurre a curl si eso falla.
Paso 4 — el límite que conviene conocer antes de depender de él
pfSense mantiene sus propias tareas programadas en config.xml y reconstruye el crontab del sistema a partir de ahí. Un trabajo añadido con crontab - se guarda en el crontab del usuario root, que pfSense no administra ni incluye en una copia de seguridad de la configuración. Esto tiene dos consecuencias:
- Si restauras una configuración o reinstalas el firewall, el trabajo ya no estará allí; el cliente de DNS Dinámico del Método 2 sí estaría.
- Si System > Advanced > Miscellaneous tiene discos RAM habilitados para
/tmpy/var, el crontab del usuario root está en la RAM. Netgate documenta que, tras un reinicio, solo se conservan desde esos discos RAM los datos RRD, las concesiones DHCP, los registros y los datos del Portal Cautivo; un crontab no figura en esa lista.
Nada de esto hace que el Método 1 sea incorrecto. Lo convierte en una buena forma de conseguir que la actualización funcione ahora, pero en una mala forma de dejarlo configurado durante un año. Si quieres un trabajo de cron que pfSense conserve de verdad, instala el paquete Cron y añade la misma línea a través de él.
Otra grabación anterior que muestra la opción del script en el diseño anterior del panel.
Comprueba que el hostname realmente se esté actualizando
Cualquiera que sea el método que hayas usado, compruébalo desde tres ángulos.
En pfSense, Services > Dynamic DNS muestra una Cached IP para cada entrada; debería coincidir con tu dirección WAN. Si usaste el Método 1, confirma que el trabajo existe y ejecútalo una vez manualmente desde la shell:
crontab -l
fetch -o - "PASTE-YOUR-UPDATE-URL-HERE"Ese segundo comando muestra la respuesta del servidor. Debería comenzar con good si la dirección acaba de cambiar, o con nochg si ya era correcta; FastDDNS puede añadir la dirección que registró. badauth es la única respuesta que identifica claramente el problema: el nombre de usuario o la contraseña de actualización es incorrecto. Cualquier otra respuesta, o la ausencia de respuesta, no es autoexplicativa: lee lo que realmente se recibió y luego consulta el registro del sistema.
Desde fuera, resuelve el hostname y compáralo con tu dirección pública:
nslookup myhome.fastddns.netPor último, tu panel de hostname muestra una marca de tiempo de Last Updated que cambia desde Not yet updated la primera vez que el firewall informa. FastDDNS aplica una nueva dirección en menos de 60 segundos, aunque una caché DNS local puede conservar la anterior un poco más.
Solución de problemas de pfSense DDNS
| Lo que ves | Por qué | Qué hacer |
|---|---|---|
La respuesta es badauth |
Nombre de usuario o contraseña de actualización incorrectos en la URL | Copia de nuevo la URL de actualización desde el panel; si vienes de otro proveedor, consulta la guía sobre reemplazar una dirección de servidor No-IP o DynDNS |
| Cached IP permanece vacío después de guardar | El cliente no pudo conectarse al host de actualización, o la URL se truncó al pegarla | Usa Save & Force Update, y luego lee Status > System Logs > System > General; activar Verbose Logging en la entrada muestra el intercambio completo |
| El hostname se resuelve en una dirección IPv6 | Se accedió al host de actualización mediante IPv6, por lo que esa es la dirección que se registró | Marcar Force IPv4 DNS Resolution en la entrada de DNS dinámico y forzar una actualización |
| Cada actualización se registra como fallida aunque el hostname sea correcto | Result Match está configurado como una cadena fija, y la respuesta alterna entre good y nochg |
Borrar el campo Result Match para desactivar la verificación de resultados |
| El Método 1 funcionó, pero dejó de hacerlo después de un reinicio o una restauración de la configuración | El trabajo cron está fuera de config.xml, y puede estar en un disco RAM |
Configurar el Método 2 en su lugar, o añadir la línea mediante el Cron |
| El nombre de host se resuelve, pero nada responde en tu puerto | El hostname se resuelve, pero nada responde en tu port | DDNS funciona; el acceso a la red noVerificación de Puerto |
| Añadir las reglas de NAT y firewall, y luego probar desde fuera con | El hostname se resuelve a una dirección que no es tu IP pública | El firewall está detrás de otra capa de NAT, a menudo CGNAT |
| Comparar la dirección WAN del panel con la que muestra una consulta de IP pública; si difieren, pedir a tu ISP una IP pública | Un nombre de host gratuito se renueva una vez al año, y uno temporal dura 30 días | Renuévelo desde su cuenta, o cambie a un plan cuyos nombres de host no caducan |
Mantén privada tu URL de actualización
La URL de actualización contiene tu hostname, nombre de usuario y contraseña de actualización como parámetros de consulta sin cifrar. Se almacena así en la configuración de pfSense y, con el Método 1, en el crontab; cualquiera que pueda leer una copia de seguridad de la configuración puede leer esas credenciales. Trata una exportación de la configuración de pfSense como tratarías un archivo de contraseñas y nunca pegues una URL de actualización sin ocultar sus datos en un hilo de foro o un ticket de soporte. Si ya lo has hecho, cambia la contraseña de actualización en tu cuenta y vuelve a configurar la entrada.
Preguntas frecuentes
¿Debo usar el cliente de DNS dinámico o el script de cron?
Usa el cliente de DNS dinámico en Services > Dynamic DNS para cualquier configuración que quieras conservar. pfSense lo almacena en la configuración, por lo que forma parte de una copia de seguridad y vuelve tras una reinstalación. El script de cron es la forma más rápida de realizar una primera actualización, pero pfSense no gestiona ese trabajo y puede perderse tras un reinicio o una restauración de la configuración.
¿Necesito abrir un port para la propia actualización de DDNS?
No. pfSense abre una conexión HTTPS saliente a FastDDNS, por lo que no se necesita ninguna regla de entrada para la actualización. Aun así, necesitas port forwarding y reglas de firewall para los servicios a los que quieras acceder mediante el hostname, como el 554 para RTSP o el port web de una cámara.
¿Por qué el panel me pide forzar la resolución IPv4?
Porque FastDDNS registra la dirección desde la que llega tu solicitud. Si pfSense resuelve el hostname de actualización a una dirección IPv6 y se conecta mediante IPv6, esa es la dirección que registra, y tu A record termina siendo incorrecto o queda vacío. Forzar la resolución IPv4 mantiene la actualización en el mismo protocolo que la dirección que quieres publicar.
¿Funcionará esto si mi ISP utiliza CGNAT?
No. Detrás de un NAT de nivel de operador, tu firewall no tiene una IP pública propia, así que no hay ninguna dirección útil a la que pueda apuntar un hostname y el ISP bloquea las conexiones entrantes. El DNS dinámico resuelve el problema de las direcciones cambiantes, no el de la falta de una dirección pública. Pide a tu ISP una dirección IP pública o utiliza un servicio que cree un túnel de salida.
¿Ejecutas otra cosa en el borde? La misma URL de actualización funciona en cualquier lugar que pueda realizar una solicitud HTTPS programada, incluida la configuración de MikroTik RouterOS.





