Delegar un / 22 es fácil, es una delegación de los 4/24. A / 14 es delegación de los 4 / 16s, etc.
RFC2317 cubre los casos especiales con una máscara de red más larga que / 24. Básicamente, no hay una forma súper limpia de delegar zonas de inaddr.arpa en cualquier cosa que no sean límites de octetos, pero puede solucionar esto. Digamos que quiero delegar 172.16.23.16/29, que serían las direcciones IP 172.16.23.16 -> 172.16.23.23.
Como propietario de la zona 23.16.172.in-addr.arpa, podría poner esto en mi archivo de zona 23.16.172.rev para delegar este rango a mi cliente:
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.
Entonces, puede ver que estoy definiendo una nueva zona (16-29.23.16.172.in-addr.arpa.) Y delegándola en los servidores de nombres de mis clientes. Luego estoy creando CNAME a partir de las IP para delegarlas al número correspondiente en la zona recién delegada.
Como cliente al que se le han delegado estos, haría algo como lo siguiente en named.conf:
zone "16-29.23.16.172.in-addr.arpa" {
type master;
file "masters/16-29.23.16.172.rev";
};
Y luego, en el archivo .rev, simplemente haría PTR como cualquier zona normal inaddr.arpa:
17 IN PTR office.customer.com.
18 IN PTR www.customer.com.
(etc)
Esa es una manera limpia de hacerlo y hace felices a los clientes inteligentes porque tienen una zona de intr.r.arpa para colocar los PTR, etc. Una forma más corta de hacerlo para los clientes que desean controlar el DNS inverso pero no lo hacen ' Desear configurar una zona completa es simplemente CNAME el registro individual con nombres similares en su zona principal.
En este caso, nosotros, como delegadores, tendríamos algo como esto en nuestro archivo 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.
Por lo tanto, es similar en concepto a la otra idea, pero en lugar de crear una nueva zona y delegarla al cliente, está CNAME enviando los registros a nombres en la zona principal ya existente del cliente.
El cliente tendría algo como esto en su archivo de zona customer.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)
Solo depende del tipo de cliente. Como dije, solo depende del tipo de cliente. Un cliente inteligente preferirá configurar su propia zona inaddr.arpa y considerará muy extraño tener PTR en una zona de nombre de dominio. Un cliente no experto querrá que "simplemente funcione" sin tener que hacer una tonelada de configuración adicional.
Probablemente hay otros métodos, simplemente detallando los dos con los que estoy familiarizado.
Estaba pensando en mi afirmación sobre cómo / 22 y / 14 son fáciles y pensando por qué es cierto, pero cualquier cosa entre 25 y 32 es difícil. No he probado esto, pero me pregunto si podría delegar todo el / 32 al cliente de esta manera:
16 IN NS ns1.customer.com.
17 IN NS ns1.customer.com.
(etc)
Luego, en el lado del cliente, capturas todo / 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)
Y luego, en el archivo individual, tendría algo como esto:
@ IN PTR office.customer.com.
La desventaja obvia es que un archivo por / 32 es un poco asqueroso. Pero apuesto a que funcionaría.
Todo lo que mencioné es DNS puro, si algún servidor DNS no te permitió hacerlo es porque está restringiendo la funcionalidad completa de DNS. Mis ejemplos obviamente están usando BIND, pero hemos hecho el lado del cliente de esto usando Windows DNS y BIND. No veo una razón por la que no funcionaría con ningún servidor.
Sí, RFC 2317 , una muy buena lectura, es el camino a seguir.
Además, mi artículo (en francés).
fuente
BIND tiene la macro patentada $ GENERATE para crear secuencias de registros PTR, pero también asume un mundo con clase y no será muy útil para usted. No conozco ningún otro servidor que tenga soporte especial para las zonas inversas CIDR, ¡aunque sospecho que hay demanda para ello!
PowerDNS tiene una interfaz de back-end agradable que le permitiría escribir la suya si el problema es lo suficientemente grande como para que valga la pena el esfuerzo. También puede crear un prototipo con el "PipeBackend". Incluso podría hacer algunas cosas mágicas de SQL a través de las interfaces MySQL / PostgreSQL, especialmente porque Postgres tiene un tipo de datos "cidr".
fuente
http://aa.net.uk/kb-domains-reversedns.html (aproximadamente a la mitad) explica cómo mi ISP hace su DNS inverso. Sospecho que cualquier forma en que lo hagas será feo como el infierno.
fuente