LinuxParty

Ratio: 4 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio desactivado
 

El servicio Domain Name Server (DNS) se utiliza para la resolución de nombres de hosts. Los Servidores DNS maestros (servidor primario) son los manejadores de datos de zona originales y el/los servidores DNS esclavos (servidor secundario) son sólo servidores de respaldo que se utilizan para copiar la misma información de la zona de los servidores maestros. El Servidor Maestro resolverá los nombres de cada anfitrión que hemos definido en la base de datos de zona; y utilizará el protocolo UDP, ya que los protocolos UDP nunca usan el proceso de reconocimiento, mientras que TCP utiliza reconocimiento. Los servidores DNS también utilizan protocolos UDP para resolver la petición de consulta a la mayor brevedad.

Cómo funciona DNS

Comprender como funcionan los servidores DNS podría ser poco confuso para los novatos. He aquí una breve explicación sobre la forma de la obran los DNS.

Digamos, si necesitamos acceder a cualquier sitio web ¿Cómo lo vamos a hacer? Sólo tienes que escribir en el navegador www.google.com y pulsa Enter. Hmm eso es todo lo que sabemos, pero el hecho es, ¿qué pinta el DNS en todo esto? Mientras escribimos www.google.com el sistema buscará www.google.com. Cada vez que escriba algún nombre de dominio, hay un . (Punto) al final de la www.google.com que indican que debe buscarse en el servidor raíz.

A nivel mundial existen 13 servidores raíz disponibles para resolver las consultas. Al principio, cuando pulsamos Enter tras escribir www.google.com pasará una solicitud a nuestro resolutor local, que tiene entrada sobre nuestro DNS servidor y esclavo. Si ellos no tienen información sobre dicha consulta solicitada pasarán la solicitud al dominio de nivel superior (TLD), si el TLD no encuentra la solicitud, se lo pasará a un servidor autorizado saber su petición, él remitirá a los servidores autoridad, aquí sólo www.google.com se definió como la dirección 72.36.15.56.

En poco tiempo el servidor autorizado dará la respuesta a TLD y TLD pasará al servidor raíz y la raíz proporcionará la información al navegador, por lo tanto, el navegador caché se quedará con la petición DNS para su uso futuro. Por lo tanto este largo proceso acabará de resolverse en milisegundos. Si no conocen la solicitud, ellos responderán como NXDOMAIN. Eso quiere decir, no hay registro alguno, no fueron encontrados en la base de datos de zona. Espero que esto hace que entienda cómo funcionan los DNS.

Mi entorno de pruebas

Para este artículo, estoy usando 3 máquinas, 2 para la configuración del servidor (maestro y esclavo) y 1 para el cliente.

-------------------------------------------------- -
Servidor Maestro DNS
-------------------------------------------------- -

Dirección IP: 192.168.0.200
Host-name: masterdns.linuxpartylocal.com
OS: Centos 6.5 final
  -------------------------------------------------- -
Servidor Esclavo DNS
-------------------------------------------------- -

Dirección IP: 192.168.0.201
Host-name: slavedns.linuxpartylocal.com
OS: Centos 6.5 final
 -------------------------------------------------- -
Máquina Cliente para utilizar DNS
-------------------------------------------------- -

Dirección IP: 192.168.0.210
Host-name: node1.linuxpartylocal.com
OS: Centos 6.5 final

Paquetes requeridos:

  bind, bind-utils, bind-chroot

Los archivos de configuración utilizados

 archivo de configuración:   /etc/named.conf
archivo de script: /etc/init.d/named

Puerto y protocolos usados

  53, UDP 

Configuración DNS del Servidor Maestro.

En primer lugar, compruebe la versión, dirección IP, nombre de host y Distribución del Servidor Maestro DNS, antes de seguir adelante para la configuración.

Mira también:

Tipos de Registro DNS

$ sudo ifconfig | grep inet
$ hostname
$ cat /etc/redhat-release

Una vez que usted confirma que las opciones anteriores son correctas, es tiempo de avanzar para instalar los paquetes requeridos.

$ sudo yum install bind* -y

Instalación y configuración de Bind

