Deux façons d'utiliser FastDDNS sur pfSense
Le panneau de votre hostname propose deux configurations. Méthode 2 ajoute FastDDNS au client DDNS intégré Services > Dynamic DNS en tant que fournisseur personnaliséCustom — c'est celle à privilégier, car pfSense l'enregistre dans la configuration et la sauvegarde. Méthode 1 consiste à coller un script d'une ligne dans le shell, qui installe une tâche cron exécutée toutes les deux minutes. Cela fonctionne immédiatement, mais pfSense ne gère pas cette tâche.
La numérotation ci-dessous suit les étiquettes de votre panneau, et non l'ordre que nous recommandons. Configurez la Méthode 2 pour une utilisation à long terme ; utilisez la Méthode 1 lorsque vous souhaitez envoyer immédiatement une mise à jour sans remplir de formulaire.
| Méthode 2 — client DDNS intégré | Méthode 1 — script crontab | |
|---|---|---|
| Lieu d'utilisation | Services > Dynamic DNS dans l'interface web | Diagnostics > Command Prompt, ou via SSH |
| Enregistré dans la configuration pfSense | Oui | Non — voir la limite ci-dessous |
| Conservé après une restauration de la configuration ou une réinstallation | Oui | Non |
| Déclenchement de la mise à jour | Lorsque l'adresse de l'interface surveillée change, ainsi qu'une vérification quotidienne | Toutes les 2 minutes, quoi qu'il arrive |
| Difficulté de configuration | Sept champs, dont quatre copiés depuis le panneau | Un seul collage |
| Idéal pour | La configuration permanente | Une première mise à jour immédiate ou un test rapide |
Avant de commencer
Quatre choses, dont deux déterminent si l'accès à distance fonctionnera ou non.
- Un hostname FastDDNS. Créez-en un gratuitement sur FastDDNS, puis ouvrez-le et faites défiler la page jusqu'à DDNS Configuration Parameters > Firewall pfSense.
- Un accès administrateur à l'interface web pfSense, ainsi qu'un accès shell uniquement si vous prévoyez d'utiliser la méthode 1.
- Une véritable IP publique sur l'interface WAN. Si votre FAI vous place derrière un NAT de type Carrier-Grade, le DDNS ne peut rien faire : le hostname pointerait vers une adresse inaccessible depuis l'extérieur du réseau du FAI. Vérifiez l'adresse WAN sur le tableau de bord pfSense ou exécutez le vérificateur CGNAT dans le application mobile FastDDNS.
- Des règles de pare-feu et de NAT pour tout ce que vous souhaitez rendre accessible. Le DDNS ne fait que maintenir le nom associé à la bonne adresse ; l'accès reste sous votre responsabilité. Vérifiez-le ensuite avec Port Check.
Sur le tableau de bord pfSense, une adresse appartenant à 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 ou 100.64.0.0/10 sur l'interface WAN indique qu'un équipement en amont effectue le NAT. La plage 100.64.0.0/10 est celle réservée au NAT de type Carrier-Grade.
Méthode 2 — ajouter FastDDNS comme client DNS dynamique personnalisé
C'est la configuration qu'il vaut la peine de conserver. pfSense la stocke dans config.xml, elle est donc restaurée avec la configuration et survit à une réinstallation.
Étape 1 — copier l'URL de mise à jour depuis votre panneau de hostname
Ouvrez votre hostname, faites défiler la page jusqu'à DDNS Configuration Parameters et développez Firewall pfSense. Tout ce dont vous avez besoin pour les deux méthodes se trouve dans ce panneau :

