Download - DNS en Ubuntu
-
Pgina 2
ndice
1 Introduccin .............................................................................................................. 4
2 Instalacin del servidor DNS con Bind .................................................................... 4
3 Configuracin del servidor DNS con Bind............................................................... 4
3.1 Modos de Funcionamiento ................................................................................. 4
3.1.1 Servidor DNS maestro ................................................................................ 5
3.1.2 Servidor DNS esclavo ................................................................................ 5
3.1.3 Servidor cach DNS ................................................................................... 6
3.2 Archivos de configuracin del DNS .................................................................. 7
4 Configuracin del servidor BIND como cach DNS ............................................... 8
4.1 etc/bind/named.conf.options .............................................................................. 8
4.2 etc/resolv.conf .................................................................................................... 8
4.3 Arrancar el servidor DNS cach ........................................................................ 9
5 Configuracin de los clientes ................................................................................... 9
5.1 Configuracin de un cliente XP: ........................................................................ 9
5.2 Configuracin de un cliente Ubuntu: ............................................................... 11
6 Configuracin del servidor como DNS maestro..................................................... 12
6.1 etc/bind/named.conf ......................................................................................... 12
6.2 etc/bind/named.conf.local ................................................................................ 13
6.2.1 Explicacin del cdigo aadido para crear las zonas directa e inversa: ... 14
6.2.2 Ms opciones que se pueden aadir a cada zona ...................................... 14
6.2.3 Explicacin de por qu la zona inversa tiene ese nombre terminado en .in-
addr.arpa: ................................................................................................................ 16
6.3 etc/bind/named.conf.default-zones .................................................................. 17
6.4 Archivo con la zona que sirve el servidor ........................................................ 18
-
Pgina 3
6.5 Archivo con la zona de bsqueda inversa que sirve el servidor ...................... 19
6.6 etc/bind/named.conf.options ............................................................................ 20
6.7 etc/resolv.conf .................................................................................................. 22
6.8 Arrancar el Servidor y validarlo ...................................................................... 22
6.8.1 named-checkconf ...................................................................................... 23
6.8.2 named-checkzone ..................................................................................... 23
7 Configuracin del servidor como DNS esclavo ..................................................... 24
8 Prctica a Realizar .................................................................................................. 26
-
Pgina 4
1 Introduccin
En Ubuntu existen varios software que permiten instalar un servidor DNS en un equipo
cualquiera. Los 2 ms conocidos son:
a) Bind: cuyo paquete de instalacin se llama bind9.
b) Dnsmasq: cuyo paquete de instalacin se llama dnsmasq
Los 2 usan el puerto 53, por tanto, o instalis uno u otro. Pero NUNCA ambos.
2 Instalacin del servidor DNS con Bind
La aplicacin que hace de servidor DNS en Linux se denomina bind9. Para instalarla, podemos hacerlo con apt-get desde una consola de root:
// Instalacin del servidor DNS
# apt-get install bind9
De esta forma instalaramos los programas necesarios para disponer de un servidor
DNS. Tan solo ser necesario configurarlo y ponerlo en marcha.
3 Configuracin del servidor DNS con Bind
3.1 Modos de Funcionamiento
El servidor DNS admite tres modos de funcionamiento:
Servidor DNS maestro
Servidor DNS esclavo
Servidor cach DNS
-
Pgina 5
3.1.1 Servidor DNS maestro
En este modo de funcionamiento, nuestro servidor se comporta como un autntico
servidor DNS para nuestra red local. En este caso es necesario tener zonas de bsqueda
directa e inversa (esta ltima si se quiere que resuelva a la inversa).
Atender directamente a las peticiones de resolucin de direcciones pertenecientes a la
red local y reenviar a servidores DNS externos las peticiones del resto de direcciones
de Internet.
3.1.2 Servidor DNS esclavo
Un servidor esclavo actuar como un servidor espejo de un servidor DNS maestro.
Permanecer sincronizado con el maestro. Se utilizan para repartir las peticiones entre
varios servidores aunque las modificaciones solo se realicen en el maestro. En redes
locales salvo por razones de disponibilidad, es raro que exista la necesidad de tener dos
servidores DNS ya que con uno ser suficiente.
-
Pgina 6
3.1.3 Servidor cach DNS
En este modo de funcionamiento, nuestro servidor se comporta como si fuera un
autntico servidor DNS para nuestra red local aunque realmente no sea un servidor DNS propiamente dicho.
Cuando recibe una peticin de DNS por parte de un cliente de nuestra red (como l no tiene zonas de bsqueda, es decir, no sabe resolver), la trasladar a un DNS maestro que puede estar en nuestra red o fuera, almacenar en una memoria cach la respuesta y a la vez la comunicar a quien hizo la peticin.
Si un segundo cliente vuelve a realizar la misma peticin, como nuestro servidor tiene la respuesta almacenada en su memoria cach, responder inmediatamente sin tener que cursar la peticin a ningn servidor DNS de Internet. (Por eso agiliza las consultas a Internet).
Disponer de un servidor cach DNS en nuestra red local aumenta la velocidad de la
conexin a Internet pues cuando navegamos por diferentes lugares, continuamente se
estn realizando peticiones DNS. Si nuestro cach DNS almacena la gran mayora de
peticiones que se realizan desde la red local, las respuestas de los clientes se satisfarn
prcticamente de forma instantnea proporcionando al usuario una sensacin de
velocidad en la conexin.
Es un modo de funcionamiento de sencilla configuracin ya que prcticamente lo nico
que hay que configurar son las direcciones IP de un DNS primario y de un DNS
secundario.
Muchos routers ADSL ofrecen ya este servicio de cach, tan solo hay que activarlo y
configurar una o dos IPs de servidores DNS en Internet.
En los PCs de nuestra red local podramos poner como DNS primario la IP de nuestro
router y como DNS secundario una IP de un DNS de Internet.
-
Pgina 7
3.2 Archivos de configuracin del DNS
El archivo de configuracin principal del DNS es el archivo /etc/bind/named.conf, pero ste hace referencia a otros cuantos archivos como por ejemplo:
named.conf
o Archivo principal de configuracin donde se incluyen el resto de los
ficheros.
named.conf.options
o Opciones genricas del servidor
named.conf.local
o Especificacin de las zonas del servidor DNS.
db.localhost
o Fichero de definicin de la zona localhost (para que el equipo responda al
nombre localhost).
db.127
o Es el archivo de definicin de la zona de resolucin inversa
correspondiente a mi IP 127.*.*.* (es la zona inversa de localhost).
db.root
o DNSs de nivel superior: referencia los servidores de la raz del rbol de
nombres.
-
Pgina 8
4 Configuracin del servidor BIND como cach DNS
Para configurar nuestro servidor DNS como cach slo necesitamos modificar 2
ficheros de los citados anteriormente:
4.1 /etc/bind/named.conf.options
/etc/bind/named.conf.options En este fichero, se deben especificar las IPs de los servidores DNS (que normalmente
sern las de nuestro proveedor ISP) donde redirigir las peticiones DNS que reciba
nuestro servidor y que sern quienes realmente resuelvan los nombres.
Esto se configura en la seccin forwarders:
// Aadir IPs de los DNS de nuestro proveedor en /etc/bind/named.conf.options
forwarders {
195.235.113.3; 62.37.228.20;
};
CUIDADO: no olvidis ningn ;
4.2 /etc/resolv.conf
/etc/resolv.conf
En este fichero, se debe especificar la IP de nuestro propio equipo para indicar que l va
a ser nuestro servidor DNS (el equipo Ubuntu que estamos configurando). Dicha IP
debe ir precedida de la palabra nameserver. Adems se puede aadir el nombre de nuestro dominio precedido de la palabra domain y, una orden que indica en qu dominio debe buscar el servidor y que comienza con search.
// Indicamos que nosotros mismos somos servidores DNS
// y por defecto buscamos en nuestro dominio
// Editar /etc/resolv.conf del servidor DNS
domain micentro.com
nameserver 127.0.0.1
search micentro.com
-
Pgina 9
4.3 Arrancar el servidor DNS cach
Tan solo nos faltar poner en marcha nuestro servidor de nombres ejecutando en el servidor el script de inicio (o demonio) correspondiente:
// Arranque del servidor DNS
# /etc/init.d/bind9 restart
5 Configuracin de los clientes
El resto de PCs de la red, sern los clientes. Estos clientes pueden ser equipos con
Windows XP, con Ubuntu, etc. Explicaremos cmo configurar un cliente Windows XP
y otro Ubuntu.
Antes de nada comprueba que el cliente tiene una direccin IP vlida y que tiene
conectividad con el servidor (que hacen ping entre ellas), adems si utilizas mquina
virtual comprueba que el cliente y el servidor funcionan en el mismo modo, en esta caso
tendran que funcionar en modo bridged para que puedan tener salida al exterior.
5.1 Configuracin de un cliente XP:
Configuramos el DNS en el cliente: Para ello, debemos de configurar en las propiedades
TCP/IP, el DNS anotando ah la IP de nuestro servidor Ubuntu.
-
Pgina 10
Desde nuestro cliente probamos si el servidor DNS resuelve nombre externos (de
Internet). Vamos al Internet Explorer y ponemos: www.google.es. Si nos aparece la
pgina de Google es que todo va bien.
Otra forma de probar si funciona es usar: ping o nslookup desde la consola.
Probamos resolucin directa:
ping www.google.es O tambin: nslookup www.google.es
Probamos resolucin inversa:
ping ip_de_Internet donde ip_de_Internet es la IP de cualquier mquina de Internet como las de google.es,
O tambin: nslookup ip_de_Internet
-
Pgina 11
5.2 Configuracin de un cliente Ubuntu:
Configuramos el DNS en el cliente: debemos indicarle la IP del servidor DNS en el
fichero /etc/resolv.conf de este cliente:
Por ejemplo si la IP de nuestro servidor DNS Bind es 192.168.2.202, pondremos en
cada /etc/resolv.conf (el de cada cliente):
// Editar /etc/resolv.conf del resto de PCs de la red
nameserver 192.168.2.202
Ahora desde nuestro cliente Ubuntu probamos si el servidor DNS resuelve nombre externos (de Internet). Vamos al Navegador de Internet y ponemos: www.google.es. Si nos aparece la pgina de Google es que todo va bien.
Otra forma de probar si funciona es usar: dig , host, ping o nslookup desde la consola MS-DOS:
Probamos resolucin directa:
dig www.google.es
O tambin:
nslookup www.google.es
O tambin:
host www.google.es
COMANDO dig El comando dig hace una consulta DNS a un servidor. Difiere del ping, host o nslookup en que adems de hacer la consulta, muestra el QUERY TIME. El QUERY TIME es el tiempo que tarda un servidor DNS en respondernos. Por eso, esta orden (dig) es muy importante para comprobar si de verdad hemos agilizado el acceso a Internet o no, al instalar un servidor DNS cach en nuestra red. Para realizar esta comprobacin debemos hacer lo siguiente: 1) una vez instalado nuestro servidor DNS cach, desde cualquier cliente con Ubuntu (Windows no incluye dig) ponemos en la consola: dig nombre_dns_de_internet Por ejemplo: dig www.google.es
-
Pgina 12
Acto seguido observamos el Query Time con que nos responde. 2) Volvemos a ejecutar el mismo comando otra vez y observamos el nuevo Query Time. Veremos que el tiempo de consulta se ha reducido mucho. Esto es debido a que esta segunda consulta no la ha hecho al DNS, sino que la ha sacado de la cach donde la haba almacenado en la primera consulta.
Probamos resolucin inversa:
ping ip_de_Internet donde ip_de_Internet es la IP de cualquier mquina de Internet como las de google.es,
O tambin:
nslookup ip_de_Internet
6 Configuracin del servidor como DNS maestro
Como deseamos tener un dominio privado que es micentro.com y que todos los equipos de nuestra red pertenezcan a ese dominio. Es mejor instalar un DNS maestro
que nos permita resolver nombres externos (como lo haca el DNS cach) y tambin
NOMBRES INTERNOS como equipo1.micentro.com.
Nuestro servidor DNS maestro ser capaz de resolver peticiones internas de nombres de
dominio, tanto de forma directa como de forma inversa. Por eso debemos crear en l
zona de bsqueda directa e inversa.
Para configurar nuestro servidor DNS como maestro necesitamos los siguientes ficheros:
6.1 /etc/bind/named.conf
El fichero principal es el llamado named.conf que llama al resto de ellos. El contenido
debe ser el siguiente:
-
Pgina 13
Named.conf.options: contiene la configuracin del demonio named.
Named.conf.local: contiene la configuracin de las zonas.
Named.conf.default-zones: contiene la configuracin de zonas por defecto, como
las races o el localhost.
6.2 /etc/bind/named.conf.local
En este fichero aadiremos cuales sern los archivos de zonas de nuestro dominio micentro.com y su zona reverse, que no es ms que la forma de decirle al servidor cmo localizar el nombre de dominio si le preguntamos por una IP. Escribimos el cdigo siguiente y guardamos el archivo.
As pues el fichero de configuracin named.conf.local debe quedar como:
// etc/bind/named.conf.local
//Archivo de zona para bsquedas directas
zone "micentro.com" { type master;
file "/etc/bind/db.micentro.com"; };
// Archivo de zona para bsquedas inversas
// Aqu debis poner los 3 primeros octetos de vuestra direccin IP de red,
//pero en orden inverso
zone "2.168.192.in-addr.arpa" { type master;
-
Pgina 14
// Se suele poner 192 porque se suele poner el 1 octeto de la IP de red, pero se puede
// poner cualquier nombre
file "/etc/bind/db.192"; };
6.2.1 Explicacin del cdigo aadido para crear las zonas directa e inversa:
o zone micentro.com nombre de vuestro dominio entre
o type master; o Indica que el servidor para esa zona es maestro.
o Puede tomar otros valores como;
Hint: Tipo especial de zona que se usa para orientar hacia los
servidores de nombres root que sirven para resolver peticiones de
una zona que no se conoce.
Slave: Designa el servidor de nombres como un servidor esclavo
para esa zona.
o file /etc/bind/db.micentro.com; o Es el fichero que contendr los registros de recursos con la informacin
de la zona.
o Ese fichero no existe y debemos crearlo despus.
o Si no le ponemos la ruta completa sino solo el nombre del fichero tomar
la ruta del valor que tengamos en el campo directory del fichero
/etc/bind/named.conf.options
o zone 2.168.192.in-addr.arpa los 3 primeros octetos de vuestra IP de red y se aade .in-addr.arpa
o type master; indica que el servidor para esa zona es maestro. Si fuese esclavo se pondra type slave;
o file /etc/bind/db.192; es el fichero que contendr los registros de
recursos con la informacin de la zona. Ese fichero no existe y debemos crearlo
despus.
}
6.2.2 Ms opciones que se pueden aadir a cada zona
A aparte de las opciones anteriores se pueden aadir otras a cada zona como:
notify: Controla si named notifica a los servidores esclavos cuando una zona es actualizada. Acepta las opciones siguientes:
o yes: Notifica a los servidores esclavos.
o no: No notifica a los servidores esclavos.
o Solamente notifica a los servidores esclavos especificados en una lista de
also-notify dentro de la declaracin de una zona.
o Ejemplos:
zone "micentro.com" {
-
Pgina 15
type master;
file "/etc/bind/db.micentro.com";
notify yes;
};
zone "micentro.com" {
type master;
file "/etc/bind/db.micentro.com";
also-notify {ip_del_esclavo;};
};
Masters: Especifica las direcciones IP desde las cuales solicitar informacin autorizada. Solamente se usa si la zona est definida como type slave.
zone "example.com" {
type slave;
file "example.com.zone";
masters { 192.168.0.1; };
};
allow-query: Especifica las IPs que se autorizan para hacer consultas sobre
una zona. Por defecto, todas las peticiones de informacin son autorizadas.
o allow-query {127.0.0.1; 192.168.1.0/24; };
allow-transfer: Especifica los servidores esclavos que estn autorizados para
pedir una transferencia de informacin de la zona. Por defecto, todas las
peticiones se autorizan.
o allow-transfer {IPs de los servidores secundarios autorizados};
allow-update: Especifica los hosts que estn autorizados para actualizar dinmicamente la informacin en sus zonas. Por defecto, no se autoriza la
actualizacin de la informacin dinmicamente. DNS Dinmico.
-
Pgina 16
ACL (Sentencias de Control de Acceso): Define grupos de hosts a los que se les
puede permitir o negar el acceso al servidor de nombres.
acl {
;
[; ...]
};
Ejemplos:
acl Lista-permitida {
10.0.2.0/24;
192.168.0.0/24;
};
allow-query {Lista-permitida};
6.2.3 Explicacin de por qu la zona inversa tiene ese nombre terminado en .in-
addr.arpa:
Si suponemos que nuestra red tiene la IP 192.168.2.0, nuestra zona inversa podra
llamarse de varias formas posibles que seran:
zone 2.168.192.in-addr.arpa
zone 168.192.in-addr.arpa
zone 192.in-addr.arpa
Cualquiera de estos nombres sera vlido siempre y cuando despus, dentro del fichero
db.192 se ponga el contenido adecuado.
Qu se pondra dentro del fichero db.192?: Dentro de este fichero se ponen los registros de recursos que hacen referencia a los PCs
de la red. En funcin de cmo se hubiese llamado la zona habr que poner una IP u otra
para los PCs. As:
-
Pgina 17
a) Si la zona la llamamos zone 2.168.192.in-addr.arpa, en db.192 la IP de los PCs ser slo el ltimo octeto. Por ejemplo si tenemos 2 PCs con IPs 192.168.2.2 y nombre PC2 y 192.168.2.5 y nombre PC5, pondremos: 2 IN PTR pc2.micentro.com. 5 IN PTR pc5.micentro.com.
b) Si la zona la llamamos zone 168.192.in-addr.arpa, en db.192 la IP de los PCs ser los 2 ltimos octetos en orden inverso. Por ejemplo si tenemos 2 PCs con IPs 192.168.2.2 y nombre PC2 y 192.168.2.5 y nombre PC5, pondremos: 2.2 IN PTR pc2.micentro.com. 5.2 IN PTR pc5.micentro.com.
c) Si la zona la llamamos zone 192.in-addr.arpa, en db.192 la IP de los PCs ser los 3 ltimos octetos en orden inverso. Por ejemplo si tenemos 2 PCs con IPs 192.168.2.2 y nombre PC2 y 192.168.2.5 y nombre PC5, pondremos: 2.2.168 IN PTR pc2.micentro.com. 5.2.168 IN PTR pc5.micentro.com.
6.3 /etc/bind/named.conf.default-zones
Contiene las zonas por defecto que ya existen:
-
Pgina 18
6.4 Archivo con la zona que sirve el servidor
En este caso el archivo se llama /etc/bind/db.micentro.com
Este fichero NO EXISTE. Debemos crearlo nuevo y es el que contendr los registros de
recursos de nuestra zona de bsqueda directa.
Para crearlo, lo ms fcil es copiar el contenido del fichero /etc/bind/db.local que s
existe y luego modificarlo. Para ello, desde la consola ejecutamos el comando:
cp /etc/bind/db.localhost /etc/bind/db.micentro.com
Con este comando tendremos en nuestro fichero /etc/bind/db.micentro.com una copia del contenido de /etc/bind/db.localhost. Ahora tendremos que modificarlo para adaptarlo a nuestra zona de forma que nos podra quedar algo as:
Supongamos que en nuestra red local tenemos un aula llamada 1asir con 10 PCs con
IPs que van desde la 192.168.2.203 hasta 210 y cuyos nombres van desde 1asirpc3
hasta 1asirpc10, luego un servidor web (pc11) y un servidor de correo electrnico que
adems es servidor DNS (pc2). Supongamos tambin que nuestro servidor DNS se
llama servidor (su hostname).
El archivo de configuracin DNS de nuestro dominio podra ser as:
// Archivo /etc/bind/db.micentro.com
;
; BIND data file for micentro.com
;
@ IN SOA micentro.com. root.micentro.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Default TTL
@ IN NS servidor.micentro.com.
@ IN A 192.168.2.202
@ IN MX 10 mail.micentro.com.
servidor IN A 192.168.2.202
1asirpc3 IN A 192.168.2.203
1asirpc4 IN A 192.168.2.204
1asirpc5 IN A 192.168.2.205
1asirpc6 IN A 192.168.2.206
1asirpc7 IN A 192.168.2.207
1asirpc8 IN A 192.168.2.208
-
Pgina 19
1asirpc9 IN A 192.168.2.209
1asirpc10 IN A 192.168.2.210
www IN A 192.168.2.211
mail IN A 192.168.2.202
El nombre de la mquina para que este acorde con la lnea NS, es decir, por ejemplo, en
este caso la mquina se debe de llamar servidor, para cambiar el nombre de la mquina:
a) En Windows XP a. Botn derecho sobre MI PC, Propiedades Nombre de Equipo,
Cambiar Ser necesario reiniciar el equipo para que se efecten los
cambio
b) En Windows 2008 a. Botn derecho sobre Equipo, Propiedades Nombre de Equipo,
Cambiar Ser necesario reiniciar el equipo para que se efecten los
cambio
c) En Ubuntu a. Accedemos al archivo /etc/hostname y le ponemos el nuevo nombre,
adems hay que tener en cuenta que tambin hay que modificar el
archivo /etc/hosts asignando al nuevo nombre que le hemos puesto la
direccin IP de la mquina
Las primeras lneas del archivo son unos parmetros relacionados con la actualizacin
del DNS (nmero de serie y periodos de actuacin).
Las tres siguientes lneas indican quin es el servidor primario (NS = Name Server y A=IP del servidor) y quien procesa el correo electrnico del dominio (MX = Mail eXchange).
Las siguientes lneas especifican las IPs de los distintos PCs componentes del dominio
(A = Address).
Nota: Todos los nombres de mquinas excepto el del registro SOA no terminan en punto y, por tanto, sern completados con el nombre de la zona (micentro.com) declarada en /etc/bind/named.conf.local.
6.5 Archivo con la zona de bsqueda inversa que sirve el servidor
En este ejemplo el archivo es /etc/bind/db.192.
Este fichero NO EXISTE. Debemos crearlo nuevo y es el que contendr los registros de
recursos de nuestra zona de bsqueda inversa.
-
Pgina 20
Para crearlo, lo ms fcil es copiar el contenido del fichero /etc/bind/db.127 que s
existe y luego modificarlo.
Para ello, desde la consola ejecutamos el comando:
cp /etc/bind/db.127 /etc/bind/db.192 Con este comando tendremos en nuestro fichero /etc/bind/db.192 una copia del contenido de /etc/bind/db.127. Ahora tendremos que modificarlo para adaptarlo a nuestra zona de forma que nos podra quedar algo as:
Si suponemos, como en la zona de bsqueda directa, que en nuestra red local tenemos
un aula llamada 1asir con 10 PCs con IPs que van desde la 192.168.2.203 hasta 210 y
cuyos nombres van desde 1asirpc3 hasta 1asirpc10, luego un servidor web (pc11) y un
servidor de correo electrnico que adems es servidor DNS (pc2). Supongamos
tambin que nuestro servidor DNS se llama servidor (su hostname). Tendremos:
// Archivo /etc/bind/db.192
;
; BIND reverse data file for 192.168.2.0
;
@ IN SOA micentro.com. root.micentro.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Default TTL
@ IN NS servidor.micentro.com.
202 IN PTR 1servidor.micentro.com.
203 IN PTR 1asirpc3.micentro.com.
204 IN PTR 1asirpc4.micentro.com.
205 IN PTR 1asirpc5.micentro.com.
206 IN PTR 1asirpc6.micentro.com.
207 IN PTR 1asirpc7.micentro.com.
208 IN PTR 1asirpc8.micentro.com.
209 IN PTR 1asirpc9.micentro.com.
210 IN PTR 1asirpc10.micentro.com.
211 IN PTR www.micentro.com.
202 IN PTR mail.micentro.com.
6.6 /etc/bind/named.conf.options
-
Pgina 21
En este archivo se editan todas las opciones de configuracin del servidor, algunas de
ellas son:
directory: Indica el directorio de trabajo del servidor. Donde se almacenan las
zonas. Ejemplo:
o directory "/var/cache/bind"; Este directorio solo tiene permisos para el
usuario root y bind.
o Tambin se puede cambiar el directorio, por ejemplo se suele usar
tambin el directorio "/etc/bind";
Forwarders: En esta seccin se indican las IPs de los DNS de nuestro ISP a los que haremos las consultas DNS que no tengamos cacheadas (o que hayan
expirado).Ejemplo:
forwarders { 8.8.8.8; 8.8.4.4; };
listen-on o indica las interfaces de red y el puerto que debe utilizar BIND para
atender a las peticiones DNS realizadas por los clientes.
o Es posible suprimir port 53, ya que este es el puerto estndar. o Si esta opcin no aparece BIND atiende en todas las interfaces de red (Si
tiene ms de una sino solo atender en la que tiene). Ejemplo:
listen-on port 53 {127.0.0.1; 192.168.0.1; }; listen-on {127.0.0.1; 192.168.0.1; };
listen-on-v6: Es igual que la anterior pero para IP v6 o listen-on-v6 {any}; Habilita para todas las IP v6.
recursin [yes/no]; Determina si nuestro servidor admite o no recursividad.
allow-recursion Se especifica qu equipos podrn hacer consultas recursivas a nuestro servidor.
o Si lo vamos a usar en una red local pero el DNS ser visible desde Internet y no queremos que se hagan consultas desde fuera, especificamos los rangos de IP locales que permitiremos en formato CIDR, por ejemplo 192.168.0.0/24. allow-recursion { 192.168.0.0/24.; };
o Si no ser pblico o bien queremos que se puedan hacer consultas desde
fuera, lo dejamos como any.
allow-recursion { any; }; o Y si nicamente queremos que se puedan hacer consultas desde el mismo
equipo, lo dejamos en 127.0.0.1.
allow-recursion { 127.0.0.1; }; allow-query: determina desde que IP o redes est permitido hacer consultas
DNS. Ejemplo:
o allow-query {127.0.0.1; 192.168.1.0/24; };
-
Pgina 22
blackhole: Indicamos la lista de quien NO puede usar el Bind como servidor DNS. Ejemplo:
o blackhole {10.2.23.188;};
Ejemplo: // Archivo /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
forwarders { // Aqu las DNS de tu proveedor ISP 195.235.113.3; 62.37.228.20; }; auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
6.7 /etc/resolv.conf
Una vez configurado nuestro servidor DNS, debemos indicar a nuestro servidor Linux que el servidor DNS es l mismo, lo cual se especifica en el archivo /etc/resolv.conf. As tendremos: // Indicamos que nosotros mismos somos servidores DNS
// y por defecto buscamos en nuestro dominio
domain micentro.com
nameserver 127.0.0.1
search micentro.com
6.8 Arrancar el Servidor y validarlo
En este punto nuestra configuracin de BIND estara completa, excepto por el detalle de
que hay que reiniciar el servidor para que cargue las nuevas zonas definidas, para ello
volvemos al terminal y escribimos como root:
sudo /etc/init.d/bind9 restart
Si olvidamos algn punto y coma, dar errores y no funcionar correctamente.
-
Pgina 23
Para revisar los archivos disponemos de los comandos named-checkconf y named checkzone que analizan que est correcta la sintaxis de los mismos. Y las usamos de la siguiente manera:
6.8.1 named-checkconf
Comprueba la sintaxis del archivo de configuracin /etc/bind/named.conf.local. No
tiene parmetros. La salida muestra los errores que genera. Si no genera salida, est todo
correcto.
sudo named-checkconf
6.8.2 named-checkzone
Nos suele ayudar a encontrar errores en el fichero de registro de recursos (archivos de
zonas). Tiene dos parmetros el dominio y el fichero:
named-checkzone dominio archivo_de_la_zona.
Por ejemplo, para la zona inversa sera:
sudo named-checkzone 10.168.192.in-addr.arpa /etc/bind/db.10.168.192
Para la zona no inversa sera:
sudo named-checkzone prueba1.com /etc/bind/db.prueba1.com
Este comando genera la siguiente salida si todo est correcto:
zone prueba1.com/IN: loaded serial 1 OK
-
Pgina 24
Si sigue dando errores podemos comprobar el log del sistema en: var/log/syslog
Ya slo falta probar nuestro servidor con la orden ping, host, dig o nslookup y configurar nuestros clientes y probar desde ellos si resuelve nuestro servidor.
7 Configuracin del servidor como DNS esclavo
Si deseamos configurar nuestro servidor DNS para que acte como esclavo de un
servidor DNS maestro, la configuracin es mucho ms sencilla que en el caso anterior
ya que nicamente ser necesario indicar en el DNS esclavo quin es el servidor DNS
maestro, y en el DNS maestro, la IP del DNS esclavo.
Ejemplo, supongamos que el nombre del DNS maestro es servidor.micentro.com (IP 192.168.2.202) y que el nombre del DNS esclavo es dns2.micentro.com.
En el archivo db.micentro.com' de zona de bsqueda directa del maestro aadiremos la lnea del segundo dns justo debajo de donde est la del primero:
// Aadir lnea en /etc/bind/db.micentro.com del maestro ....
IN NS servidor.micentro.com.
IN NS dns2.micentro.com. // Nueva lnea ....
dns2 ser el nombre de la mquina donde va a estar el DNS esclavo (por lo tanto debes cambiarle el nombre /etc/hostname) de esta forma indicaremos que existen ms servidores DNS para dicha zona. Lo mismo haremos en el archivo db.192 de la zona inversa del maestro :
// Aadir lnea en /etc/bind/db.192 del maestro ....
IN NS servidor.micentro.com.
IN NS dns2.micentro.com. // Nueva lnea ....
En el archivo /etc/bind/named.conf.local del servidor DNS esclavo debemos indicar que
se trata de un servidor esclavo y tambin debemos indicar quin es el maestro. Podemos
ver la descripcin de todas las opciones en el apartado 6.2.
-
Pgina 25
// Aadir en /etc/bind/named.conf.local del
esclavo
zone "micentro.com" {
type slave; file "/var/cache/bind/db.micentro.com";
masters { 192.168.2.202; }; };
zone "2.168.192.in-addr.arpa" {
type slave; file "/var/cache/bind/db.192";
masters { 192.168.2.202; };}; En el esclavo hay que cambiar la ruta donde se van a guardar los archivos de zona a una
ruta donde se tengan permisos de escritura, en esta caso /var/cache/bind o comprobar
y cambiar los permisos de escritura para el archivo que se desee utilizar.
En el archivo /etc/bind/named.conf.local del servidor DNS maestro podemos utilizar also-notify para mantener los DNS sincronizados. allow-transfer para permitir la transferencia de zonas a los esclavos y allow-query para indicar quin puede realizar
consultas al DNS.
Con also-notify pasamos los cambios de zonas del maestro al esclavo:
// Archivo /etc/bind/named.conf.local del maestro
zone "micentro.com" {
type master;
file "/etc/bind/db.micentro.com";
also-notify {ip_del_esclavo;} allow-transfer { ip_esclavo; //Direccion IP del secundario }; allow-query { any; }; // Cualquier host puede hacer //una peticin de DNS a este dominio. };
zone "2.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192";
also-notify {ip_del_esclavo;} allow-transfer { ip_esclavo;}; allow-query { any; }; }
-
Pgina 26
De sta forma dispondremos en la red de un servidor DNS esclavo que podr satisfacer
las peticiones DNS al igual que lo hara el maestro. Es interesante si el nmero de
peticiones es muy elevado y se requiere distribuir la carga entre los dos servidores, o si
deseamos disponer de servicio DNS de alta disponibilidad de forma que aunque el
servidor maestro deje de funcionar, el servidor esclavo podr seguir ofreciendo el
servicio.
NOTA: Cada vez que hagamos un cambio en los archivos /etc/bind/db.micentro.com y /etc/bind/db.192 del maestro, debemos acordarnos de actualizar el parmetro serial (incrementar en una unidad) para que los dns dependientes del maestro sepan que ha cambiado y
actualicen su informacin para mantenerse perfectamente sincronizados.
Para comprobar que todo ha ido correctamente o si se ha producido algn error en la transferencia comprueba el archivo /etc/log/syslog donde se van aadiendo
en las ltimas lneas los eventos ocurridos.
8 Prctica a Realizar
Queremos instalar un servidor DNS local en nuestra intranet que nos permita gestionar
los nombres de las mquinas y recursos de nuestra red. Las caractersticas del servidor
DNS que queremos instalar son las siguientes:
Direccin IP 192.168.1.100
Vamos a crear una zona para el dominio: iesarcipreste.com
Vamos a crear una zona de resolucin inversa: 1.168.192.in-addr.arpa
Vamos a tener los siguientes FQHN:
o El servidor web (IP que tenga el servidor DNS) se llama informacin.
iesarcipreste.com
o El servidor DNS (IP que tenga el servidor DNS) se llama
ns1.iesarcipreste.com
o Vamos a suponer que tenemos un servidor para recibir los correos que se
llame correo.iesarcipreste.com y que est en 192.168.1.200
o Vamos a suponer que tenemos un servidor ftp que se llame
ftp.iesarcipreste.com y que est en 192.168.1.201
o Adems queremos nombrar a dos clientes:
epi.iesarcipreste.com (192.168.1.202) (En Windows)
blas. iesarcipreste.com (192.168.1.203) (En Linux)
Vamos a tener los siguientes alias:
o www.iesarcipreste.com un alias de informacion.iesarcipreste.com
o departamentos. iesarcipreste.com un alias de
informacion.iesarcipreste.com
-
Pgina 27
1) Entrega un documento con una gua detallada de los pasos de configuracin del
servidor DNS que has realizado. Inserta el contenido de los ficheros de configuracin
que hayas modificado.
2) Entrega las salidas de la ejecucin del comando dig desde el cliente preguntando por
los siguientes:
Direccin de informacion.iesarcipreste.com, www. iesarcipreste.com,
ftp.iesarcipreste.com, epi.iesarcipreste.com
El servidor DNS que tiene configurado la zona del dominio iesarcipreste.com
El servidor de correo configurado para iesarcipreste.com
La direccin IP de www.arcipreste.org
3) Crea en otra mquina virtual un servidor DNS esclavo y configralo adecuadamente
y comprueba que funciona.