Página siguiente Página anterior Índice general

7. Un ejemplo de dominio real

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.

7.1 /etc/named.conf (o /var/named/named.conf)

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.

7.2 /var/named/root.hints

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

7.3 /var/named/zone/127.0.0

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.

7.4 /var/named/zone/land-5.com

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&commat;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.

7.5 /var/named/zone/206.6.177

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.


Página siguiente Página anterior Índice general