Laboratorio 2 - Instalación y Configuración de Servidopr DNS en Linux Ubuntu (1)

April 30, 2019 | Author: Eric Anselmo Guerreros Huaman | Category: Computer Engineering, Directories, Computing, Tecnología, Information Technology Management
Share Embed Donate


Short Description

laboratorio...

Description

GUIA DE LABORATORIO 2  Administración  Administración de Redes Redes

2018-3

Tema: Servidor DNS Este laboratorio dirigido describe cómo instalar y configurar el servidor DNS en Ubuntu Server 16.04 LTS de 64 bits. Para el propósito de esta guía, se utilizarán tres equipos (físicos o virtuales), uno para el servidor DNS primario (también llamado maestro), otro para el DNS secundario (también llamado esclavo) y el tercero para el cliente DNS (también llamado cache). Todos los sistemas se ejecutan con los sistemas operativos Ubuntu 16.04.

Algunos fundamentos teóricos Como se ha descrito en clase, el Sistema de Nombres de Dominio (Domain Name System - DNS) traduce nombres de host a direcciones IP, desempeñando un papel fundamental en la infraestructura de Internet. En el presente laboratorio, veremos más de cerca el lado del cliente del DNS. Recuerde que el papel del cliente en el DNS es relativamente simple: un cliente envía una consulta a su servidor DNS local y recibe una respuesta de retorno.

Como se muestra en las figuras, mucho puede continuar invisible para los clientes de DNS, como el hecho que los servidores DNS jerárquicos se comunican entre sí para resolver recursiva o iterativamente el DNS que el cliente consulta. Desde el punto de vista del cliente DNS, sin embargo, el protocolo es bastante simple: una consulta está formulado para el servidor DNS local y se recibe una respuesta de ese servidor. Antes de comenzar esta práctica de laboratorio, es recomendable revisar los conceptos de servidores DNS, así como el material correspondiente a servidores DNS locales, DNS almacenamiento en caché, registros y mensajes DNS, y el campo TIPO en el registro DNS.

Ing. Pedro Mantilla Silva

1

GUIA DE LABORATORIO 2  Administración de Redes

2018-3

Servidor raíz (Root server) Un servidor raíz (root server en inglés) es un servidor de nombres para la zona raíz del Sistema de nombres de dominio de Internet (DNS). Los servidores de nombres raíz son una parte fundamental de Internet, ya que son el primer paso en la traducción (resolución) de los nombres de host legibles por humanos en direcciones IP que se utilizan en la comunicación entre los hosts de Internet.

Servidores DNS raíz

Una combinación de los límites en el DNS y de ciertos protocolos, a saber, como el tamaño de los paquetes no fragmentados en el User Datagram Protocol (UDP), se tradujo en un número limitado de direcciones de los servidores raíz que se pueden acomodar en respuestas a consultas DNS de nombres. Este límite ha determinado el número de instalaciones de servidores de nombres en (actualmente) 13 grupos, para atender las necesidades de toda la Internet pública en el mundo.

Actualmente existen 13 servidores raíz especificados, con los nombres de la forma letra.rootservers.net, donde letra va desde la A a la M. Esto no quiere decir que haya 13 servidores físicos, cada operador utiliza equipos informáticos redundantes para ofrecer un servicio fiable, incluso si falla Ing. Pedro Mantilla Silva

2

GUIA DE LABORATORIO 2  Administración de Redes

2018-3

el hardware o el software (por ejemplo, en Peru hay una copia del servidor raíz E dos copias del servidor F y una copia del servidor raíz L). Además, nueve de los servidores se operan en múltiples localizaciones geográficas, utilizando una técnica de enrutamiento de llamada anycast, proporcionando un mayor rendimiento y aún mayor tolerancia a fallos.

Diez servidores se encontraban originalmente en los Estados Unidos, y algunos son operados ahora vía anycast. Tres servidores se encontraban originalmente en Estocolmo (I), Amsterdam (K) y Tokio (M).

Explicación técnica del DNS Todo dominio debe tener al menos dos servidores DNS, estos se especifican a la empresa o entidad que tiene delegado el control de un TLD en particular (llamadas comunmente “registradores” o “registrars”), para que lo configure en su base de  datos. Este parámetro indica dónde está el servidor DNS “autoritativo” para un dominio en particular (normalmente estos servidores pertenecen a la empresa que da el servicio de hospedaje). 

Servidores Top-level domain (TLD): Responsable de com, org, net, edu, aero, jobs, museums, y todos los dominios de paises top-level: pe, cl, es, de, uk, fr, ca, jp   

