Donde incluimos algunos ficheros de zona reales.
Algunos usuarios han sugerido que incluya un ejemplo real de un dominio en funcionamiento además del ejemplo del tutorial.
Yo uso este ejemplo con permiso de David Bullock de LAND-5. Estos archivos eran los usados el 24 de Septiembre de 1996, se han editado para adaptarse a las restricciones de BIND 8 y uso mis extensiones. Así lo que ve podría diferir de los que encuentres si preguntas ahora al servidor de nombres LAND-5.
Aquí encontramos las secciones de zonas principales para
las dos zonas de resolución inversa necesarias: tanto la red
127.0.0 como la subred 206.6.177
de LAND-5, y una
línea primaria para la zona de reenvío de land-5,
land-5.com
. También observa que en lugar de
almacenar los ficheros en un directorio llamado pz
,
como hace en este COMO, él los pone en un directorio llamado
zone
.
// Boot file for LAND-5 name server options { directory "/var/named"; }; controls { inet 127.0.0.1 allow { localhost; } keys { rndc_key; }; }; key "rndc_key" { algorithm hmac-md5; secret "c3Ryb25nIGVub3VnaCBmb3IgYSBtYW4gYnV0IG1hZGUgZm9yIGEgd29tYW4K"; }; zone "." { type hint; file "root.hints"; }; zone "0.0.127.in-addr.arpa" { type master; file "zone/127.0.0"; }; zone "land-5.com" { type master; file "zone/land-5.com"; }; zone "177.6.206.in-addr.arpa" { type master; file "zone/206.6.177"; };
Si pones esto en tu fichero named.conf para probar POR
FAVOR pon ``notify no;
'' en la sección de
zona para las dos zonas land-5
para evitar
accidentes.
Tenga en cuenta que este fichero es dinámico, y el listado aquí es viejo. Lo mejor es usar uno creado ahora, con dig, como se explicaba antes.
; <<>> DiG 8.1 <<>> @A.ROOT-SERVERS.NET. ; (1 server found) ;; res options: init recurs defnam dnsrch ;; got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10 ;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13 ;; QUERY SECTION: ;; ., type = NS, class = IN ;; ANSWER SECTION: . 6D IN NS G.ROOT-SERVERS.NET. . 6D IN NS J.ROOT-SERVERS.NET. . 6D IN NS K.ROOT-SERVERS.NET. . 6D IN NS L.ROOT-SERVERS.NET. . 6D IN NS M.ROOT-SERVERS.NET. . 6D IN NS A.ROOT-SERVERS.NET. . 6D IN NS H.ROOT-SERVERS.NET. . 6D IN NS B.ROOT-SERVERS.NET. . 6D IN NS C.ROOT-SERVERS.NET. . 6D IN NS D.ROOT-SERVERS.NET. . 6D IN NS E.ROOT-SERVERS.NET. . 6D IN NS I.ROOT-SERVERS.NET. . 6D IN NS F.ROOT-SERVERS.NET. ;; ADDITIONAL SECTION: G.ROOT-SERVERS.NET. 5w6d16h IN A 192.112.36.4 J.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.10 K.ROOT-SERVERS.NET. 5w6d16h IN A 193.0.14.129 L.ROOT-SERVERS.NET. 5w6d16h IN A 198.32.64.12 M.ROOT-SERVERS.NET. 5w6d16h IN A 202.12.27.33 A.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.4 H.ROOT-SERVERS.NET. 5w6d16h IN A 128.63.2.53 B.ROOT-SERVERS.NET. 5w6d16h IN A 128.9.0.107 C.ROOT-SERVERS.NET. 5w6d16h IN A 192.33.4.12 D.ROOT-SERVERS.NET. 5w6d16h IN A 128.8.10.90 E.ROOT-SERVERS.NET. 5w6d16h IN A 192.203.230.10 I.ROOT-SERVERS.NET. 5w6d16h IN A 192.36.148.17 F.ROOT-SERVERS.NET. 5w6d16h IN A 192.5.5.241 ;; Total query time: 215 msec ;; FROM: roke.uio.no to SERVER: A.ROOT-SERVERS.NET. 198.41.0.4 ;; WHEN: Sun Feb 15 01:22:51 1998 ;; MSG SIZE sent: 17 rcvd: 436
Sólo lo básico, el registro SOA y el registro que
asocia 127.0.0.1 con localhost
. Ambos son necesarios.
No es necesario nada más en este fichero. Probablemente
nunca tendrá que actualizarse, salvo que cambien las
direcciones del servidor de nombres o del hostmaster.
@ IN SOA land-5.com. root.land-5.com. ( 199609203 ; Serial 28800 ; Refresh 7200 ; Retry 604800 ; Expire 86400) ; Minimum TTL NS land-5.com. 1 PTR localhost.
Si miras una instalación de BIND al azar, probablemente
encontrarás que falta una línea $TTL
como aquí. Esto no se usaba antes, y sólo la
versión 8.2 de BIND ha comenzado a avisarnos de su ausencia.
BIND 9 requiere el $TTL
.
N.T. Mira de nuevo los datos de syslog para detectar la ausencia de un TTL predeterminado.
Aquí vemos el registro SOA
obligatorio y los
registros NS
necesarios. Podemos observar que dispone
de un servidor de nombres secundario ns2.psi.net
. Esto
es como debe ser, ten siempre un servidor secundario de
seguridad. También podemos ver que tiene una máquina
principal llamada land-5
que se encarga de todos los
diferentes servicios de internet, y que se ha hecho usando
CNAME
(una alternativa al uso de los registros
A
).
Como puedes ver en el registro SOA
, el origen del
archivo de zona es land-5.com
, la persona de contacto
es root@land-5.com.
hostmaster
es otro uso frecuente para la persona de contacto. El número
de serie en el formato habitual yyyymmdd con el
número de serie de hoy añadido; esta es probablemente
la sexta versión del archivo de zona del 20 de Septiembre de
1996. Recuerde que el número de serie debe incrementarse
monótonamente, aquí hay sólo un
dígito para las series de hoy, así que después
de 9 ediciones tendrás que esperar hasta mañana antes
de poder editar el el archivo de nuevo. Considera el uso de dos
dígitos.
$TTL 3D @ IN SOA land-5.com. root.land-5.com. ( 199609206 ; serial, todays date + todays serial # 8H ; refresh, seconds 2H ; retry, seconds 4W ; expire, seconds 1D ) ; minimum, seconds NS land-5.com. NS ns2.psi.net. MX 10 land-5.com. ; Primary Mail Exchanger TXT "LAND-5 Corporation" localhost A 127.0.0.1 router A 206.6.177.1 land-5.com. A 206.6.177.2 ns A 206.6.177.3 www A 207.159.141.192 ftp CNAME land-5.com. mail CNAME land-5.com. news CNAME land-5.com. funn A 206.6.177.2 ; ; Workstations ; ws-177200 A 206.6.177.200 MX 10 land-5.com. ; Primary Mail Host ws-177201 A 206.6.177.201 MX 10 land-5.com. ; Primary Mail Host ws-177202 A 206.6.177.202 MX 10 land-5.com. ; Primary Mail Host ws-177203 A 206.6.177.203 MX 10 land-5.com. ; Primary Mail Host ws-177204 A 206.6.177.204 MX 10 land-5.com. ; Primary Mail Host ws-177205 A 206.6.177.205 MX 10 land-5.com. ; Primary Mail Host ; {Many repetitive definitions deleted - SNIP} ws-177250 A 206.6.177.250 MX 10 land-5.com. ; Primary Mail Host ws-177251 A 206.6.177.251 MX 10 land-5.com. ; Primary Mail Host ws-177252 A 206.6.177.252 MX 10 land-5.com. ; Primary Mail Host ws-177253 A 206.6.177.253 MX 10 land-5.com. ; Primary Mail Host ws-177254 A 206.6.177.254 MX 10 land-5.com. ; Primary Mail Host
Si examinas el servidor de nombres de land-5 verás que
los nombres de host son de la forma
ws_
number. Como desde las versiones de BIND 4
named fuerza la restricción sobre qué caracteres se
pueden usar en los nombres de máquina. Por eso no
funcionará del todo con BIND-8 y he sustituido '-' (guiones)
por los '_' (subrayados) para usarlo en este COMO. Pero como se
mencianaba anteriormente BIND9 ya no fuerza esta
restricción.
Otra cosa a tener en cuenta es que las estaciones de trabajo no tienen nombres propios, sino un prefijo seguido por las dos últimas porciones de los números IP. Usar tal convención puede simplificar el mantenimiento significativamente, pero puede resultar un poquito impersonal, y de hecho, ser una fuente de irritación de los clientes.
También vemos que funn.land-5.com
es un
alias de land-5.com
, pero usando un registro A, no un
registro CNAME. Esto es una buena política como observamos
anteriormente.
Ya comentaré este fichero más abajo.
$TTL 3D @ IN SOA land-5.com. root.land-5.com. ( 199609206 ; Serial 28800 ; Refresh 7200 ; Retry 604800 ; Expire 86400) ; Minimum TTL NS land-5.com. NS ns2.psi.net. ; ; Servers ; 1 PTR router.land-5.com. 2 PTR land-5.com. 2 PTR funn.land-5.com. ; ; Workstations ; 200 PTR ws-177200.land-5.com. 201 PTR ws-177201.land-5.com. 202 PTR ws-177202.land-5.com. 203 PTR ws-177203.land-5.com. 204 PTR ws-177204.land-5.com. 205 PTR ws-177205.land-5.com. ; {Many repetitive definitions deleted - SNIP} 250 PTR ws-177250.land-5.com. 251 PTR ws-177251.land-5.com. 252 PTR ws-177252.land-5.com. 253 PTR ws-177253.land-5.com. 254 PTR ws-177254.land-5.com.
La zona de resolución inversa es la parte de la
configuración que parece crear más dolores de cabeza.
Se usa para encontrar el nombre de la máquina a partir de
su dirección IP. Ejemplo: supon que estás en un
servidor FTP y acepta conexiones de clientes ftp
. El
servidor ftp
es noruego y quiere aceptar mas
conexiones de clientes de Noruega y otros países
escandinavos y menos del resto del mundo. Cuando se produce una
conexión de un cliente, la librería C es capaz
de indicar el número IP de la máquina conectada
porque el número IP del cliente está contenido en
todos los paquetes que se pasan a través de la red. Ahora
puede llamar a una función llamada
gethostbyaddr
que busca el nombre de la máquina
dada su dirección IP.
gethostbyaddr
interrogará a un servidor DNS
el cual efectuará una búsqueda DNS para la
máquina. Suponiendo que la conexión cliente viene de
ws_177200.land-5.com
, la dirección IP que la
librería C proporciona al servidor irc será
206.6.177.200
. Para encontrar el nombre de la
máquina necesitamos encontrar
200.177.6.206.in-addr.arpa
. El servidor DNS primero
encuentra los servidores arpa.
, después los
servidores in-addr.arpa.
, a continuación sigue
por 206
, 6
y al final busca el servidor
para la zona 177.6.206.in-addr.arpa
en
land-5
. Aquí obtendrá finalmente que
para 200.177.6.206.in-addr.arpa
tenemos un registro
`PTR ws_177200.land-5.com
', que significa que el
nombre que va con 206.6.177.200
es
ws_177200.land-5.com
. Como con la explicación
de cómo buscar prep.ai.mit.edu
, esto es
ligeramente ficticio.
Volviendo al ejemplo del servidor FTP. El servidor FTP prioriza
las conexiones de los países escandinavos, osea,
*.no
, *.se
, y *.dk
; el
nombre ws_177200.land-5.com
claramente no se ajusta a
ninguno de ellos, y el servidor pondrá la conexión en
la clase de conexiones con menor ancho de banda y menor
número de clientes. Si no hubiese habido resolución
inversa de 206.2.177.200
mediante la zona
in-addr.arpa
el servidor habría sido incapaz de
de encontrar el nombre y habría tenido que comparar
206.2.177.200
con *.no
, *.se
y *.dk
, es decir, cifras con nombres, ninguna de las
cuales concordaría, e incluso podría haber denegado
la conexión por falta de clasificación.
Algunas personas te dirán que la resolución inversa sólo es importante para los servidores, o que no tienen importancia. No es así; muchos servidores de ftp, news, irc e incluso algunos servidores http (WWW) NO aceptarán conexiones de máquinas de las cuales no son capaces de resolver el nombre. Por tanto la asociacion inversa de máquinas es de hecho obligatoria.