Copiez la boîte Update URL sous Method 2. Elle contient déjà votre hostname et vos identifiants :
https://client.fastddns.net/?hostname=myhome.fastddns.net&user_name=YOUR-USERNAME&user_pass=YOUR-UPDATE-PASSWORDLes trois valeurs en majuscules représentent les informations privées de votre compte — le panneau les remplit pour vous.
Étape 2 — ouvrir le client Dynamic DNS
Dans l’interface web pfSense, allez à Services > Dynamic DNS et cliquez sur + Add.
Étape 3 — remplir les champs
| Champ | Valeur | Pourquoi |
|---|---|---|
| Service Type | Custom |
FastDDNS ne figure pas dans la liste des fournisseurs intégrés, et ce n’est pas nécessaire |
| Interface to Monitor | WAN |
L’interface dont le changement d’adresse doit déclencher une mise à jour |
| Hostname | votre hostname FastDDNS | L’URL de mise à jour le contient déjà. Pour le type Custom, ce champ correspond principalement au libellé que vous verrez dans la liste |
| Update URL | l’URL de l’étape 1 | Collez-la en entier. Il n’y a pas de %IP%valeur à substituer — FastDDNS enregistre l’adresse depuis laquelle la requête arrive |
| Force IPv4 DNS Resolution | coché | Résout l’hôte de mise à jour uniquement sur IPv4. L’adresse enregistrée par FastDDNS est donc votre adresse WAN IPv4, plutôt qu’une adresse IPv6 |
| Result Match | laisser vide | pfSense compare cette valeur à l’ensemble de la réponse. FastDDNS renvoie goodun message de réussite après une modification et nochgun message indiquant qu’aucune modification n’a eu lieu lorsque rien n’a changé. Aucune chaîne fixe unique ne correspond donc aux deux cas — les instructions du panneau n’en définissent pas |
| Description | FastDDNS.net |
Texte libre, pour votre propre référence |

