Saltar la navegación

db.local

El fichero db.local es un fichero de zona que va a permitir resolver el nombre localhost a la dirección de loopback 127.0.0.1. Es importante esta zona porque el nombre localhost es ampliamente utilizado en muchos contextos.

La instrucción zone que enlaza con db.local se encuentra en named.conf.default-zones:

# cat /etc/bind/named.conf.default-zones 
...
zone "localhost" {
    type master;
    file "/etc/bind/db.local";
};
...

El nombre del dominio es localhost, el tipo de zona es master, por lo que el servidor es autoritario sobre la zona, y file señala al fichero de zona donde están los RR.

# cat /etc/bind/db.local 
;
; BIND data file for local loopback interface
;
$TTL    604800
@    IN    SOA    localhost. root.localhost. (
                  2        ; Serial
             604800        ; Refresh
              86400        ; Retry
            2419200        ; Expire
             604800 )    ; Negative Cache TTL
;
@    IN    NS    localhost.
@    IN    A    127.0.0.1
@    IN    AAAA    ::1

Como se ve en el fichero de zona, solo se asocia un RR A al nombre del dominio (@ IN A 127.0.0.1), por lo que el nombre localhost se traduce a 127.0.0.1 (::1 en caso de IPv6). Estrictamente esta zona sirve para traducir nombres como www.localhost, pero únicamente está pensada para traducir el nombre localhost, por eso solo hay un RR A para el dominio, y no para otros nombres.

Es importante recordar que en Debian, el fichero /etc/nsswitch.conf establecía el orden en el que se consultan las distintas fuentes para traducir nombres, y este indica que la consulta al fichero /etc/hosts va antes que la consulta al servidor dns, por lo que si no cambiamos nada, la traducción de localhost se hace vía /etc/hosts; en realidad el efecto es el mismo, pero es importante tenerlo bien presente.

Licencia: licencia de software libre GPL