El paquete BIND proporciona un servidor DNS y utilidades de cliente. Si sólo estás interesado en las utilidades, consulta BIND Utilities-9.3.0p1.
Descarga (HTTP): http://gd.tuwien.ac.at/infosys/servers/isc/bind9/9.3.0/bind-9.3.0.tar.gz
Descarga (FTP): ftp://ftp.isc.org/isc/bind9/9.3.0/bind-9.3.0.tar.gz
Suma MD5 del paquete: fdb42fff7e345372ac52a4493b77b694
Tamaño del paquete: 4.6 MB
Estimación del espacio necesario en disco: 87 MB
Tiempo estimado de construcción: 1.87 SBU (additional 4.14 SBU to run the complete test suite)
Net-tools-1.60 (para ifconfig) y Perl modules: Net-DNS
Instala BIND ejecutando los siguientes comandos:
patch -Np1 -i ../9.3.0-patch1 &&
sed -i -e "s/dsssl-stylesheets/&-1.78/g" configure &&
./configure --prefix=/usr --sysconfdir=/etc \
--enable-threads --with-libtool &&
make
Ahora, como usuario root:
make install &&
chmod 755 \
/usr/lib/{lib{bind9,isc{,cc,cfg},lwres}.so.?.?.?,libdns.so.20.0.0} &&
mv /usr/share/man/man8/named.conf.5 /usr/share/man/man5 &&
cd doc &&
install -d -m755 /usr/share/doc/bind-9.3.0/{arm,draft,misc,rfc} &&
install -m644 arm/*.html \
/usr/share/doc/bind-9.3.0/arm &&
install -m644 draft/*.txt \
/usr/share/doc/bind-9.3.0/draft &&
install -m644 rfc/* \
/usr/share/doc/bind-9.3.0/rfc &&
install -m644 \
misc/{dnssec,ipv6,migrat*,options,rfc-compliance,roadmap,sdb} \
/usr/share/doc/bind-9.3.0/misc
Para poder ejecutar al completo el banco de pruebas antes de instalar el paquete, necesitas activar algunas interfaces de red falsas (requiere ifconfig). Ejecuta los siguientes comandos para lanzar el banco de pruebas (tendrás que ser root para ejecutar los comandos ifconfig):
bin/tests/system/ifconfig.sh up &&
make check >check.log 2>&1 &&
bin/tests/system/ifconfig.sh down
Si lo deseas, ejecuta el siguiente comando para verificar que las 145 pruebas se han pasado correctamente:
grep "R:PASS" check.log | wc -l
patch -Np1 -i ../9.3.0-patch1: Hay una vulnerabilidad en el código DNSSEC. Mira http://www.kb.cert.org/vuls/id/938617. El parche corrige el fallo.
sed -i -e ... configure: Este comando fuerza que configure busque las hojas de estilo DSSSL en la localización estandar de BLFS.
--sysconfdir=/etc: Este comando fierza que BIND busque los ficheros de cnfiguración en /etc en vez de /usr/etc.
--enable-threads: Este parámetro activa la capacidad de multihilos.
--with-libtool: Este parámetro fuerza la construcción de las librerías dinámicas y enlaza los binarios instalados contra ellas.
cd doc; install ...: Estos comandos instalan la documentación adicional del paquete. Opcionalmente, omite cualquiera o todos estos comandos.
Configuraremos BIND para que se ejecute en una jaula chroot como usuario sin privilegios (named). Esta configuración es más segura, pues un compromiso en el DNS sólo puede afectar a unos pocos ficheros en el directorio HOME del usuario named.
Primero crearemos el usuario y grupo sin privilegios named:
groupadd named &&
useradd -m -c "BIND Owner" -g named -s /bin/false named
Ahora crearemos algunos ficheros, directorios y dispositivos que necesita BIND:
cd /home/named &&
mkdir -p dev etc/namedb/slave var/run &&
mknod /home/named/dev/null c 1 3 &&
mknod /home/named/dev/random c 1 8 &&
chmod 666 /home/named/dev/{null,random} &&
mkdir /home/named/etc/namedb/pz &&
cp /etc/localtime /home/named/etc
Ahora genera una llave para usarla en los ficheros named.conf y rdnc.conf usando el comando rndc-confgen:
rndc-confgen -b 512 | grep -m 1 "secret" | cut -d '"' -f 2
Crea el fichero named.conf, del cual named leerá la localización de los ficheros de zona, servidores raices de nombres y llaves DNS seguras:
cat > /home/named/etc/named.conf << "EOF" options { directory "/etc/namedb"; pid-file "/var/run/named.pid"; statistics-file "/var/run/named.stats"; }; controls { inet 127.0.0.1 allow { localhost; } keys { rndc_key; }; }; key "rndc_key" { algorithm hmac-md5; secret "[Insert secret from rndc-confgen's output here]"; }; zone "." { type hint; file "root.hints"; }; zone "0.0.127.in-addr.arpa" { type master; file "pz/127.0.0"; }; // Bind 9 now logs by default through syslog (except debug). // These are the default logging rules. logging { category default { default_syslog; default_debug; }; category unmatched { null; }; channel default_syslog { syslog daemon; // send to syslog's daemon // facility severity info; // only send priority info // and higher }; channel default_debug { file "named.run"; // write to named.run in // the working directory // Note: stderr is used instead // of "named.run" // if the server is started // with the '-f' option. severity dynamic; // log at the server's // current debug level }; channel default_stderr { stderr; // writes to stderr severity info; // only send priority info // and higher }; channel null { null; // toss anything sent to // this channel }; }; EOF
Crea el fichero rndc.conf con los siguientes comandos:
cat > /etc/rndc.conf << "EOF" key rndc_key { algorithm "hmac-md5"; secret "[Insert secret from rndc-confgen's output here]"; }; options { default-server localhost; default-key rndc_key; }; EOF
El fichero rndc.conf contiene información para controlar las operaciones de named con la utilidad rndc.
Crea un fichero de zona con el siguiente contenido:
cat > /home/named/etc/namedb/pz/127.0.0 << "EOF" $TTL 3D @ IN SOA ns.local.domain. hostmaster.local.domain. ( 1 ; Serial 8H ; Refresh 2H ; Retry 4W ; Expire 1D) ; Minimum TTL NS ns.local.domain. 1 PTR localhost. EOF
Crea el fichero root.hints con los siguientes comandos:
Debes tener la precaución de asegurarte de que no dejas espacios sobrantes en este fichero.
cat > /home/named/etc/namedb/root.hints << "EOF" . 6D IN NS A.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 F.ROOT-SERVERS.NET. . 6D IN NS G.ROOT-SERVERS.NET. . 6D IN NS H.ROOT-SERVERS.NET. . 6D IN NS I.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. A.ROOT-SERVERS.NET. 6D IN A 198.41.0.4 B.ROOT-SERVERS.NET. 6D IN A 192.228.79.201 C.ROOT-SERVERS.NET. 6D IN A 192.33.4.12 D.ROOT-SERVERS.NET. 6D IN A 128.8.10.90 E.ROOT-SERVERS.NET. 6D IN A 192.203.230.10 F.ROOT-SERVERS.NET. 6D IN A 192.5.5.241 G.ROOT-SERVERS.NET. 6D IN A 192.112.36.4 H.ROOT-SERVERS.NET. 6D IN A 128.63.2.53 I.ROOT-SERVERS.NET. 6D IN A 192.36.148.17 J.ROOT-SERVERS.NET. 6D IN A 192.58.128.30 K.ROOT-SERVERS.NET. 6D IN A 193.0.14.129 L.ROOT-SERVERS.NET. 6D IN A 198.32.64.12 M.ROOT-SERVERS.NET. 6D IN A 202.12.27.33 EOF
El fichero root.hints es una lista de servidores raices de nombres. Este fichero debe actualizarse periódicamente con la utilidad dig. Una copia actualizada de root.hints puede obtenerse de ftp://rs.internic.net/domain/named.root. Consulta el Manual de Referencia del Administrador de BIND 9 para mas detalles.
Crea o modifica resolv.conf para utilizar el nuevo servidor de nombres con los siguientes comandos:
Sustituye [yourdomain.com] con el nombre válido de tu propio dominio.
cp /etc/resolv.conf /etc/resolv.conf.bak && cat > /etc/resolv.conf << "EOF" search [yourdomain.com] nameserver 127.0.0.1 EOF
Establece los permisos de la jaula chroot con el siguiente comando:
chown -R named.named /home/named
Para iniciar el servidor DNS en el arranque, instala el guión de inicio /etc/rc.d/init.d/bind incluido en el paquete blfs-bootscripts-20050313:
make install-bind
Ahora inicia BIND con el nuevo guión de arranque:
/etc/rc.d/init.d/bind start
Comprueba la nueva instalación de BIND 9. Primero consulta la dirección de la máquina local con dig:
dig -x 127.0.0.1
Ahora prueba la búsqueda de un nombre externo, tomando nota de la diferencia de velocidad en repetidas consultas debido al caché. Lanza el comando dig dos veces sobre la misma dirección:
dig www.linuxfromscratch.org &&
dig www.linuxfromscratch.org
Verás que el resultado es casi instantáneo cuando named consulta las direcciones almacenadas. Para saber todas las opciones de configuración consulta el Manual de Referencia del Administrador de BIND que se en cuentra en el fichero bind-9.3.0/doc/arm/Bv9ARM.html del árbol de las fuentes.
Interroga servidores DNS.
Es un generador de llaves para DNS seguro.
Genera versiones firmadas de los ficheros de zona.
Una utilidad para búsquedas DNS.
Es un servidor de nombres de sólo caché para usarlo procesos locales.
Es el demonio servidor de nombres.
Comprueba la sintaxis de ficherosnamed.conf.
Comprueba la validez del fichero de zona.
Un programa usado para consultar servidores de nombres de dominios de Internet.
Se usa para suministrar peticiones de actualización de DNS.
Controla las operaciones de BIND.
Genera ficheros rndc.conf.
Last updated on 2005-04-15 21:38:34 +0200