En primer lugar hay que instalar el paquete bind (no tiene dependencias), utilizando el «script» bind-config, con los comandos siguientes:
./bind-config install pkgadd bind#9.7.0-p1-2.pkg.tar.gz
luego se edita el archivo /etc/named.conf
, donde se indican los dominios que resuelve el servidor, entre otras cosas. Por ejemplo:
//============================================================================== // /etc/named.conf //------------------------------------------------------------------------------ options { directory "/var/named"; pid-file "/var/run/named/named.pid"; dump-file "/var/named/dump.named"; listen-on { 127.0.0.1; 192.168.56.1; }; listen-on-v6 { none; }; // forwarders { 8.8.8.8; 8.8.4.4; }; allow-recursion { 127.0.0.1; 192.168.56.0/24; }; allow-transfer { none; }; notify no; empty-zones-enable no; request-ixfr yes; recursion yes; auth-nxdomain no; }; controls { }; // server 0.0.0.0/0 { edns no; }; //------------------------------------------------------------------------------ zone "." { type hint; file "named.root"; }; zone "localhost" { type master; file "localhost.zone"; }; zone "0.0.127.in-addr.arpa" { type master; file "127.0.0.zone"; }; //------------------------------------------------------------------------------ zone "virtual.box" { type master; file "virtual.box.zone"; }; zone "56.168.192.in-addr.arpa" { type master; file "192.168.56.zone"; }; //==============================================================================
named.root
es un archivo incluido en el paquete, se puede actualizar desde InterNIC, accediendo por FTP anónimo a FTP.INTERNIC.NET
o RS.INTERNIC.NET
y descargando /domain/named.root
. No obstante, en caso de tener una red sin salida a Internet, se puede dejar vacío, o seguir el ejemplo (suponiendo otro servidor DNS en la dirección 1.2.3.4):
;=============================================================================== ; named.root ;------------------------------------------------------------------------------- . 86400 IN NS A.ROOT-SERVERS.BOX. A.ROOT-SERVERS.BOX. 86400 A 1.2.3.4 ;===============================================================================
Los archivos de configuración de la zona localhost
, que es el interface interno 127.0.0.1
se pueden dejar tal cual, o bien utilizar estos:
;=============================================================================== ; localhost.zone ;------------------------------------------------------------------------------- $TTL 3d @ SOA localhost. root.localhost. ( 1 ; serial 3h ; refresh 1h ; retry 1w ; expire 1h ) ; negative caching-ttl NS localhost. ;------------------------------------------------------------------------------- A 127.0.0.1 ;===============================================================================
;=============================================================================== ; 127.0.0.zone ;------------------------------------------------------------------------------- $TTL 3d @ SOA localhost. root.localhost. ( 1 ; serial 3h ; refresh 1h ; retry 1w ; expire 1h ) ; negatice caching-ttl @ NS localhost. ;------------------------------------------------------------------------------- 1 PTR localhost. ;===============================================================================
y por último, se crean los archivos para cada una de las zonas, como por ejemplo para virtual.box
;=============================================================================== ; virtual.box.zone ;------------------------------------------------------------------------------- $ORIGIN virtual.box. $TTL 3d @ SOA virtual.box. root.virtual.box. ( 1 ; serial 3h ; refresh 1h ; retry 1w ; expire 1h ) ; negative caching-ttl NS dns MX 10 mail ;------------------------------------------------------------------------------- main A 192.168.56.1 dns A 192.168.56.1 mail A 192.168.56.1 www CNAME main gateway A 192.168.56.254 ;===============================================================================
y para la resolución inversa 192.168.56.x/24
:
;=============================================================================== ; 192.168.56.zone ;------------------------------------------------------------------------------- $TTL 3d @ SOA virtual.box. root.virtual.box. ( 1 ; serial 3h ; refresh 1h ; retry 1w ; expire 1h ) ; negative caching-ttl NS dns.virtual.box. ;------------------------------------------------------------------------------- 1 PTR main.virtual.box. 254 PTR gateway.virtual.box. ;===============================================================================
Los archivos de configuración deben de tener permisos 640
y pertenecer al usuario root
y al grupo named
:
chmod 640 /var/named/*.zone /etc/named.conf chown root.named /var/named/*.zone /etc/named.conf
También es necesario crear un directorio en /usr/var/run/
y darle los permisos adecuados:
mkdir /usr/var/run/named chown named.named /usr/var/run/named
para iniciar el servidor, se ejecuta /etc/rc.d/named start
, y se comprueba si hay errores en /var/log/messages
.