Después de instalar los paquetes necesarios, ahora vamos a definir los archivos de zona en el archivo de configuración del maestro 'named.conf'.

  $ sudo vim /etc/named.conf

A continuación se realiza la entrada de mi archivo named.conf, cambiar el archivo de configuración según su necesidad.

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

options {
        listen-on port 53 { 127.0.0.1; 192.168.0.200; }; # Aquí tenemos que añadir nuestra IP Maestro Servidor DNS.
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { localhost; 192.168.0.0/24; }; # Rango de subred donde se permite a mis anfitriones para consultar nuestros DNS.
        allow-transfer     { localhost; 192.168.0.201; };  # Aquí tenemos a nuestro IP del servidor DNS esclavo.
        recursion no;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

## Definir nuestro archivo forward y reverse Zone aquí Zona linuxpartylocal.com.


zone"linuxpartylocal.com" IN {
type master;
file "linuxpartylocal.fwd.zone";
allow-update { none; };
};

zone"0.168.192.in-addr.arpa" IN {
type master;
file "linuxpartylocal.rev.zone";
allow-update { none; };
};

#####
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

Los siguientes son la explicación de cada configuración que usamos en encima de archivo.

  • listen-on port 53 – se utiliza para el DNS para escuchar en interfaces disponibles.
  • Master DNS – Define, su dirección de IP del DNS maestro escuchar la consulta.
  • Slave DNS – definir su DNS esclavo, que se utiliza para sincronizar la información de nuestra zona para resolver las huestes del amo.
  • recursion no – si su conjunto Yes, consultas recursivas hará que el servidor en ataque DDOS.
  • Zone Name – definir su nombre de la zona definida aquí como linuxpartylocal.com.
  • type master (tipo de maestro) – como este sistema se ha configurado para un servidor maestro, para servidor esclavo será esclavo.
  • linuxpartylocal.fwd.zone – este archivo tiene la información de host para esta zona.
  • allow-update none (actualización permite ninguno) – si no será definido. no utiliza DNS dinámico (DDNS).

Crear archivos de zona maestras

Lo primero debemos definir la zona de entrada de búsqueda. Aquí tenemos que crear los archivos de zona con el nombre, tal como lo hemos definido en el archivo named.conf como abajo.

  
linuxpartylocal.fwd.zone
linuxpartylocal.rev.zone

Utilizamos los archivos de configuración de ejemplo para la creación de archivos de zona "forward" (zona de entrada de búsqueda), para esto tenemos que copiar los archivos de configuración de ejemplo.

  
$ sudo cp /var/named/named.localhost /var/named/linuxpartylocal.fwd.zone
$ sudo cp /var/named/named.loopback /var/named/linuxpartylocal.rev.zone

Una vez, si has copiado los archivos de configuración, ahora editaremos estos archivos de zonas utilizando el editor vim .

  
$ sudo vim /var/named/linuxpartylocal.fwd.zone

Antes de definir nuestra información del host en el archivo de zona forward, primero vamos echar un vistazo en el archivo de zona.

Vamos a cambiarlos....

Esta es mi configuración de zona delantera (forward), anexar la siguiente entrada y hacer cambios según su necesidad.

  
$TTL 86400
@       IN SOA  masterdns.linuxpartylocal.com.     root.linuxpartylocal.com. (
                                  2014090401    ; serial
                                        3600    ; refresh
                                        1800    ; retry
                                      604800    ; expire
                                       86400 )  ; minimum

; Name server's

@       IN      NS      masterdns.linuxpartylocal.com.
@       IN      NS      slavedns.linuxpartylocal.com.

; Name server hostname to IP resolve.

@       IN      A       192.168.0.200
@       IN      A       192.168.0.201

; Hosts in this Domain

@       IN      A       192.168.0.210
@       IN      A       192.168.0.220
masterdns       IN      A       192.168.0.200
slavedns        IN      A       192.168.0.201
node1           IN      A       192.168.0.210
rhel1           IN      A       192.168.0.220

Guarde y salga del archivo usando wq!.  Use TAB para conseguir un formato decente en el archivo de zona.

Ahora, debe crear el archivo de búsqueda inversa, ya hemos hecho una copia del archivo de bucle de retorno en el nombre de linuxpartylocal.rev.zone. Así, que utilice este archivo para configurar nuestra búsqueda inversa.

  $ sudo vim /var/named/linuxpartylocal.rev.zone

Antes de definir nuestra información de host en el archivo de zona inversa, le echamos un vistazo rápido muestra inversa como se muestra a continuación.

Esta es la configuración de mi zona inversa, anexe la entrada de abajo y hacer cambios como su necesidad.

$TTL 86400
@       IN SOA  masterdns.linuxpartylocal.com. root.linuxpartylocal.com. (
                                2014090402      ; serial
                                      3600      ; refresh
                                      1800      ; retry
                                    604800      ; expire
                                     86400 )    ; minimum

; Name server's

@       IN      NS      masterdns.linuxpartylocal.com.
@       IN      NS      slavedns.linuxpartylocal.com.
@       IN      PTR     linuxpartylocal.com.

; Name server hostname to IP resolve.

masterdns       IN      A       192.168.0.200
slavedns        IN      A       192.168.0.201

;Hosts in Domain 

node1           IN      A       192.168.0.210
rhel            IN      A       192.168.0.220
200             IN      PTR     masterdns.linuxpartylocal.com.
201             IN      PTR     slavedns.linuxpartylocal.com.
210             IN      PTR     node1.linuxpartylocal.com.
220             IN      PTR     rhel1.linuxpartylocal.com.

Guarde y salga del archivo usando wq! Use TAB para conseguir un formato decente en el archivo de zona.

Compruebe el dueño del grupo del fichero forward y archivos de consulta inversa, antes de comprobar los posibles errores en la configuración.

  $ sudo ls -l /var/named/

Aquí podemos ver que ambos ficheros son titularidad del usuario root, ya que los archivos Cambie el grupo a named de ambos archivos mediante comandos siguientes.

 $ sudo chgrp named /var/named/linuxpartylocal.fwd.zone
 $ sudo chgrp named /var/named/linuxpartylocal.rev.zone

Después de establecer la propiedad correcta en los archivos, verificar nuevamente:

  $ sudo ls -l /var/named/

Ahora, comprobar los errores en los archivos de zona, antes de iniciar el servicio DNS. Primero revise el archivo named.conf, a continuación, comprobar otros archivos de zona.

  
$ sudo named-checkconf /etc/named.conf
$ sudo named-checkzone masterdns.linuxpartylocal.com /var/named/linuxpartylocal.fwd.zone
$ sudo named-checkzone masterdns.linuxpartylocal.com /var/named/linuxpartylocal.rev.zone

Por defecto iptables estaba corriendo y nuestro servidor DNS se limita a localhost, si el cliente quiere resolver el nombre de nuestro servidor DNS, entonces tenemos que permitir la petición de entrada, para eso necesitamos añadir una regla a iptables de entrada para el puerto 53.

  
$ sudo iptables -I INPUT -p udp --dport 53 -m state --state NEW -j ACCEPT

Ahora, compruebe que la regla se ha añadido correctamente en la cadena INPUT.

  
$ sudo iptables -L INPUT

A continuación, guardar las reglas y reinicie el firewall.

  
$ sudo service iptables save
$ sudo service iptables restart

Inicie el servicio named y hacer que sea persistente.

  
$ sudo service named start
$ sudo chkconfig named on
$ sudo chkconfig --list named

Por último, pruebe los archivos de zona DNS Maestro configurados (forward y reverse), usando las dig y nslookup.

  
$ dig masterdns.linuxpartylocal.com		       [Forward Zone]

  
$ dig -x 192.168.0.200

  
$ nslookup linuxpartylocal.com
$ nslookup masterdns.linuxpartylocal.com
$ nslookup slavedns.linuxpartylocal.com

Bien! hemos configurado un DNS maestro, ahora tenemos que configurar un servidor DNS esclavo. Sigamos adelante para configurar un servidor esclavo, Esto no tomará mucho tiempo más que la configuración maestra.

Configuración Servidor Esclavo DNS

En la máquina Esclavo, también necesitamos instalar los mismos paquetes como se muestra en la Maestra, así que vamos a instalar usando los siguientes comandos.

  
  $ sudo yum install bind * -y

Abrir el archivo y editar 'named.conf' de nuestra base de datos de zona y el puerto de escucha.

  
  $ sudo vim /etc/named.conf

Haga los cambios como se muestra, según sus necesidades.

  
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

options {
        listen-on port 53 { 127.0.0.1; 192.168.0.201}; # Our Slave DNS server IP
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { localhost; 192.168.0.0/24; };
        recursion no;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

## Define our slave forward and reverse zone, Zone files are replicated from master.

zone"linuxpartylocal.com" IN {
type slave;
file "slaves/linuxpartylocal.fwd.zone";
masters { 192.168.0.200; };
};

zone"0.168.192.in-addr.arpa" IN {
type slave;
file "slaves/linuxpartylocal.rev.zone";
masters { 192.168.0.200; };
};

#####
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

Iniciar el servidor DNS:

$ sudo service named start

Después de reiniciar el servicio bind, no tenemos para definir la información de zona de forma individual, ya que nuestro permite transferir (allow-transfer) y se replicará la información de zona desde el servidor maestro como se muestra en la imagen de abajo.

$ sudo service named start

Verificar, la información de la zona con el comando cat.

$ sudo cat /var/named/slaves/linuxpartylocal.fwd.zone
$ sudo cat /var/named/slaves/linuxpartylocal.rev.zone

A continuación, abrir el puerto 53 DNS en iptables para permitir la conexión de entrada.

  
$ sudo iptables -I INPUT -p udp --dport 53 -m state --state NEW -j ACCEPT

Guarde la configuración, reinicie el servicio y conviértalo en un servicio persistente.

  
$ sudo service iptables save
$ sudo service iptables restart
  
$ sudo chkconfig iptables on
$ sudo chkconfig --list iptables

Configurar la máquina del cliente

  
setup

En el lado del cliente  tenemos que asignar el servidor primario (192.168.0.200) y el secundario (192.168.0.201) en la configuración de la red para obtener asignar un nombre de host. Para ello, ejecute el comando setup para definir todas estas entradas como se muestra en la imagen.

Si no, editar el archivo '/etc/reslov.conf' y añadir las siguientes entradas.

  
$ vim /etc/resolv.conf
  
search linuxpartylocal.com
nameserver 192.168.0.200
nameserver 192.168.0.201

Ahora, comprobar la IP, nombre de host y el nombre del servidor de búsqueda.

  
$ ifconfig | grep inet
$ hostname
$ nslookup linuxpartylocal.com

Now, check the forward & Reverse DNS look-up using.

Ahora, comprobar los servidores DNS forward y reverse utilizando:

  
$ dig masterdns.linuxpartylocal.com
$ dig -x 192.168.0.200

Explicación de la salida dig:

  • Header - Este dice todo lo que hemos pedido y cómo fue el resultado.
  • Status - Estado, si hubo error, eso significa que la solicitud de consulta enviado por nosotros fue un éxito sin ningún error.
  • Question - La consulta ha sido realizada por nosotros, aquí mi pregunta era masterdns.linuxpartylocal.com.
  • Answer (Respuesta) - La solicitud de consultas por resolver si hay información disponible.
  • Authority - La respuesta de los servidores de nombre de dominio y la zona.
  • Additional - Información adicional con respecto a los servidores de nombres, detalles tales como nombre-host y la dirección IP.
  • Query time (Tiempo de consulta) - ¿Cuánto tiempo le tomó la resolución de los nombres de los servidores anteriores.

Finalmente comprobar nuestro nodo y hacer un ping.

  
$ dig node1.linuxpartylocal.com

  
$ ping masterdns.linuxpartylocal.com -c 2
$ ping slavedns.linuxpartylocal.com -c 2
$ ping 192.168.0.200 -c 2
$ ping 192.168.0.201 -c 2

Se acabó, la instalación queda completada, aquí hemos configurado tanto en el servidor DNS primario (maestro) y el esclavo (secundario).

 Otros artículos:

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías

Nos obligan a moslestarte con la obviedad de que este sitio utiliza Cookies. Ver política