Étape 4 — enregistrer, puis lire la colonne de statut
Cliquez sur Save & Force Update. De retour sur la Services > Dynamic DNS, la colonne Cached IP devrait se remplir avec votre adresse WAN actuelle. Une entrée vide, ou une entrée qui reste obsolète après une mise à jour forcée, signifie que la mise à jour n'a pas abouti — le tableau de dépannage ci-dessous explique pourquoi.
Une chose à comprendre à propos de cette méthode : elle est déclenchée par des événements, et non par un signal périodique toutes les deux minutes. Netgate indique que le service se met à jour lorsqu'une adresse d'interface change
et pfSense fournit également une entrée cron par défaut qui s'exécute /etc/rc.dyndns.update une fois par jour à 01:01 comme filet de sécurité. Ainsi, une mise à jour échouée est bien réessayée — mais pas dans les minutes qui suivent. Lorsque vous en avez besoin immédiatement, utilisez Save & Force Update.
Si vous préférez appeler le même point de terminaison depuis votre propre script, les paramètres sont documentés sur la page de l'API client FastDDNS.
Le guide ci-dessous est un enregistrement plus ancien : le panneau semble donc différent des captures d'écran présentées ici. Les champs et l'ordre des étapes restent les mêmes.
Méthode 1 — le script crontab en une ligne
Étape 1 — copiez le script depuis votre panneau hostname
Dans le même panneau Firewall pfSense, copiez la case située sous Method 1. Il s'agit d'une seule ligne construite autour de la même URL de mise à jour :
((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";Dans la ligne réelle, chaque URL ci-dessus correspond à votre URL de mise à jour complète de l'étape 1 de la méthode 2. Copiez-la depuis le panneau plutôt que de la composer manuellement.

Étape 2 — exécutez-le
Collez la ligne dans Diagnostics > Command Prompt, dans la case Execute Shell Command, puis cliquez sur Execute. Une session SSH ou l'option 8 depuis la console fonctionne tout aussi bien.
L'avertissement de Netgate s'applique à cette page en général : elle exécute tout ce que vous collez avec des privilèges complets, et une commande incorrecte peut rendre le pare-feu inutilisable. Collez uniquement la ligne de votre panneau. La commande doit également se terminer et rendre la main — c'est le cas de celle-ci, ce qui permet de l'exécuter ici sans problème.
Étape 3 — comprendre les deux messages
Recherchez l'une de ces deux lignes à la fin de la sortie. Elles signifient des choses différentes :
| Message | Ce qui s'est passé |
|---|---|
| Added Dynamic DNS Script to crontab successfully | Il n'y avait aucune entrée FastDDNS dans le crontab, donc une entrée a été ajoutée et une mise à jour a été envoyée immédiatement |
| FastDDNS is available | Une entrée était déjà présente, donc rien n'a été modifié |
La vérification est un simple grep pour client.fastddns.net dans tout le crontab. Cela vous empêche d'installer le job deux fois — mais cela signifie aussi que si vous ajoutez un deuxième hostname sur le même pare-feu, le script trouvera le premier et refusera d'ajouter quoi que ce soit. La ligne cron du deuxième hostname doit être ajoutée manuellement.
C'est grep aussi pourquoi la deuxième exécution affiche plus d'une ligne : une correspondance est affichée, et la ligne correspondante est l'entrée cron, qui contient votre URL de mise à jour complète — nom d'utilisateur et mot de passe inclus. Si vous exécutez cette commande sous le regard de quelqu'un ou collez la sortie dans un ticket, c'est cette ligne qu'il faut supprimer.
La ligne planifiée exécute elle-même fetch, le téléchargeur FreeBSD fourni avec pfSense, et utilise curl en cas d'échec.
Étape 4 — la limite à connaître avant de vous y fier
pfSense conserve ses propres tâches planifiées dans config.xml et reconstruit la crontab système à partir de ce fichier. Un job ajouté avec crontab - se trouve dans la crontab de l'utilisateur root, que pfSense ne gère pas et n'inclut pas dans une sauvegarde de configuration. Deux conséquences :
- Si vous restaurez une configuration ou réinstallez le pare-feu, le job ne sera plus là — alors que le client Dynamic DNS de la méthode 2 le serait.
- Si System > Advanced > Miscellaneous a activé les disques RAM pour
/tmpet/var, la crontab root se trouve en RAM. Netgate précise que seules les données RRD, les baux DHCP, les journaux et les données du Captive Portal sont conservés après un redémarrage avec ces disques RAM — la crontab n'en fait pas partie.
Rien de tout cela ne rend la méthode 1 incorrecte. Elle permet de mettre à jour maintenant et constitue une mauvaise solution pour laisser le système fonctionner ainsi pendant un an. Si vous voulez un job cron que pfSense conserve réellement, installez le package Cron et ajoutez la même ligne par son intermédiaire.
Un autre enregistrement plus ancien montrant la méthode du script avec l'ancienne version du panneau.
Vérifiez que le hostname est bien mis à jour
Quelle que soit la méthode utilisée, vérifiez-le sous trois angles.
Dans pfSense, Services > Dynamic DNS affiche un Cached IP pour chaque entrée — cette valeur doit correspondre à votre adresse WAN. Si vous avez utilisé la Méthode 1, vérifiez que la tâche existe et exécutez-la une fois manuellement depuis le shell :
crontab -l
fetch -o - "PASTE-YOUR-UPDATE-URL-HERE"Cette deuxième commande affiche la réponse du serveur. Elle doit commencer par good si l'adresse vient de changer, ou nochg si elle était déjà correcte — FastDDNS peut ajouter l'adresse qu'il a enregistrée. badauth est la seule réponse qui identifie clairement le problème : le nom d'utilisateur ou le mot de passe de mise à jour est incorrect. Toute autre réponse, ou l'absence de réponse, ne permet pas de conclure à elle seule : lisez ce qui est effectivement renvoyé, puis consultez le journal système.
Depuis l'extérieur, résolvez le hostname et comparez-le à votre adresse publique :
nslookup myhome.fastddns.netEnfin, votre panneau hostname affiche un horodatage Last Updated qui se met à jour dès que Not yet updated le pare-feu se signale pour la première fois. FastDDNS applique une nouvelle adresse en moins de 60 secondes, même si un cache DNS local peut conserver l'ancienne un peu plus longtemps.
Dépannage du DDNS pfSense
| Ce que vous voyez | Pourquoi | Que faire |
|---|---|---|
La réponse est badauth |
Nom d'utilisateur ou mot de passe de mise à jour incorrect dans l'URL | Copiez à nouveau l'URL de mise à jour depuis le panneau ; si vous venez d'un autre fournisseur, consultez le guide sur remplacer une adresse de serveur No-IP ou DynDNS |
| Cached IP reste vide après l'enregistrement | Le client n'a pas pu joindre l'hôte de mise à jour, ou l'URL a été tronquée lors du collage | Utilisez Save & Force Update, puis consultez Status > System Logs > System > General ; l'activation de Verbose Logging dans l'entrée affiche l'échange complet |
| Le hostname se résout vers une adresse IPv6 | L'hôte de mise à jour a été joint via IPv6 ; c'est donc cette adresse qui a été enregistrée | Cochez Force IPv4 DNS Resolutionsur l'entrée Dynamic DNS et forcez une mise à jour |
| Chaque mise à jour est enregistrée comme ayant échoué alors que le hostname est correct | Result Matchest défini sur une chaîne fixe, et la réponse alterne entre good et nochg |
Effacez le champ Result Matchpour désactiver la vérification du résultat |
| La méthode 1 a fonctionné, puis s'est arrêtée après un redémarrage ou une restauration de configuration | La tâche cron est en dehors de config.xml, et peut se trouver sur un disque RAM |
Configurez plutôt la méthode 2, ou ajoutez la ligne via le Cron |
| Le nom d'hôte se résout, mais rien ne répond sur votre port | Le hostname se résout, mais rien ne répond sur votre port | Le DDNS fonctionne ; c'est le chemin vers le réseau qui ne fonctionne pasPort Check |
| Ajoutez les règles NAT et de pare-feu, puis testez depuis l'extérieur avec | Le hostname se résout vers une adresse qui n'est pas votre IP publique | Le pare-feu se trouve derrière une autre couche NAT, souvent le CGNAT |
| Comparez l'adresse WAN affichée sur le tableau de bord avec celle indiquée par un service de recherche d'IP publique ; si elles diffèrent, demandez une IP publique à votre FAI | Un nom d'hôte gratuit est renouvelé une fois par an, et un nom temporaire dure 30 jours | Renouvelez-le depuis votre compte, ou passez à un plan dont les noms d'hôte n'expirent pas |
Gardez votre URL de mise à jour privée
L'URL de mise à jour contient votre hostname, votre nom d'utilisateur et votre mot de passe de mise à jour sous forme de paramètres de requête en clair. Elle est stockée ainsi dans la configuration de pfSense et, avec la méthode 1, dans le crontab : toute personne pouvant lire une sauvegarde de configuration peut lire ces identifiants. Traitez un export de configuration pfSense comme un fichier de mots de passe et ne collez jamais une URL de mise à jour non masquée dans un fil de forum ou un ticket de support. Si vous l'avez déjà fait, changez le mot de passe de mise à jour dans votre compte et reconfigurez l'entrée.
Questions fréquentes
Dois-je utiliser le client Dynamic DNS ou le script cron ?
Utilisez le client Dynamic DNS sous Services > Dynamic DNS pour tout ce que vous souhaitez conserver. pfSense l'enregistre dans la configuration : il fait donc partie des sauvegardes et revient après une réinstallation. Le script cron est le moyen le plus rapide d'effectuer une première mise à jour, mais pfSense ne gère pas cette tâche et elle peut être perdue après un redémarrage ou une restauration de configuration.
Dois-je ouvrir un port pour la mise à jour DDNS elle-même ?
Non. pfSense ouvre une connexion HTTPS sortante vers FastDDNS ; aucune règle entrante n'est donc nécessaire pour la mise à jour. Vous avez toutefois besoin de port forwarding et de règles de pare-feu pour les services auxquels vous souhaitez accéder via le hostname, par exemple le port 554 pour RTSP ou le port web d'une caméra.
Pourquoi le panneau me demande-t-il de forcer la résolution IPv4 ?
Parce que FastDDNS enregistre l'adresse depuis laquelle votre requête arrive. Si pfSense résout l'hôte de mise à jour en une adresse IPv6 et se connecte via IPv6, c'est cette adresse qui est enregistrée, et votre A record devient incorrect ou vide. Forcer la résolution IPv4 maintient la mise à jour sur le même protocole que l'adresse que vous souhaitez publier.
Cela fonctionnera-t-il si mon FAI utilise le CGNAT ?
Non. Derrière un NAT de niveau opérateur, votre pare-feu n’a pas sa propre adresse IP publique. Il n’y a donc aucune adresse vers laquelle un hostname pourrait pointer utilement, et les connexions entrantes sont bloquées par le FAI. Le DNS dynamique résout les adresses qui changent, pas l’absence d’adresse publique. Demandez une adresse IP publique à votre FAI ou utilisez un service qui établit un tunnel sortant.
Vous utilisez autre chose en périphérie ? La même URL de mise à jour fonctionne partout où une requête HTTPS planifiée peut être envoyée, notamment sur la configuration MikroTik RouterOS.





