LinuxParty
NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
TÍTULO: BIND
VERSIÓN LFS: 3.0-RC1
AUTOR: Michenaud Laurent
Patrick Kirk
TRADUCTOR: Proyecto LFS-ES
SINOPSIS:
Cómo configurar un servidor DNS sencillo con bind.
RECETA:
versión 1.0 final
Esta receta explica cómo configurar bind en tu lfs.
NO soy un especialista en bind, lo que está escrito
es lo que he entendido. No dudes en corregirlo si ves
errores o tienes optimizaciones.
El sistema de Nombre de Dominio (DNS, por sus siglas en inglés) es
usado por todo los programas en Internet TCP/IP para traducir los
nombres que a los humanos nos gusta usar en números IP asignados
en todas las computadoras y dispositivos en Internet y en tu red
interna.
En la mayoría de los sabores de Unix, el paquete de software más
comúnmente mas usado es el Berkley Internet Name Domain, (BIND). Este
artículo servirá como introducción para obtener, instalar y configurar
BIND en Linux, e incluirá algunas señales que indican a dónde ir para
obtener información mas profunda.
Ten en cuenta que recientemente se han descubierto ciertas vulnerabilidades
de seguridad en BIND, así que asegúrate de obtener al menos la versión
8.23. Al momento de escribir esto, la última versión es la 9.1.1. Puedes
descargar BIND desde el Consorcio de Programas de Internet (Internet
Software Consortium, ISC) en http://www.isc.org.
Para los propósitos de este artículo usaremos la versión 9.1.1, descargable
desde
ftp://ftp.isc.org/isc/bind9/9.1.1/bind-9.1.1.tar.gz
En términos generales, DNS es un servicio bastante sencillo que toma
nombres como www.yahoo.com y busca su correspondencia con las máquinas
que sirven páginas web usando cuartetos de números separados por
puntos, por ejemplo 212.19.67.5. Tu Proveedor de Servicios de
Internet te brinda este servicio usando BIND. Si tienes una máquina
conectada a la Internet y deseas compartir la conexión, ejecutar
BIND en la máquina que comparte la conexión hará las cosas más rápidas
y fáciles. Desde el punto de ista de la seguridad, las direcciones IP
del tipo 192.168.0.n y 10.n.n.n no son enrutables. Esto significa que
las máquinas de tu red local estarán mucho más seguras si usas estas
direcciones. Si no lo haces, tarde o temprano, algo como ShareSniffer
encontrará alguna carpeta compartida o un servicio detrás de tu
cortafuegos y hará travesuras.
------------------------------------------------
1) Instalación de bind
Para hacer la instalación conforme al estándar FHS, instalaremos
Bind en /usr/local con sus ficheros de configuración en /etc/bind.
Esto tiene como ventaja que si deseas respaldar todos los documentos
de configuración de tu sistema, sólo necesitarás respaldar el
directorio /etc.
$ tar zxvf bind-9.1.3.tar.gz
$ cd bind-9.1.3
$ ./configure --prefix=/usr/local --sysconfdir=/etc/bind &&
$ make &&
$ make install &&
$ mkdir -p /etc/bind
Los ficheros de configuración que siguen son muy sencillos. Te permitirán
tener un servidor DNS para tu red local y te permitirán usar el servidor
DNS de tu Proveedor de Servicios de Internet cuando estés conectado a ella.
Por razones de seguridad, el servicio se pretará solamente a las máquinas
que están en tu red local.
Para este ejemplo:
dirección de red : 192.168.0.0
nombre de dominio : zerezo.org
nombre de la máquina anfitrión (host) : zarba
ip de la máquina : 192.168.0.51
---------------------------------------------------
2) El fichero de configuración principal: /etc/bind/named.conf
// Comienzo del fichero
// La dirección IP a las cuales queremos prestarles el servicio DNS
// Es mala idea dejar que cualquiera comience a jugar con este
// servicio.
// acl son las siglas en inglés de Listas de Control de Acceso,
// zerezo.org es nuestra red de área local
acl zerezo.org { 192.168.0.0/24; 127.0.0.0/24; };
// Opciones generales
options {
auth-nxdomain yes;
directory "/usr/local/sbin";
forward first;
forwarders {
212.47.227.206; //Pon acá los DNS de tu Proveedor
212.47.227.207;
};
};
// Cómo llevar registros (log)
logging {
channel warning
{
file "/var/log/dns_warnings" versions 3 size 100k;
severity warning;
print-category yes;
print-severity yes;
print-time yes;
};
channel general_dns
{
file "/var/log/dns_logs" versions 3 size 100k;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
category default { warning; } ;
category queries { general_dns; } ;
};
// zona para acceder a la Internet
zone "." {
type hint;
file "/etc/bind/named.ca";
};
// zone para acceder al anfitrión local (localhost)
zone "0.0.127.in-addr.arpa" {
type master;
file "/etc/bind/named.local";
};
// zone para acceder a tu dominio
zone "zerezo.org" in {
type master;
notify no;
file "/etc/bind/zerezo.org";
};
// zona para acceder a tu dominio usando la ip
zone "0.168.192.in-addr.arpa" in {
type master;
notify no;
file "/etc/bind/db.192.168.0";
};
// Fin del fichero
--------------------------------------------------------
3) Ficheros de configuración para cada una de las zonas
Hay un fichero de configuración para cada zona definida en el
named.conf.
Estos archivos están en /etc/ind. Debes crear este directorio.
a) /etc/bind/named.ca
Este archivo se usa cuando estás aconectado a la Internet.
La versión más reciente puedes obtenerla desde ftp://ftp.rs.internic.net
en donde aparece con el nombre de named.root
Si lo descargas, recuerda renombrarlo como named.ca cuando lo pongas
en /etc/bind
// Comienzo del fichero
; Este fichero contiene los detalles de los servidores de
; nombres raíz necesarios para inicializar el caché de los
; servidores de nombres de dominio en la Internet
; (por ejemplo haz una referencia a este fichero en el fichero
; de configuración de los servidores de dominio BIND con la
; directiva "cache . ".
;
; Este fichero está disponible gracias a los servicios de egistro
; de InterNIC bajo FTP anónimo de la siguientes formas:
; fichero /domain/named.root
; en el servidor FTP.RS.INTERNIC.NET
; -O- por Gopher en RS.INTERNIC.NET
; debajo del menú InterNIC Registration Services (NSI)
; submenú InterNIC Registration Archives
; fichero named.root
;
; última actualización: 22 de Agosto de 1997
; versión relacionada a la zona raíz: 1997082200
;
;
; anteriormente NS.INTERNIC.NET
;
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
;
; anteriormente NS1.ISI.EDU
;
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107
;
; anteriormente C.PSI.NET
;
. 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
;
; anteriormente TERP.UMD.EDU
;
. 3600000 NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
;
; anteriormente NS.NASA.GOV
;
. 3600000 NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
;
; anteriormente NS.ISC.ORG
;
. 3600000 NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
;
; anteriormente NS.NIC.DDN.MIL
;
. 3600000 NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
;
; anteriormente AOS.ARL.ARMY.MIL
;
. 3600000 NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
;
; anteriormente NIC.NORDU.NET
;
. 3600000 NS I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
;
; hospedado temporalmente en NSI (InterNIC)
;
. 3600000 NS J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10
;
; hospedado en LINX, operado por RIPE NCC
;
. 3600000 NS K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
;
; temporalmente hospedado en ISI (IANA)
;
. 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12
;
; hospedado en Japón, operado por WIDE
;
. 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
// Fin del fichero
b) /etc/bind/named.local
Debes tener un alias postmaster que apunte al usuario root o a
cualquier otro.
// Comienzo del fichero
$TTL 604800
@ IN SOA zarba.zerezo.org. postmaster.zarba.zerezo.org. (
1999112002 ;
28800 ;
14400 ;
604800 ;
86400 );
NS zarba.zerezo.org.
1 PTR localhost. ;
// Fin del fichero
c) /etc/bind/zerezo.org
// Comienzo del fichero
$TTL 604800
@ IN SOA zarba.zerezo.org. postmaster.zarba.zerezo.org. (
1999112002 ; número de serie
28800 ; rafraichissement
14400 ; nouvel essais
604800 ; expiración
86400 ); temps de vie minimum
// NS = servidor de nombres
@ IN NS zarba
@ IN NS zarba.zerezo.org.
// MX = ervidor de correos, el número es la prioridad
@ IN MX 10 zarba
@ IN MX 20 zarba.zerezo.org.
// servidor local DNS
@ IN A 127.0.0.1
@ IN A 192.168.0.51
// servido de IP
localhost IN A 127.0.0.1
zarba IN A 192.168.0.51
// IP de las demás máquinas de la red
karine IN A 192.168.0.52
yaf IN A 192.168.0.7
// alias
www IN CNAME zarba
ftp IN CNAME zarba
mail IN CNAME zarba
// Fin del fichero
d) /etc/bind/db.192.168.0
// Comienzo del fichero
$TTL 604800
@ IN SOA zarba.zerezo.org. postmaster.zarba.zerezo.org. (
1999112002 ; número de serie
28800 ; rafraichissement
14400 ; nouvel essais
604800 ; expiración
86400 ); temps de vie
// nameserver
IN NS zarba.zerezo.org.
// reversos de las direcciones IP
1 IN PTR zarba.zerezo.org.
2 IN PTR karine.zerezo.org.
3 IN PTR yaf.zerezo.org.
// Fin del fichero
------------------------
4) configuración de rndc
rndc se usa para administrar bind. su desarrollo aún no
ha terminado pero prefiero ponerla en este hint que poner
la obsoleta nslookup.
a) Creación de una llave
Debes obtener una llave para que rndc pueda comunicarse con bind :
dnssec-keygen -a hmac-md5 -b 128 -n user rndc
Esto creará dos ficheros. Obten el valor de la llave en el .key .
b) /etc/bind/rdnc.conf
Crea el fichero y edita la llave por favor.
// Comienzo del fichero
options {
default-server localhost;
default-key rndc_key;
};
server localhost {
key rndc_key;
};
key rndc_key {
algorithm hmac-md5;
secret "Xd3zz2FgxvkML4V/BlVG8Q==";
};
// Fin del fichero
c) Nuevamente edita /etc/bind/named.conf y agrega las líneas que siguen :
key rndc_key {
algorithm hmac-md5;
secret
"Xd3zz2FgxvkML4V/BlVG8Q==";
};
controls {
inet 127.0.0.1 allow { localhost; } keys { rndc_key; };
};
--------------------
5) /etc/init.d/named
a) Aquí está el guión de inicio
#!/bin/sh
# Comienzo de /etc/init.d/
#
# Incluye las funciones declaradas en el fichero /etc/init.d/functions
#
source /etc/init.d/functions
case "$1" in
start)
echo -n "Iniciando el servidor DNS..."
loadproc /usr/sbin/named
;;
stop)
echo -n "Deteniendo el servidor DNS..."
/usr/sbin/rndc stop
evaluate_retval
;;
reload)
echo -n "Volviendo a cargar el servidor DNS..."
/usr/sbin/rndc reload
evaluate_retval
;;
restart)
$0 stop
/usr/sbin/sleep 1
$0 start
;;
status)
/usr/sbin/rndc status
evalute_retval
;;
*)
echo "Modo de uso: $0 {start|stop|reload|restart|status}"
exit 1
;;
esac
# Fin de /etc/init.d/
b) Crea los enlaces
cd /etc/rc0.d
ln -s ../init.d/named K600named
cd /etc/rc1.d
ln -s ../init.d/named K600named
cd /etc/rc6.d
ln -s ../init.d/named K600named
cd /etc/rc3.d
ln -s ../init.d/named S300named
cd /etc/rc5.d
ln -s ../init.d/named S300named
--------------------------
6) Edita /etc/resolv.conf para que use tu servidor DNS
search zerezo.org
nameserver 127.0.0.1
nameserver 192.168.0.51
--------------------------
6) Prueba tu configuración
Algunas pruebas:
dig -x 127.0.0.1
si tienes un servidor ftp :
ftp ftp.zerezo.org
ftp zarba.zerezo.org
si tienes apache, abre un navegador y usa como url :
http://www.zerezo.org
http://zarba.zerezo.org
Si tienes problemas, lee los logs /var/log/dns* y
/var/log/daemon.log
-
Tecnología
- El sistema operativo Raspberry Pi ahora habilita Wayland de forma predeterminada en todos los modelos de Raspberry Pi
- Las ventas mundiales de vehículos eléctricos aumentaron un 30,5 % en septiembre
- Cómo un ingeniero desenmascaró una red internacional de robo de bicicletas - Por sus amigos de Facebook
- Un traje espacial inspirado en las dunas recicla la orina y la convierte en agua potable
- Alemania tiene demasiados paneles solares y eso ha hecho que los precios de la energía sean negativos.
- Una nueva batería avisa a los padres si su hijo se la ha tragado
- La industria de la tecnología se estaba desinflando. Luego vino ChatGPT
- Consejos para adquirir una computadora usada
- Extremadura y sus trenes: Diferentes varas de medir
- Extraer una pista de audio de un video mp4 con ffmpeg
- China usa aviones no tripulados para producir lluvia en la cabecera de los ríos.
- Alano, del Ejercito de Tierra vehículo terrestre no tripulado de la factoría española "EINSA"
- Dron anfibio que vuela y se sumerge en las profundidades del mar
- Canon obligada a enseñarles a sus clientes como saltarse las restricciones por la falta de chips para sus cartuchos de tinta.
- El 'campo de fuerza' de una Empresa Israelí puede cambiar la guerra para siempre