Nomadns

Documentation

Configurer un client

Chaque sous-domaine a ses propres jetons, créés depuis sa fiche dans votre espace. Remplacez dans les exemples le sous-domaine, l’identifiant et le secret par ceux du jeton ; la fiche affiche les mêmes blocs déjà remplis.

Adresses de l’API

AdresseUsage
api.nomadns.netmises à jour DynDNS2 et API ACME, en IPv4 et en IPv6
api4.nomadns.netmêmes routes, joignables en IPv4 seulement
api6.nomadns.netmêmes routes, joignables en IPv6 seulement
/ipsur ces trois adresses : renvoie l’adresse IP de la connexion, en texte brut, sans authentification

Mise à jour DynDNS2

Une requête par sous-domaine, authentifiée en HTTP Basic avec l’identifiant et le secret du jeton :

GET https://api.nomadns.net/nic/update?hostname=sous-domaine.nomadns.net&myip=203.0.113.7,2001:db8::7
Authorization: Basic base64(identifiant:secret)

myip accepte une IPv4, une IPv6 ou les deux séparées par une virgule. Sans myip, l’adresse de la connexion est retenue pour sa famille, et l’autre famille ne change pas. Seules les adresses publiques sont acceptées.

RéponseSignification
goodadresse changée et publiée par le serveur primaire
nochgadresse identique, rien n’est modifié
badauthidentifiant ou secret refusé (HTTP 401)
notfqdnhostname absent ou hors de nomadns.net
nohostsous-domaine inconnu ou différent de celui du jeton
numhostplusieurs noms dans hostname
abusesous-domaine ou compte suspendu, ou limite dépassée
badagentméthode autre que GET ou POST
911erreur du service ou publication plus lente que prévu (HTTP 503) ; un changement d’adresse reste enregistré et la relance reçoit nochg

Limites : 120 requêtes par heure et par sous-domaine, 60 changements d’adresse par jour et par sous-domaine (modifications web comprises ; elles restent toujours possibles), 10 échecs d’authentification par 10 minutes et par adresse IP.

Réglages par client

ddclient et acme.sh ont été vérifiés contre l’API ; les réglages d’OpenWrt et de la Fritz!⁠Box suivent leur documentation.

ddclient

protocol=dyndns2
server=api.nomadns.net
ssl=yes
usev4=webv4, webv4=https://api4.nomadns.net/ip
usev6=webv6, webv6=https://api6.nomadns.net/ip
login=identifiant
password='secret'
sous-domaine.nomadns.net

OpenWrt (ddns-scripts)

config service 'nomadns_v4'
    option enabled '1'
    option lookup_host 'sous-domaine.nomadns.net'
    option domain 'sous-domaine.nomadns.net'
    option username 'identifiant'
    option password 'secret'
    option update_url 'https://[USERNAME]:[PASSWORD]@api.nomadns.net/nic/update?hostname=[DOMAIN]&myip=[IP]'
    option use_https '1'
    option cacert '/etc/ssl/certs'
    option ip_source 'network'
    option ip_network 'wan'

Fritz!Box

IPv4 seulement : l’adresse IPv6 que fournit la Fritz!⁠Box est la sienne, pas celle de la machine servie.

URL : https://api.nomadns.net/nic/update?hostname=<domain>&myip=<ipaddr>
Domaine / Domain : sous-domaine.nomadns.net
Utilisateur / User : identifiant
Mot de passe / Password : secret

acme.sh (DNS-01)

ACMEDNS_BASE_URL est indispensable : sans elle, acme.sh envoie l’identifiant et le secret au service public auth.acme-dns.io.

export ACMEDNS_BASE_URL=https://api.nomadns.net
export ACMEDNS_USERNAME=identifiant-acme
export ACMEDNS_PASSWORD='secret'
export ACMEDNS_SUBDOMAIN=sous-domaine
acme.sh --issue --dns dns_acmedns -d sous-domaine.nomadns.net

Vérifier le résultat

La fiche du sous-domaine indique l’état « Servi » quand les trois serveurs de noms publient l’adresse. Depuis un terminal :

dig +short A sous-domaine.nomadns.net @ns1.nomadns.net
dig +short AAAA sous-domaine.nomadns.net @ns1.nomadns.net