Domain Name Server (DNS)


Domain Name Servers DNS o servidor de nombres, mapas de los dispositivos de nombres de host con su respectivo direcciones IP. DNS es normalmente implementado usando un servidor / s Central que tiene autoridad para un dominio y se refieren a otros servidores de DNS para otros dominios. Hay cuatro tipos de configuración de servidor DNS:

Maestro
Cuenta con los registros de la zona autorizado para el dominio que actúan como servidor DNS. Responde a las peticiones directamente sobre el dominio autorizado y reenvía otras consultas de dominio a otros servidores DNS.

Slave
Slave servidor DNS actúa como un servidor DNS autorizado conseguir los registros de zona desde el servidor principal DNS.

sólo Caching-only Caching />
Forwarding
Como sólo caché del servidor DNS, el reenvío de servidor DNS no está autorizado para cualquier zona, todas las consultas son enviados a una lista específica de servidores de nombres.

Un servidor de nombres puede ser maestro para algunas zonas, esclavo para otras y ofrecemos el reenvío a otros.

Paquetes

En RHEL6 DNS se basa en la llamado demonio que está instalado en el enlace paquete desarrollado por el Consorcio Fuente Internet y algunos paquetes adicionales:

bind-chroot
Proporciona un aislado ‘chroot-cárcel «, que limitan el acceso si DNS está comprometido.

bind-devel
Incluye bibliotecas de desarrollo de bind.

bind-libbind-devel
Contiene la biblioteca determinación libbind.

bind-libs
Añade archivos de biblioteca que utiliza el bind y bind-utils paquetes.

bind-sdb
Soporta bases de datos alternativas para unen.

bind-utils
Incluye herramientas de excavación que proporciona información DNS sobre un dispositivo de Internet.

cliente DNS

/ etc / nsswitch.conf

Cuando un equipo linux busca otro IP del ordenador que busca la información en dos Archivos: / etc / hosts y / etc / resolv.conf . El orden en que se consulta a los archivos se configura en / etc / nsswitch.conf :

$ cat / etc / nsswitch.conf

hosts: files dns,

Buscar primero en archivos (/ etc / hosts) y luego sobre dns (/ etc / resolv.conf).

/ etc / hosts

Este archivo es una base de datos simple que relaciona una IP numérica con un nombre de host. Se puede editar como un archivo normal con el comando ‘vi’ con el fin de agregar más información.

# cat / etc / hosts

127.0.0.1 localhost localhost
192.168.1.1 server.info.net servidor
El primera línea asigna la IP 127.0.0.1 al localhost nombres de host, nombre corto, y localhost, FQHN nombre de host. La segunda línea asigna la IP 192.168.1.1 al servidor y el nombre de host server.info.net.

/ etc / resolv.conf

Con el fin de configurar un equipo linux como cliente DNS en el archivo / etc / resolv.conf se debe utilizar.

# cat / etc / resolv.conf />

búsqueda info.net nameserver 192.168.1.1 En este caso todas las consultas DNS lanzó desde el equipo será dirigido al servidor de nombres en 192.168.1.1. Si se proporciona un nombre corto que se complementará de forma automática con el dominio ‘info.net’.

Nota: Por defecto, si una consulta DNS se hace y se puede responder desde / etc / hosts del servidor de nombres configurado en / etc / resolv.conf no se consulta. Sólo la información obtenida de / etc / hosts se toma como válido.

servidor DNS con bind

Para instalar el servicio servidor de nombres BIND, el paquete bind debe instalarse:

# yum install bind

El directorio raíz de servidor de nombres BIND está en / var / named y los archivos de configuración se almacenan en / etc, como de costumbre:

/ etc / sysconfig / named
El archivo de configuración que estableció la forma en que se ejecuta en el sistema que el demonio se unen.

/ etc / named.conf
fichero de configuración DNS principal que incluye datos de otros ficheros.

/ etc/named.rfc1912.zones
Contiene zonas apropiadas para los nombres y direcciones de localhost.

/ var / named / my.internal.zone.db
archivo de zona para la red local.

/ var / named / esclavos / my.slave.internal.zone.db
archivo de zona para un servidor de nombres esclavo.

/ var / named / localdomain.zone
archivo de zona de dominio localhost.

/ var / named / localhost.zone
archivo de zona para la computadora host local.

/ var / named / named.broadcast
récord de difusión para localhost.