Network Solutions mantiene los servidores para el TLD .com Educause para el TLD .edu Red Científica Peruana para el TLD .pe

El servidor DNS tiene unos archivos de configuración (llamados “zonas”), para cada dominio del que es autoritativo. Ese archivo contiene información que relaciona el dominio con las direcciones IP (Internet Protocol Numbers), que son una serie de 4 grupos de números que identifican un punto específico de conexión en la red Internet.

Es necesario mantener al menos dos servidores DNS, un primario y un secundario (como respaldo), que mantiene una copia sincronizada de las zonas con el servidor primario, este servidor debe estar

Ing. Pedro Mantilla Silva

3

GUIA DE LABORATORIO 2  Administración de Redes

2018-3

en una red diferente al primero para evitar que también falle en caso de una avería del nodo de acceso. 

Servidores Authoritative DNS: Servidores DNS propios de la organización, que proporcionan un nombre de host autorizado a las asignaciones de IP para los hosts con nombre de la organización Puede mantenerse por organización o ISPs



Servidor Local DNS No pertenece estrictamente a la jerarquía. Cada ISP (ISP residencial, empresa, universidad) tiene uno. También llamado "servidor de nombre predeterminado". Cuando el host realiza una consulta DNS, la consulta se envía a su servidor DNS local Tiene una memoria caché local de pares de traducción de nombre a dirección recientes (¡pero puede estar desactualizado!). Actúa como proxy, reenvía la consulta a la jerarquía

¿Cómo se hace una consulta al DNS? Cuando se pregunta al servidor DNS del proveedor de acceso a Internet (por ejemplo, lo hace nuestro navegador cuando cargamos páginas web escribiendo un dominio, como “ utp.edu.pe”), este utiliza el sistema jerárquico del DNS para averiguar dónde debe conectarse, la secuencia es así: Pregunta al uno de los servidores “root” de Internet (por ejemplo “f.root -servers.net”), para saber cuáles son los servidores DNS que tiene la información de un tipo de dominio en particular (TLD), por ejemplo, para un dominio .pe, como utp.edu.pe la respuesta sería una lista de servidores DNS de ese TLD. (Nota: Los servidores de la zona “root”, están almacenados en cada DNS y constan de una lista predefinida de servidores). Pregunta a uno de los servidores raíz del TLD (por ejemplo “f.gtld -servers.net”), por el dominio en cuestión, por ejemplo utp.edu.pe, esto normalmente nos da el nombre del servidor autoritativo (por ejemplo “ns1.opticalip.com.pe”), que es el que tiene almacenada la “zona” del dominio y por tanto conoce la dirección IP de destino.

Pregunta al servidor autoritativo de la zona. Si preguntamos al servidor autoritativo del dominio nos dirá la dirección IP donde debe conectar nuestro navegador para cargar las páginas solicitadas, en el ejemplo a utp.edu.pe : “23.253.90.71”. De esta forma nuestro navegador sabe (por el DNS del proveedor de acceso), que las páginas web de utp.edu.pe deben solicitarse en la dirección IP 23.253.90.71 con sólo hacer 3 preguntas:   

DNS raíz de Internet. DNS del TLD. DNS autoritativo.

Ing. Pedro Mantilla Silva

4

GUIA DE LABORATORIO 2  Administración de Redes

2018-3

TTL “Time To Live” de una consulta al DNS

Si preguntamos una segunda vez al DNS del proveedor de acceso (o le pregunta otro usuario del mismo proveedor), este DNS ya NO volverá a preguntar al DNS autoritativo hasta pasado un tiempo predeterminado, definido en una variable de la zona de cada dominio llamada TTL, ya que las respuestas quedan guardadas en una memoria caché. El equipo usado para conectar a Internet también suele almacenar en una memoria caché las direcciones IP de los dominios que vamos usando (normalmente mientras dura la sesión), para aumentar la velocidad de acceso cuando cargamos más páginas del mismo servidor. Es por esto que, cuando cargamos por primera vez un dominio la primera página tarda más en cargarse que las siguientes. Antes de la existencia del DNS se utilizaban unas tablas llamadas “hosts”, que con tenían relaciones de nombres y direcciones IP, pero esto que es un sistema válido para unos pocos equipos, es imposible de utilizar hoy en día, ya que todos los equipos deberían tener esas tablas actualizadas con millones de referencias.

