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