/ var / named / named.ca
Lista de los servidores DNS raíz de Internet consultados por servidor de nombres cuando una resolución servidor de nombres no puede ser realizado por el servidor de nombre.

/ var/named/named.ip6.local
versión IPv6 del named.local.

/ var / named / named.zero
El valor predeterminado es el registro de emisión para el localhost.

/ var / named / data / named.stats.txt
estadísticas de servidores de nombres.

Las plantillas de estos archivos se pueden encontrar en / usr / share / doc / bind * / muestra . Si el paquete bind-chroot se instala en el directorio raíz del servidor de nombres estará en / var / named / chroot / var / named y el directorio de configuración estarán en / var / named / chroot / etc .

de sólo el almacenamiento en caché de servidores de nombre

Cuando una consulta DNS se realiza contra un servidor de nombre-cache sólo la consulta se reenvía a otro servidor de nombre si la respuesta para esta consulta no se encuentra en la memoria caché del servidor de nombres de sólo caché DNS. Cuando los servidores de nombres externos respuestas a la consulta DNS al servidor de nombres de sólo caché pone la respuesta en su memoria caché y reenvía la respuesta al cliente que ha hecho la consulta. Si alguien repite la misma consulta en el servidor de nombres de sólo caché será contestada directamente (más rápido) desde el servidor de nombres de sólo caché porque la respuesta para esta consulta estará en la memoria caché.

Con el fin de configurar un servidor de nombres de sólo caché para toda su LAN en el archivo / etc / named.conf instalado por defecto por rpm bind se debe cambiar en tan sólo dos líneas:

listen-on port 53 {127.0.0.1;}; -> escucha en el puerto 53 {127.0.0.1; 192.168.1.10;};

permitir -query {localhost;}; -> allow-query {localhost; 192.168.1.0/24;};

La primera línea se ponga al servicio de enlace que escucha en el el host local (127.0.0.1) y LAN (192.168.1.10) interfaces de red. La segunda línea le dará acceso a todos los hosts de LAN 192.168.1.0/24 para usar este servidor como servidor de nombres, una vez que se ha iniciado el servicio y el servidor de seguridad abierta.

El archivo de configuración para un servidor de nombres de sólo caché es el siguiente:

# cat / etc / named.conf

opciones {
escucha en el puerto 53 {127.0.0.1; 192.168.1.10;};
listen-on-v6 puerto 53 {:: 1;};
directorio «/ var / named»;
dump-file «/ var / named / data / cache_dump.db «;
statistics-file» / var / named / data / named_stats.txt «;
memstatistics-archivo «/ var / named / data / named_mem_stats.txt»;
allow-query {localhost; 192.168.1.0/24;};
recursividad sí; />
dnssec a habilitar sí;
dnssec validación sí;
auto dnssec-Lookaside;

/ * Ruta al ISC DLV tecla * /
bindkeys-archivo «/ etc / named.iscdlv.key» ;
};

logging {default_debug canal {archivo />
severidad dinámico;
};
};

zona» «. IN {type />
archivo «named.ca»;
};

include «/ etc/named.rfc1912.zones»;

Una vez hecho esto el siguiente paso es iniciar el demonio bind y asegúrese de que se inicie en el arranque. Asegúrese de que también se aplican las consideraciones de seguridad que se describen en la «seguridad DNS ‘. :

# / Etc / init.d / named start
# chkconfig nombrado en

Con esta configuración, un servidor de nombres caché sólo se sirve resolución de nombres en 192.168.1.10 para todos 192.168.1.0/24 LAN. Eche un vistazo en lab1 …

nameserver Forward

Este tipo de servidor de nombres sólo tiene una opción de configuración simple en / etc / named.conf que configura los servidores de nombres que el servidor de nombres de reenvío remitirá toda la consultas DNS. El directorio / etc / named.conf de funciona solamente en caché que se instala por defecto con RPM bind se puede utilizar para generar el archivo de configuración de servidor de nombre de avance sólo añadir las siguientes líneas en la sección ‘opción’:

# tipo Set nameserver para reenviar
sólo hacia adelante;

# Configura los IPs servidores de nombres donde se remitirán las consultas DNS
forwarders {192.168.1.20 ; 192.168.1.30;}

El archivo de configuración para un servidor de nombres de reenvío sólo está como sigue:

# cat / etc / named.conf