Un ejemplo práctico de una consulta DNS Cuando cargamos una página web en nuestro explorador, para averiguar la dirección IP que corresponde al nombre de dominios del servidor de páginas web, hacemos una serie de preguntas a varios servidores DNS, por ejemplo, para el dominio utp.edu.pe sería así: (se ha usado el comando DIG “domain information groper”, una utilidad del BIND “Berkeley Internet Name Domain”, disponible en sistemas operativos Unix). 1. Pregunta a uno de los 13 servidores de la zona root (estos servidores están preconfigurados en todos los servidores DNS del mundo), por ejemplo, a F.ROOT-SERVERS.NET: pregunta: dig @F.ROOT-SERVERS.NET utp.edu.pe respuesta: A.GTLD-SERVERS.NET. … (otros 11 de la B a la L) M.GTLD-SERVERS.NET. 2. Pregunta a uno de los servidores que contr olan de la zona “TLD” de extensión “. pe” (donde se almacenan todos los dominios .pe), por ejemplo F.GTLD-SERVERS.NET: pregunta: dig @F.GTLD-SERVERS.NET utp.edu.pe respuesta: NS1.OPTICAPIP.COM.PE NS2.OPTICAPIP.COM.PE 3. Por último, pregunta a uno de los servidores autoritativos del dominio utp.edu.pe: pregunta: dig @NS1.OPTICALIP.COM.PE utp.edu.pe respuesta: 23.253.90.71 Conclusión, nuestro navegador conecta a la dirección IP 23.253.90.71 cuando le pedimos que cargue utp.edu.pe

Ing. Pedro Mantilla Silva

5

GUIA DE LABORATORIO 2  Administración de Redes

2018-3

Tipos de registros DNS Los tipos de registro son los siguientes: 

A: una dirección de dispositivo final



NS: un servidor de nombre autoritativo





CNAME: el nombre canónico para un alias; se utiliza cuando varios servicios tienen una dirección de red única, pero cada servicio tiene su propia entrada en el DNS. MX: registro de intercambio de correos; asigna un nombre de dominio a una lista de servidores de intercambio de correo.

Si no puede resolver el nombre con sus registros almacenados, se comunica con otros servidores.

Instalación de un servidor DNS en Ubuntu En Ubuntu existen varios softwares que permiten instalar un servidor DNS en un equipo cualquiera. Los 2 más conocidos son:

BIND: cuyo paquete de instalación se llama “bind9”. Dnsmasq: cuyo paquete de instalación se llama “dnsmasq” Los 2 usan el puerto 53, por tanto, se instala uno u o tro. Pero NUNCA ambos.  

Servidor DNS maestro En este modo de funcionamiento, nuestro servidor se comporta como un auténtico servidor DNS para nuestra red local. En este caso es necesario tener zonas de búsqueda directa e inversa (esta última si se quiere que resuelve a la inversa). Atenderá directamente a las peticiones de resolución de direcciones pertenecientes a la red local y reenviará a servidores DNS externos las peticiones del resto de direcciones de Internet.

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. Ing. Pedro Mantilla Silva

6

GUIA DE LABORATORIO 2  Administración de Redes

2018-3

