web-dev-qa-db-fra.com

DNS inversé dans un monde de la CIDR

Les DNS inversés semblent être fortement liés aux limites de la classe, quelles méthodes existent maintenant que la CIDR est la norme de déléguer une autorité pour un sous-réseau? Si plusieurs méthodes existent la meilleure? Avez-vous besoin de gérer la délégation différemment en fonction du serveur DNS (BIND, DJBDNS, Microsoft DNS, Autre)? Disons que j'ai le contrôle d'un réseau qui est une classe B 168.192.in-addr.arpa, veuillez fournir des exemples pour:

  • Comment déléguer l'autorité pour A/22?
  • Comment déléguer l'autorité pour A/25?
24
Zoredache

La délégation d'A/22 est facile, sa délégation des 4/24. A/14 est la délégation des 4/16, etc.

RFC2317 Couvre les cas spéciaux avec un masque NetM supérieur à/24. Fondamentalement, il n'y a pas de manière super propre à faire de la délégation de zones in-addr.Arpa sur quoi que ce soit, mais également des limites d'octet, mais vous pouvez contourner cela. Disons que je souhaite déléguer le 172.16.23.16/29, qui seraient les adresses IP 172.16.23.16 -> 172.16.23.23.

En tant que propriétaire de la zone 23.16.172.in-addr.Arpa, je pourrais poser cela dans mon fichier de zone 23.16.172.rev pour déléguer cette gamme à mon client:

16-29              IN NS  ns1.customer.com
16-29              IN NS  ns2.customer.com
16                 IN CNAME    16.16-29.23.16.172.in-addr.arpa.
17                 IN CNAME    17.16-29.23.16.172.in-addr.arpa.
18                 IN CNAME    18.16-29.23.16.172.in-addr.arpa.
19                 IN CNAME    19.16-29.23.16.172.in-addr.arpa.
20                 IN CNAME    20.16-29.23.16.172.in-addr.arpa.
21                 IN CNAME    21.16-29.23.16.172.in-addr.arpa.
22                 IN CNAME    22.16-29.23.16.172.in-addr.arpa.
23                 IN CNAME    23.16-29.23.16.172.in-addr.arpa.

Ainsi, vous pouvez voir que je définisiez une nouvelle zone (16-29.23.16.172.in-addr.arpa.) Et la déléguant aux serveurs de noms de mon client. Ensuite, je crée des CNAMES de l'IPS à déléguer au numéro correspondant dans la zone nouvellement déléguée.

En tant que client à qui ils ont été délégués, je ferais quelque chose comme ce qui suit dans Named.conf:

zone "16-29.23.16.172.in-addr.arpa" { 
    type master;
    file "masters/16-29.23.16.172.rev";
};

Et puis dans le fichier .rev, je ferais simplement des PTR comme n'importe quelle zone normale in-addr.Arpa:

17                 IN PTR office.customer.com.
18                 IN PTR www.customer.com.
(etc)

C'est une sorte de façon propre de le faire et cela rend le client advevé heureux, car ils ont une zone in-addr.Arpa pour mettre les PTRS dans, etc. une façon plus courte de le faire pour le client qui veulent contrôler les DNS inverse mais Don ' t Vous souhaitez mettre en place une zone entière consiste à simplement enregistrer individuellement un enregistrement individuel dans leur zone principale.

Dans ce cas, nous, en tant que délégateurs, aurait quelque chose comme celui-ci dans notre fichier 23.16.172.rev:

16                 IN CNAME    16.customer.com.
17                 IN CNAME    17.customer.com.
18                 IN CNAME    18.customer.com.
19                 IN CNAME    19.customer.com.
20                 IN CNAME    20.customer.com.
21                 IN CNAME    21.customer.com.
22                 IN CNAME    22.customer.com.
23                 IN CNAME    23.customer.com.

Il est donc similaire au concept de l'autre idée, mais au lieu de créer une nouvelle zone et de la déléguer au client, vous êtes cname des enregistrements aux noms de la zone principale déjà existante du client.

Le client aurait quelque chose comme celui-ci dans leur fichier de zone Computer.com:

office             IN A   172.16.23.17
17                 IN PTR office.customer.com.
www                IN A   172.16.23.18
18                 IN PTR www.customer.com.
(etc)

Cela dépend simplement du type de client. Comme je l'ai dit, cela dépend simplement du type client. Un client averti préférera configurer sa propre zone in-addr.Arpa et pensera qu'il est très étrange d'avoir des PTR dans une zone de nom de domaine. Un client non avertisseur voudra "travailler" sans avoir à faire une tonne de configuration supplémentaire.

Il y a probablement d'autres méthodes, détaillant juste les deux que je connais.


Je pensais que je pensais à ma déclaration sur la façon dont/22 et/14 sont faciles et en pensant pourquoi c'est vrai, mais tout ce qui est entre 25 et 32 ​​est difficile. Je n'ai pas testé cela, mais je me promène si vous pouviez déléguer l'ensemble du client comme celui-ci:

16                 IN NS ns1.customer.com.
17                 IN NS ns1.customer.com.
(etc)

Ensuite, du côté client, vous attrapez la totalité/32:

zone "16.23.16.172.in-addr.arpa" { type master; file "masters/16.23.16.172.rev"; };
zone "17.23.16.172.in-addr.arpa" { type master; file "masters/17.23.16.172.rev"; };
(etc)

Et puis dans le fichier individuel, vous auriez quelque chose comme ça:

@            IN PTR office.customer.com.

L'inconvénient évident est qu'un seul fichier par/32 est un peu brut. Mais je parie que cela fonctionnerait.

Tout ce que j'ai mentionné est pur DNS, si un serveur DNS ne vous a pas laissé faire, c'est parce qu'il limitent la fonctionnalité complète de DNS. Mes exemples utilisent évidemment BIND, mais nous avons effectué le côté client de cela à l'aide de Windows DNS et de lier. Je ne vois pas une raison pour laquelle cela ne fonctionnerait avec aucun serveur.

31
jj33

Oui, RFC 2317 , une très bonne lecture, c'est la voie à suivre.

En outre, mon article (en français).

3
bortzmeyer

http://aa.net.uk/kb-domains- rafersedns.html (environ la moitié de la route) explique comment mon fournisseur de services Internet est leur DNS inverse. Je soupçonne toute façon de le faire ça va être laids comme l'enfer.

0
David Pashley

Bind a la macro de génération excédentaire $ pour créer des séquences d'enregistrements PTR, mais elle assume également un monde en classe et ne vous sera pas très utile. Je ne connais aucun autre serveur qui dispose d'un soutien spécial pour les zones inverse de la CIDR, bien que je soupçonne qu'il y ait la demande!

PowerDNS a une belle interface backend qui vous permettrait d'écrire votre propre si le problème est assez important pour la faire valoir l'effort. Vous pouvez également prototyper en utilisant la "pipebackend". Vous pouvez même faire des choses Magic SQL via les interfaces MySQL/PostgreSQL - d'autant plus que Postgres a un type de données "CIDR".

0
Gavin Brown