options {listen-on port 53 {127.0.0.1; 192.168.1.10;};
escucha-en v6 puerto 53 {identificados :: 1;};
directorio de «/ var / named»;
dump-archivo «/ var / named / data / cache_dump.db»;
statistics-file «/ var / named / data / named_stats.txt»;
memstatistics-archivo «/ var / named / data / named_mem_stats.txt»;
allow-query {localhost; 192.168.1.0/24;};
recursividad sí,

sólo hacia adelante;
forwarders {192.168.1.20; 192.168.1.30;};

dnssec a habilitar sí;
dnssec validación sí;
auto dnssec-Lookaside;

/ * Ruta al ISC DLV tecla * /
bindkeys- archivo «/ etc / named.iscdlv.key»;
};

logging {canal default_debug {
; presentar «datos / named.run»;
severidad dinámico;
};
};

zona «.» IN {type />
archivo «named.ca»;
};

include «/ etc/named.rfc1912.zones»;

Con esta configuración, el servidor de nombres se puede configurar para reenviar todas las consultas DNS que no se almacenan en caché sólo para 192.168.1.20 , 192.168.1.30 servidores DNS. El nombre de servidor es el cacheado + adelante.

Una vez hecho esto el siguiente paso es iniciar el demonio bind y asegúrese de que se inicie en el arranque. Asegúrese de que también se aplican las consideraciones de seguridad que se describen en la «seguridad DNS ‘. :

servidor de nombres maestro

# chkconfig nombrado en = «text-align: justify;»> Cuando el servidor de nombres está configurado para servir a la resolución de nombres para un dominio especificado (dominio local o de dominio de Internet) que servidor tiene los registros DNS autorizados para ese dominio. Este servidor de nombres es consultado por otros nombres de servidores cuando una resolución para el dominio donde está autorizada se realiza en otros servidores.

Con el fin de configurar un servidor de nombres como servidor de nombres maestro para un dominio debe instalarse el RPM se unen. El siguiente paso es copiar el archivo / usr / share / doc / bind * / sample / etc / named.conf para archivo / etc / named.conf (o / var / named / chroot / etc / named.conf si el paquete bind- chroot También se ha instalado) y realice los siguientes cambios:

# Hacer demonio named que escuche en la dirección IP de red IPv4 del servidor de nombres (192.168.1.10 en este caso) más la IP localhost (127.0.0.1)
escucha en el puerto 53 {127.0.0.1; 192.168.1.10};

# Permitir sólo la consulta de los clientes de la LAN más

allow-query {localhost; 192.168.1.0/24;};
allow-query-cache {localhost; 192.168.1.0/24;};


# Introducir en la ‘vista localhost_resolver «y» vista interna «del archivo de zona directa e inversa. El archivo de los mapas de sus nombres de host directo de dominio con la dirección IP numérica, el archivo de zona inversa asigna los valores de IP numéricas con sus corresponsales nombres de host

vista localhost_resolver {
# Directo archivo de zona autorizada para nuestro dominio ‘info.net’
zona «info.net» {type master /> file «info.net.zone»;}
;
# Reverse archivo de zona autorizada de nuestro dominio ‘info.net’
zona «1.168.192.in-addr.arpa» IN {type />
presentar «info.net.rr.zone»;
allow-update {none;};
;};
};

# Lo mismo para «visión interna». En esta vista sustituto «zona» my.internal.zone «» por «zona» info.net «‘y crear la zona inversa’ vista localhost_resolver ‘.

# En «visión interna» comenta todo «zona» my.ddns.internal.zone ‘, este servidor de nombres no va a ser actualizado dinámicamente …

En # Para prevenir el acceso no autorizado al demonio named, BIND utiliza un método de autenticación de clave secreta compartida para otorgar privilegios a hosts. Esto significa que una llave idéntica debe estar presente tanto en / etc / named.conf y el archivo de configuración rndc, / etc / rndc .. conf

ddns_key tecla {
algoritmo HMAC-MD5; ​​
secreto «N7ypFzAWQrEo2nzwigHPKA ==»;
};

# Eliminar «visión externa» sección, en este caso, el servidor de nombres no va a permitir que las consultas DNS de los clientes fuera de la LAN .

Después de todo eso cambia el archivo / etc / named.conf será el siguiente:

# cat fichero / etc / named.conf

opciones