Servidor Caché o Cliente (Servidor Local DNS): En este modo de funcionamiento, nuestro servidor se comporta como si fuera un auténtico servidor DNS para nuestra red local, aunque realmente no sea un servidor DNS propiamente dicho. Cuando recibe una petición de DNS por parte de un cliente de nuestra red (como él no tiene zonas de búsqueda, 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 petición. Si un segundo cliente vuelve a realizar la misma petición, como nuestro servidor tiene la respuesta almacenada en su memoria caché, responderá inmediatamente sin tener que cursar la petición a ningún 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 conexión a Internet pues cuando navegamos por diferentes lugares, continuamente se están realizando peticiones DNS. Si nuestro caché DNS almacena la gran mayoría de peticiones que se realizan desde la red local, las respuestas de los clientes se satisfarán prácticamente de forma instantánea proporcionando al usuario una sensación de velocidad en la conexión. Es un modo de funcionamiento de sencilla configuración ya que prácticamente 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 podríamos poner como DNS primario la IP de nuestro router y como DNS secundario una IP de un DNS de Internet.

Archivos de configuración del DNS El archivo de configuración principal del DNS es el archivo /etc/bind/named.conf , pero éste hace referencia a otros cuantos archivos como, por ejemplo: Ing. Pedro Mantilla Silva

7

GUIA DE LABORATORIO 2  Administración de Redes

2018-3

Archivo named.conf named.conf.options named.conf.local db.localhost db.127 db.root otros

Descripción Archivo principal de configuración que define zonas y opciones del servidor Opciones genéricas Especificación particular de este servidor DNS. Donde pondremos la configuración de nuestro servidor Archivo de definición de la zona localhost que es el interfaz loopback (para que mi equipo responda al nombre localhost) Es el archivo de definición de la zona de resolución inversa correspondiente a mi IP 127.*.*.* (es la zona inversa de “localhost”). DNSs de nivel superior: referencia los servidores de la raíz del árbol de nombres. db.0, db.255, db.empty, rndc.conf, rndc.key, zones.rfc1918

Escenario Dominio de estudio grupoX.int; donde X es el número de grupo asignado por su docente 

Servidor DNS Maestro o Primario: - Sistema operativo: Ubuntu 16.04 LTS servidor de 64 bits - Nombre de host: ns1.grupoX.int - Dirección IP: 192.168.X.200/24



Servidor DNS Esclavo o Secundario: - Sistema operativo: Ubuntu 16.04 LTS servidor de 64 bits - Nombre de host: ns2.grupoX.int - Dirección IP: 192.168.X.201/24



Servidor DNS Cache o Cliente: - Sistema operativo: Ubuntu 16.04 LTS servidor de 64 bits - Nombre de host: dns.grupoX.int - Dirección IP: 192.168.X.202/24

Instalar BIND Asegúrese de que su servidor Ubuntu esté actualizado.

sudo apt-get update

sudo apt-get upgrade

sudo apt-get dist-upgrade Ing. Pedro Mantilla Silva

8

GUIA DE LABORATORIO 2  Administración de Redes

2018-3

Después de actualizar el sistema, ejecute el siguiente comando para instalar los paquetes BIND9 que se utilizan para configurar el servidor DNS.

sudo apt-get install bind9 bind9utils bind9-doc

Configurar como servidor DNS Cache o Cliente El servidor de nombres de almacenamiento en caché guarda los resultados de la consulta DNS localmente durante un período de tiempo determinado. Reduce el tráfico del servidor DNS al guardar las consultas localmente, por lo tanto, mejora el rendimiento y la eficiencia del servidor DNS. Para configurar el servidor de nombre de almacenamiento en caché, se deben modificar dos archivos: named.conf.options y resolv.conf 

Edite el archivo named.conf.options

sudo nano /etc/bind/named.conf.options En este archivo, se deben especificar las IPs de 2 servidores DNS (que normalmente serán las de nuestro proveedor ISP) donde redirigir las peticiones DNS que reciba nuestro servidor y que serán quienes realmente resuelvan los nombres. Agregue su ISP o las direcciones IP del servidor DNS público, en el ejemplo usaremos los DNS públicos de Google y Cloudflare.

forwarders { 8.8.8.8; 1.1.1.1; };

Ing. Pedro Mantilla Silva

9

GUIA DE LABORATORIO 2  Administración de Redes

2018-3

Guarde y cierre el archivo. 

Edite el archivo resolv.conf

sudo nano /etc/resolv.conf En este archivo, 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. Además, se puede añadir 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.

domain grupoXX.int nameserver 127.0.0.1 search grupoXX.int

Guarde y cierre el archivo. 

Reiniciar servicios Tan solo nos faltará poner en marcha nuestro servidor de nombres ejecutando en el servidor el script de inicio (daemon o demonio) correspondiente:

sudo /etc/init.d/bind9 restart Hemos instalado con éxito el servidor de nombre de almacenamiento en caché. 

Prueba del servidor de nombres de almacenamiento en caché Ahora veamos si está funcionando o no usando el comando:

dig -x 127.0.0.1 Si ves algo como a continuación, ¡felicitaciones! ¡El servidor de nombres de caché está funcionando!

Ing. Pedro Mantilla Silva

10

GUIA DE LABORATORIO 2  Administración de Redes

2018-3

Configurar como servidor DNS Primario o Maestro Como deseamos tener un dominio privado que es grupoXX.int (XX es su número de grupo : 01, 2,…) 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 hacía el DNS caché) y también NOMBRES INTERNOS como equipo1.grupoXX.int 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 búsqueda directa e inversa. Todo el archivo de configuración estará disponible en el directorio /etc/bind/ Vamos a editar el archivo de configuración bind9 

Editar el archivo named.conf 

sudo nano /etc/bind/named.conf Este archivo debe tener las siguientes líneas. Si las líneas no están allí, solo agréguelas.

incluye "/etc/bind/named.conf.options"; incluye "/etc/bind/named.conf.local"; incluye "/etc/bind/named.conf.default-zones";

Ing. Pedro Mantilla Silva

11

GUIA DE LABORATORIO 2  Administración de Redes

2018-3

Guarde los cambios y salga del archivo. 

Editar el archivo named.conf.local Necesitamos definir los archivos de las zonas forward y reverse (directa e inversa). Para hacerlo, edite el archivo named.conf.local

