Outils pour utilisateurs

Outils du site


reseau:dns

Zone DNS faimaison.net

La zone faimaison.net est administrée sur philmore et servie par nsd.

Pour référence, voici la sortie d'un dig -t SOA de la zone en fonctionnement normal :

;; QUESTION SECTION:
;faimaison.net.                 IN      SOA

;; ANSWER SECTION:
faimaison.net.          3403    IN      SOA     philmore.faimaison.net. adminsys.faimaison.net. 2020061203 10800 3600 604800 3600

;; AUTHORITY SECTION:
faimaison.net.          1454    IN      NS      philmore.faimaison.net.
faimaison.net.          1454    IN      NS      bosco.faimaison.net.
faimaison.net.          1454    IN      NS      ns6.gandi.net.

;; ADDITIONAL SECTION:
philmore.faimaison.net. 1339    IN      A       89.234.177.205
bosco.faimaison.net.    1454    IN      A       91.224.149.122
philmore.faimaison.net. 1355    IN      AAAA    2a00:5881:1040:100::53
bosco.faimaison.net.    1454    IN      AAAA    2a03:7220:8081:7a00::53

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Jun 12 08:55:11 CEST 2020
;; MSG SIZE  rcvd: 286

Modification de la zone

Philmore fait office de DNS maître, la configuration se fait donc dessus.

  1. ssh philmore.faimaison.net
  2. passer en root avec sudo -i
  3. cd /etc/nsd/master
  4. cp db.faimaison.net db.faimaison.net.orig # backup avant de faire une modification :)
  5. nano db.faimaison.net
    • rajouter/supprimer/modifier des entrées
    • remplacer le serial par la date courante (tout en haut du fichier)
  6. vérifier avec adminsys@ # optionnel, si on n'est pas sûr de soit
  7. Recharger la zone dns avec service nsd reload

Reverse-DNS

(voir aussi Adresses publiques)

La gestion du reverse-DNS de nos blocs IPv4 et IPv6 nous est déléguée. Elle est donc gérée par nsd, comme les enregistrements DNS, dans un fichier de zone. La seule chose qui peut être déroutante est que seule la fin (dernier octet) de l'adresse est mentionée dans le fichier de zone.

Par exemple, l'enregistrement de reverse-DNS pour 89.234.176.252, s'écrit, dans /etc/nsd/master/db.176.234.89.in-addr.arpa :

252   IN  PTR fresk.faimaison.net.

Pour trouver le reserve-DNS d'une ip, par exemple de l'IPv6 2a00:5881:1040:100::53 , on peut utiliser la commande dig de la façon suivante:

dig -x 2a00:5881:1040:100::53

La réponse DNS affichée sera:

; <<>> DiG 9.11.5-P4-5.1+deb10u1-Debian <<>> -x 2a00:5881:1040:100::53
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61996
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 5

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;3.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.4.0.1.1.8.8.5.0.0.a.2.ip6.arpa. IN PTR

... reste de la réponse ...

La section qui nous intéresse est QUESTION SECTION:. Ici, question posée par la commande dig est:

3.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.4.0.1.1.8.8.5.0.0.a.2.ip6.arpa. IN PTR

C'est cette ligne qu'il faudra utilisée dans le fichier de zone reverse.

Délégation DNS

Certains membres nous demandent s'il est possible qu'ils gèrent eux-même les reverse DNS liés à leurs IPv4 et leurs IPv6. C'est possible, la procédure change peu. Il faut que le membre ait au moins deux serveurs DNS qui pourront répondre aux requêtes PTR pour sa zone.

Exemple en IPv6 pour le sous-réseau 2a00:5881:1044:d300::/56 :

3.d.4.4.0.1.1.8.8.5.0.0.a.2.ip6.arpa. NS ns1.example.org.
3.d.4.4.0.1.1.8.8.5.0.0.a.2.ip6.arpa. NS ns2.example.org.

En IPv4 c'est un poil plus compliqué, on ne souhaite déléguer le reverse que pour une seule IPv4 à la fois. Exemple pour l'adresse 89.234.176.19 :

19 CNAME 19.19/32
19/32 NS ns1.example.org.
19/32 NS ns2.example.org.

Pour plus de détails sur le méchanisme utilisé pour IPv4, voir la RFC2317.

Vérification des modifications

Les commandes suivantes peuvent être utilisées pour vérifier les enregistrements ajoutés, modifiés ou supprimés. Ces commandes envoient une requête DNS au serveur DNS de FAImaison. La configuration doit donc avoir été rechargée après les modifications.

  • Pour tester l'enregistrement nom → IPv4: dig @philmore.faimaison.net A NOM
  • Pour tester l'enregistrement nom → IPv6: dig @philmore.faimaison.net AAAA NOM
  • Pour tester l'enregistrement inverse IPv4 ou IPv6 → nom: dig @philmore.faimaison.net -x IPv4_ou_IPv6

Esclave DNS pour d'autres FAI de la fédération

:!: Pas à jour ? Recette non utilisée depuis sa création.

Il y a une recette ansible nsd-slave.yml, pour configurer des zones pour lesquelles notre serveur DNS fait office d'esclave, c'est-à-dire qu'il peut répondre aux requêtes de la zone en faisant autorité à la place du maître si on lui demande.

Le serveur esclave prend le contenu de la zone DNS depuis le serveur maître à intervalles réguliers.

La configuration du maître est laissée à la discrétion des adminsys de l'autre FAI ;-) Pour l'instant le transfert de zone a été testé avec succès et TSIG depuis un bind et depuis nsd.

Le principe de fonctionnement de la recette ansible est le suivant :

  • un fichier de configuration contient les informations de chaque zone : il est lu par ansible pour générer un fichier par zone servie
  • ces fichiers de zone sont inclus depuis un fichier slaves.zones qui est regénéré à chaque exécution de la recette en même temps que les fichiers de zones en eux même.

Ensuite le fichier de configuration principal inclut le fichier de zone slave (la recette s'assure que c'est toujours le cas).

Configuration des zones

Voici un exemple de fichier de configuration pour la recette :

zones:
  autre-fai.tld:
    reverse: 0.168.192.in-addr.arpa
    ip: 192.168.0.7
    tsig: true
    key_name: faimaison-autreFAI
    secret: stoi-le-secret

La clé autre-fai.tld définit la zone pour laquelle on est esclave. ip est nécessaire pour donner l'adresse IP du serveur maître à contacter, et reverse donne la zone reverse.

Si l'option tsig est à true, la vérification de la clé du master sera activée, sinon ce sera le template de zone sans clé qui sera utilisé.

Avec TSIG, le nom de la clé doit être le même côté serveur maître et côté esclave, sinon la vérification est refusée. Le partage des clé sera de préférence à faire de manière chiffrée entre les adminsys de l'autre et les adminsys d'ici.

Pour référence, voici un exemple de ligne de commande pour générer la clé, côté maître :

dnssec-keygen -a HMAC-SHA1 -b 160 -n HOST ${FAINAME_HOSTNAME}-faimaison
reseau/dns.txt · Dernière modification : 2022/11/06 01:42 de jca