{/ / Poner los archivos que el nombre se le permite escribir en el directorio data /:
directorio «/ var / named» / / «Trabajo» directorio
; dump-file «data / cache_dump.db»;
statistics-file » datos / named_stats.txt «;
memstatistics-file» data / named_mem_stats.txt «;

escucha en el puerto 53 {127.0.0.1; 192.168.1.10;};
/ / escucha en el puerto 53 {127.0.0.1;};

escuchar-sobre-v6 puerto 53 {any;};
/ / puerto listen-on-v6 53 {:: 1;};

allow-query {localhost; 192.168.1.0 / 24;};
allow-query-cache {localhost; 192.168.1.0/24;};

/ / Habilitar / deshabilitar la recursividad – recursividad si / no;
recursividad sí;. opciones relacionadas />
/ * DNSSEC Ver información sobre las teclas ( «claves de confianza», abajo) * /

/ * Habilitar porción de los datos relacionados con DNSSEC – enable tanto autoritaria
y servidores recursivos DNSSEC servidores conscientes * /
dnssec a habilitar sí; />
/ * Habilitar validación DNSSEC en los servidores recursivos * /
dnssec validación sí,

/ * Habilitar DLV por defecto, el uso integrado clave ISC DLV. * / dnssec
-Lookaside auto;
};

tala {
default_debug canal {
                     presentar «datos / named.run»;
                     severidad dinámico;
};
};

vista «localhost_resolver «

{/ * Esta visión establece llamado a ser un solucionador localhost (el almacenamiento en caché sólo servidor de nombres).
* Si lo que quieres es un servidor de nombres de sólo caché, a continuación, sólo tiene que definir este punto de vista:
/> * /
recursividad sí,

; # todas las vistas deben contener la zona de sugerencias de raíz:
zona IN {
                     Tipo de pista;
                     archivo «/ var / named / named.ca»;
};

/ * Se trata de zonas que contienen definiciones para todos los
localhost * Los nombres y direcciones, como se recomienda en RFC1912 – estos nombres deberían
* no se escapan a los otros servidores de nombres:
* /
include «/ etc/named.rfc1912.zones «;

zona» info.net «{
                     tipo master;
                     presentar «info.net.zone»;
};

; zona «1.168.192.in-addr.arpa» IN {
                     tipo master;
                     presentar «info.net.rr.zone»;
                     allow-update {none;};
};
};
vista «interno»
{
/ * Esta visión contendrá zonas que desee para servir sólo a los clientes «internos»
que se conectan a través de sus interfaces LAN conectadas directamente – «. localnets»
, * /
match-clients {localnets;};
; recursión sí, «.»

zona EN {
                     Tipo de pista;
                     archivo «/ var / named / named.ca»;
};

/ * Se trata de zonas que contienen definiciones para todos los
localhost * Los nombres y direcciones, como se recomienda en RFC1912 – estos nombres deberían
* no se escapan a los otros servidores de nombres:
* /
include «/ etc/named.rfc1912.zones «;

/ / Estos son sus» «zonas internas de autoridad, y sería probablemente
/ / También se incluirán en la vista «localhost_resolver» arriba:

/ / zona «mynternal.zone». internal.zone «{
/ / Tipo de master;
/ / archivo «my.internal.zone.db»;
/ /}; zona /> ​​
                     Tipo de esclavo;
                     presentar «esclavos / my.slave.internal.zone.db»;
                     amos {/ * IPs servidor de nombres maestro poner aquí * / 127.0.0.1;};
                     Zonas de esclavos / / poner en el directorio / esclavos llamado así pueden actualizarlos />} / / zona «my.ddns.internal.zone» {
                     / / Tipo de master;
                     / / Allow-update {ddns_key clave;};
                     / / Archivo «dinámico / my.ddns.internal.zone.db»;
                     / / / / Ponga zonas dinámicamente actualizable en el directorio / esclavos llamado así puede actualizarlos
/ /};

zona «info.net» {
                     tipo master;
                     presentar «info.net.zone»;
};

; zona «1.168.192.in-addr.arpa» IN {
                     tipo master;
                     presentar «info.net.rr.zone»;
                     allow-update {none;};
};

};

clave />
; algoritmo HMAC-MD5; ​​
secreto «N7ypFzAWQrEo2nzwigHPKA ==»;
};
. ..

Ahora es el momento de crear los archivos directos e inversos de zona en / var / named directorio de nuestro dominio ‘info.net’:

# cat / var / named / info.net.zone

$ TTL 86400 @ IN
; SOA rhel6.info.net. root.rhel6.info.net. (
                     42; serie (D. Adams)
                     3H; refresh
                     15M; reintento
                     1W; caducidad
                     1D); mínimo
                     IN NS RHEL6
                     IN MX 10 RHEL6 />