sudo nano /etc/bind/named.conf.local Defina los archivos de las zonas directa e inversa como se muestra en el ejemplo:

zone "grupoXX.int" { type master; file "/etc/bind/for.grupoXX.int"; allow-transfer { 192.168.XX.201; }; also-notify { 192.168.XX.201; }; }; zone "X.168.192.in-addr.arpa" { type master; file "/etc/bind/rev.grupoXX.int"; allow-transfer { 192.168.X.201; }; also-notify { 192.168.X.201; }; }; Aquí, for.grupoXX.int es el archivo de zona directa, mientras que rev.grupoXX.int es el archivo de zona inversa. Y 192.168.X.201 es la dirección IP del servidor DNS secundario. Hacemos esto porque, el DNS secundario comenzará a buscar las consultas si el servidor primario está inactivo. Guarde y cierre el archivo. Vamos a crear ahora los archivos de zona que definimos en el paso anterior. 

Editar el archivo for.grupoXX.int Primero creamos un archivo de zona directa como se muestra a continuación.

sudo nano /etc/bind/for.grupoXX.int Agregue las siguientes líneas: Ing. Pedro Mantilla Silva

12

GUIA DE LABORATORIO 2  Administración de Redes

2018-3

$TTL 86400 @ IN SOA pri.grupoXX.int. root.grupoXX.int. ( 2011071001 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) @ IN NS pri.grupoXX.int. @ IN NS sec.grupoXX.int. @ IN A 192.168.XX.200 @ IN A 192.168.XX.201 @ IN A 192.168.XX.202  pri IN A 192.168.XX.200 sec IN A 192.168.XX.201 cli IN A 192.168.XX.202 Del mismo modo, puede agregar los otros registros del cliente como se define en el archivo anterior. Guarde y cierre el archivo. Luego crearemos la zona inversa. 

Editar el archivo rev.grupoXX.int

sudo nano /etc/bind/rev.grupoXX.int Agregue las siguientes líneas:

$TTL 86400 @ IN SOA pri.grupoXX.int. root.grupoXX.int. ( 2011071002 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) @ IN NS pri.grupoXX.int. @ IN NS sec.grupoXX.int. @ IN PTR grupoXX.int.  pri IN A 192.168.XX.200 sec IN A 192.168.XX.201 cli IN A 192.168.XX.202 200 IN PTR pri.grupoXX.int. 201 IN PTR sec.grupoXX.int. 202 IN PTR cli.grupoXX.int. Guarde y cierre el archivo. 

Establecimiento de permisos adecuados para el directorio bind9.

Ing. Pedro Mantilla Silva

13

GUIA DE LABORATORIO 2  Administración de Redes

2018-3

sudo chmod -R 755 /etc/bind sudo chown -R bind:bind /etc/bind A continuación, debemos verificar los archivos de configuración DNS y de zona. 

Verifique los archivos de configuración de DNS con comandos:

sudo named-checkconf /etc/bind/named.conf sudo named-checkconf /etc/bind/named.conf.local Si los comandos anteriores no devuelven nada, significa que la configuración de DNS es válida. 

Verificación del archivo de zona directa:

sudo named-checkzone grupoXX.int /etc/bind/for.grupoXX.int Ejemplo de salida:

zone grupoXX.int/IN: loaded serial 2011071001 OK 

Verificación del archivo de zona inversa:

sudo named-checkzone grupoXX.int /etc/bind/rev.grupoXX.int Ejemplo de salida:

zone grupoXX.int/IN: loaded serial 2011071002 OK Si obtuvo los resultados como se muestra arriba, entonces todo está bien. Ahora es el momento de verificar si el servidor DNS principal está funcionando o no. 

Verificación del servidor DNS Maestro (o Primario): Editar el archivo /etc/network/interfaces

sudo nano /etc/network/interfaces Agregue la dirección IP del servidor DNS. En nuestro caso, la IP del servidor DNS es la misma dirección IP de esta máquina.

dns-nameservers 192.168.XX.200

Ing. Pedro Mantilla Silva

14

GUIA DE LABORATORIO 2  Administración de Redes

2018-3



Reiniciar servicios Tan solo nos faltará poner en marcha nuestro servidor de nombres ejecutando en el servidor el script de inicio (daemon o demonio) correspondiente:

sudo /etc/init.d/bind9 restart 

Prueba del servidor DNS Primario Verifique el servidor DNS usando los comandos dig o nslookup

dig pri.grupoXX.int Ejemplo de salida:

; DiG 9.10.3-P4-Ubuntu pri.grupoXX.int ;; global options: +cmd ;; Got answer: ;; ->>HEADERHEADER
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF