Vous avez besoin d'un FQDN (Full Qualified Domain Name) mais vous n'avez pas un nom de domaine ? Ce n'est pas un problème xip.ninja est là pour vous.

xip.ninja  est service de DNS qui fournit des enregistrements DNS sans que vous disposiez d’un nom de domaine :  très utile pour faire des tests d'application qui nécessite obligatoirement un DNS, comme un vCenter.

Supposons que vos adresses IP de votre réseau local soient 10.0.0.1 et 10.0.0.2:

le nom sera résolu en
10.0.0.1.xip.ninja 10.0.0.1
www.10.0.0.1.xip.ninja 10.0.0.1
monsite.10.0.0.2.xip.ninja 10.0.0.2

Exemple :

$ dig www.192.168.0.1.xip.ninja

; <<>> DiG 9.11.5-P4-5.1ubuntu2.1-Ubuntu <<>> www.192.168.0.1.xip.ninja
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20339
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;www.192.168.0.1.xip.io.                IN      A

;; ANSWER SECTION:
www.192.168.0.1.xip.io. 300     IN      A       192.168.0.1

;; Query time: 253 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Fri Jan 10 10:46:48 CET 2020
;; MSG SIZE  rcvd: 67

Comment cela fonctionne-t-il ?

xip.ninja est un fork de xip.io qui utilise le serveur DNS PowerDNS modifié.
Lorsque votre ordinateur recherche un domaine xip.ninja, le serveur xip.ninja extrait l'adresse IP du domaine et le renvoie dans la réponse.

Par rapport à la version d'origine  j'ai ajouté :

  • le support des enregistrements AAAA (IPv6). Exemple :
$ dig v6-2001-41d0-404-200--3632.xip.ninja AAAA +short
2001:41d0:404:200::3632
  • le support des tirets au lieu des points pour plus de compatibilité avec les applications :
# dig 192-168-0-2.xip.ninja A +short
192.168.0.2
# dig 192.168.0.2.xip.ninja A +short
192.168.0.2
  • la possibilité de configurer les champs MX et TXT
# dig xip.ninja MX +short
10 mail.mousqueton.io.
# dig xip.ninja TXT +short
"google-site-verification=cY2Qo-e_0E0Xh0Bb_uwj1TH2pn0AoyBwbMJNZysGcBk"

xip.ninja  est hébergé sur un VPS OVH Cloud et le nom de domaine est enregistré chez Gandi. Le code source est disponible sur mon Github.