node02 EN UN ; 192.168.1.102
RHEL6 EN 192.168 .1.10 servidor />
www ; IN CNAME RHEL6 ftp />

# cat / var / named / info.net.rr.zone

@ IN SOA rhel6.info.net. root.rhel6.info.net. (
                     1997022700;
serie                      28800; Refresh
                     14400; Reintentar
                     3600000; Expire
                     86400);
mínimo                      IN NS rhel6.info.net.
101 IN PTR node01.info.net.
102 IN PTR node02.info.net.
10 IN PTR rhel6.info.net.

Una vez que los archivos directos e inversos de la zona se ha creado la propiedad debe ser cambiado para el nombre de usuario y reiniciar el servicio denominado:

# chown llamado : llamado info.net.zone info.net.rr.zone
# / etc / init.d / named restart

Ahora desde node01, configuración del servidor RHEL6 como servidor de nombres de dominio info.net, podemos probar directa e inversa de resolución de nombres de dominio contra info.net:

node01> gato / etc / resolv.conf />
información de búsqueda.
neta nameserver 192.168.1.10

# www.info.net resolución de nombres

directo node01> dig www.info.net

;; RESPUESTA SECCIÓN:
www.info.net. 86400 IN CNAME rhel6.info.net.
rhel6.info.net. 86400 IN A 192.168.1.10

;; SERVER: 192.168.1.10 # 53 (192.168.1.10)

# Invertir 192.168.1.102 resolución

node01> dig -x 192.168.1.102

;; RESPUESTA SECCIÓN:
102.1.168.192.in-addr.arpa. 86400 IN PTR node02.info.net.

;; SERVER: 192.168.1.10 # 53 (192.168.1.10)

servidor de nombres esclavo

Con el fin de configurar un servidor de nombres como servidor de nombres esclavo para un dominio, la configuración siguiente debe añadirse a la vista interna:

zona «example.org» IN {
Tipo de esclavo;
archivo «esclavos / example.com.org»;

maestros { 192.168.1.50
};
};


La tarea de un servidor esclavo es más fácil, sino que comprueba periódicamente con el servidor DNS principal (en este caso, 192.168.1.50). Cuando lo hace, se lee automáticamente los datos del servidor DNS maestro y crea la slave.example. COM. archivo de zona en el directorio / var / named / esclavos.

El comando dig puede utilizarse para forzar una transferencia de zona desde el servidor de nombres maestro al servidor de nombres esclavo. De servidor de nombres esclavo ejecute el comando siguiente:

# dig @ master_nameserver_ip example.org axfr

seguridad DNS

Como se ha dicho antes el servicio servidor de nombres BIND puede asegurarse de ejecutarlo en un chroot-cárcel aislado en / var / named / chroot acaba de instalar el paquete bind-chroot. Todos los archivos que se describen en esta sesión serán válidos desde el servicio bind-chroot, pero serán puestos en el chroot-cárcel en / var / named / chroot:

# yum install bind- chroot

servicio Servidor de nombres se puede asegurar a través de cortafuegos. El puerto 53 TCP / IP y UDP deben ser accesibles a los clientes:

-Un estado RH-Firewall-1-ENTRADA-m – Estado de Nueva-m tcp-p tcp – dport 53-j ACCEPT
-A RH-Firewall-1-ENTRADA-m state – state NEW-m udp-p udp – dport 53-j ACCEPT

También se puede fijar usando SELinux, si está activo el servicio de servidor de nombres se ejecutará en un ambiente confinado similar a la jaula chroot instalado por RPM bind-chroot. Si este es el caso, el parámetro SElinux siguiente se debe configurar con el fin de conseguir la ejecución del servicio del servidor de nombres con SELinux:

# setsebool-P named_write_master_zones 1

DNS e Internet

DNS es una base de datos en todo el Internet que asigna nombres de dominio y direcciones IP. La información que entra en la base de datos debe estar al día y con el formato correcto. Muchos problemas de red son causados ​​por los servidores DNS mal administrados:

* Time
Los cambios realizados en el DNS conectados a Internet pueden tardar más de 48 horas para ser reproducido en todo internet. src=’https://blogger.googleusercontent.com/tracker/73859564700791281-6743310066219137064?l=redhatlinux4u.blogspot.com’

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *