DNS en Ubuntu

download DNS en Ubuntu

of 27

Transcript of 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.