Prácticas sobre o servizo de resolución de nomes

De MediaWiki
Ir a la navegación Ir a la búsqueda

Prerrequisitos

Ter instalado un servidor DHCP

Tarefa 1 - Instalación e configuración dun servidor DNS en Ubuntu

Instalación do servizo DNS

Nun terminal con usuario root ou con privilexios levaremos a cabo os seguintes pasos:

1. Actualizaremos o repositorio:

sudo apt update

2. Instalaremos as versións máis recentes:

sudo apt upgrade

3. Instalaremos o servidor DNS mediante os paquetes bind9 e bind9util:

apt install bind9 bind9util

Configuración do servizo DNS

1. Realizaremos a configuración principal no ficheiro /etc/bind/named.conf.options:

sudo nano /etc/bind/named.conf.options
/etc/bind/named.conf.option

2. Realizaremos a configuración das peticiones recibidas no dominio no ficheiro /etc/bind/named.conf.local:

sudo nano /etc/bind/named.conf.local
/etc/bind/named.conf.local

Creación de ficheiros de configuración directa e inversa

Crearemos os ficheiros co mesmo nome e ruta que especificamos no ficheiro de configuración /etc/bind/named.conf.local.

1. Para a configuración directa:

sudo nano /etc/bind/asirfp.db
asirfp.db

2. Para a configuración inversa:

sudo nano /etc/bind/asirfp.rev
/etc/bind/asirfp.rev

3. Reiniciamos o servidor:

/etc/init.d/bind9 restart

Configuración nos clientes

Para indicarlle o servidor DNS que debe usar o noso equipo temos que borrar e configurar un novo fichero /etc/resolv.conf

1. Borramos

sudo rm /etc/resolv.conf

2. Creamos un novo:

sudo touch /etc/resolv.conf

3. Damos permisos:

chmod 777 /etc/resolv.conf

4. Editamos:

nano /etc/resolv.conf
/etc/resolv.conf

Comprobación do funcionamento do servizo DNS

Coas utilidades dig, host ou nslookup comprobamos a correcta resolución de nomes.

Comándos que permiten o chequeo sintáctico
Comando Descripción Sintaxis
named-checkconf Detecta posibles erros sintácticos nos ficheiros de configuración named. named-checkconf fichero_configuración
named-checkzone Detecta posibles erros sintácticos nos ficheiros de configuración de zona. named-checkzone nombre_dominio fichero_de_zona

Tarefa 2 - Instalación e configuración dun servidor en Windows Server 2016

Establecer IP estática no servidor

O máis recomendable nun servidor é que teña un enderezo IP fixo xa que cun dinámico pode afectar a moitas aplicacións e servizos.

Definiremos a IP en base a configuración da nosa rede accedendo a:

Centro de redes y recursos compartidos -> Ethernet -> Propiedades
Configurando IP estática e DNS

Instalar rol de DNS

1. Accedemos a:

Administrador del servidor -> Agregar roles y características

2. Seleccionamos a opción Instalación basada en características o roles.

3. Seleccionamos o servidor onde instalaremos o servizo DNS.

4. Activamos a casilla Servidor DNS e desplegarase unha fiestra na que aceptamos a opción Agregar características

5. Pulsamos en siguiente ata chegar á fiestra de Confirmación onde veremos un resumo do rol a instalar e finalmente pulsamos no botón instalar

6. Comprobamos que o servizo foi instalado correctamente

Configuración do rol de DNS

Accederemos a:

Panel de Administrador del servidor -> Herramientas -> DNS

Aparece o noso servidor coas principales opcións que podemos configurar:

  • zonas
  • puntos de confianza
  • reenviadores condicionales

Creación dunha nova zona de búsqueda directa

Ímos crear unha nova zona para extender as xestións do noso servidor.

1. Co botón dereito facemos clic para despregaras zonas de búsqueda directa e seleccionamos Zona nueva.

Recordatorio. A zona directa resolve os nomes de dominio a enderezos IP mentras que a zona inversa resolve enderezos IP a nomes de dominio.

2. No asistente para crear unha nova zona pulsamos en Siguente.

3. Seleccionamos Zona principal e pulsamos en Siguente

4. Damoslle un nome

5. Temos opción de crear un ficheiro novo onde se van ubicar as resolucións directas co mesmo nome da zona ou usar un xa existente copiado de outro servidor. Cubrimos e pulsamos en Siguente

6. Establecemos a forma na que se obterán as actualizacións. No noso caso, deixamos a opción por defecto, xa que o tratarse dunha rede privada, seremos nos coma administradores os encargados de modificar unha resolución se fora preciso. Pulsamos en Siguente.

7. Amosarase un resumo da zona creada e clicaremos en pulsaremos Finalizar para pechar o asistente.

8. Finalmente comprobamos que a nosa zona foi creada correctamente e facendo clic co botón dereito sobre a nova zona podemos adicionar novos hosts, alias, etc.

Creación dunha nova zona de búsqueda inversa

1. Facemos clic co botón dereito sobre a carpeta Zonas de búsqueda inversa. Pulsamos en Zona nueva... e abresenos o asistente para crear unha nova zona.

2. Seleccionamos o tipo de zona que coma no caso das Zonas de búsqueda directa será Zona principal.

3. Seleccionamos o tipo de enderezos para as que vamos a crear a zona, no noso caso, IPv4.

4. Xeneramos o nome para a zona de búsqueda inversa a partir do ID da rede.

5. Creamos o ficheiro onde se van a ubicar as resolucións inversas, onde podemos deixar o nome que nos xenera por defecto; ou utilizar un ficheiro existente copiado doutro servidor DNS.

6. Estableceremos a forma na que se obterán as actualizacións. Do mesmo xeito que coas zonas de búsqueda directa e polo mesmo motivo deixaremos a opción por defecto No admitir actualizaciones dinámicas.

7. Amósase un resumo do que foi configurado e pulsamos Finalizar para pechar o asistente.

Configuración das zonas directa e inversa

Introducimos varias resolucións nas nosas zonas.

Zona directa

1. Co botón dereito sobre a zona directa que creamos anteriormente, seleccionamos no desplegable a opción Host nuevo (A o AAAA)....

Recordatorio
A é para IPv4
AAAA é para IPv6

2. Damos nome ó dominio e a súa correspondente IP. Una vez feito isto pulsaremos en Agregar host e se nos abrirá unha fiestra informativa indicando que o rexistro host foi creado con éxito

3. Engadimos un alias (CNAME) que utiliza un dominio xa resolto para resolver outro.

4. Podemos comprobar que o noso host e alias foron creados de xeito correcto.

Zona inversa

1. Do mesmo xeito que nos pasos anteriores facemos clic co botón dereito sobre a zona de búsqueda inversa que temos creado anteriormente e aora seleccionamos no desplegable Nuevo puntero (PTR)...

2. Hai dúas formas de introducir a resolución inversa

a) Seleccionamos unha resolución directa xa creada; na ventana de configuración que se nos vai abrir clicaremos sobre Examinar. Seleccionamos o noso servidor > Carpeta de búsquedas directas > Dominio del servidor e seleccionamos a resolución. Automáticamente se engadirá a búsqueda inversa

b) Facelo manualmente introducindo os parámetros de resolución

3. Comprobamos que os nosos punteiros foron creados correctamente

Comprobación en cliente con W10

Configuramos a máquina cliente W10 para:

  • integrala na rede 10.0.0.0/8
  • configurar o seu servidor DNS co enderezo 10.0.0.100/8

Accedemos a:

Centro de redes y recursos compartidos > Ethernet > Propiedades > Protocolo de internet IPv4

E cumplimentamos os datos:

Configuración ip, máscara e DNS de cliente W10

Comprobamos conectividade co servidor DNS mediante un ping

ping 10.0.0.100
Responde a ping servidor DNS dende cliente W10
O firewall de Windows pode dar problema polo que é preciso configuralo (ou desactivalo unicamente con fines pedagóxicos)

Utilizaremos a ferramenta nslookup para realizar consultas de búsqueda directa e inversa:

  • escribimos o nome do dominio e devolvenos o seu enderezo IP (directa)
  • escrimos o enderezo ip e devólvenos o dominio ó que pertence (inversa)
nslookup
> www.soniaserver.com
> 10.0.0.8
Responde nslookup consulta directa e inversa dende cliente W10

Tarefa 2b - Pasos alternativos para instalación e configuración dun servidor DNS con PowerShell

Comprobar se está instalado:

Get-WindowsFeature | where {($_.name -like “DNS”)}

Instalar:

Install-WindowsFeature DNS -IncludeManagementTools

Crear zona primaria DNS:

Add-DnsServerPrimaryZone -NetworkID 192.168.64.0/24 -ZoneFile “192.168.64.2.in-addr.arpa.dns”

Añadir forwarder:

Add-DnsServerForwarder -IPAddress 8.8.8.8 -PassThru

Crear registro A:

Add-DnsServerResourceRecordA -Name 'client1' -ZoneName 'test.contoso.com’ -IPv4Address 192.168.0.100

Probar el servidor DNS:

Test-DnsServer -IPAddress 192.168.64.2 -ZoneName "corp.momco.com"

Ver todos los registros para una determinada zona DNS:

PS51> Get-DnsServerResourceRecord -ZoneName corp.ad

Filtrar para ver los registros de tipo A y con Time To Live (TTL) mayor o igual que 15 minutos:

PS51> Get-DnsServerResourceRecord -ZoneName corp.ad -RRType A | Where-Object TimeToLive -GE "00:15:00"

Búsqueda en diferente zona DNS (y se podría diferente servidor DNS):

PS51> Get-DnsServerResourceRecord -ComputerName DC03 -ZoneName canada.corp.ad -RRType A

Añadir un host:

PS51> Add-DnsServerResourceRecordA -Name reddeerprint01 -ZoneName corp.ad -IPv4Address 192.168.2.56
PS51> Get-DnsServerResourceRecord -ZoneName corp.ad -RRType A

Eliminar un registro:

Remove-DnsServerResourceRecord -ZoneName corp.ad -Name reddeerprint01 -RRType A

Crear una zona DNS:

PS51> Add-DnsServerPrimaryZone -ComputerName DC03 -NetworkId "192.168.2.0/24" -ReplicationScope Forest
PS51> Get-DnsServerZone -ComputerName DC0

Crear un PTR:

PS51> Add-DnsServerResourceRecordPtr `
   -Name "56" `
   -PtrDomainName "CYQF-Printer-01.canada.corp.ad" `
   -ZoneName "2.168.192.in-addr.arpa" `
   -computerName DC03
PS51> Get-DnsServerResourceRecord -ComputerName DC03 -ZoneName "2.168.192.in-addr.arpa"

Añadir un alias (CNAME):

PS51> Add-DnsServerResourceRecordCName -ZoneName corp.ad -HostNameAlias "webapp25.corp.ad" -Name "finance"
PS51> Get-DnsServerResourceRecord -ZoneName corp.ad -RRType CName

Tarefa 3 - Uso de ferramentas de diagnóstico para DNS - nslookup, dig e host

Existen varias utilidades para comprobar o funcionamento da resolución de nomes DNS

As máis empregadas son dig, nslookup e host. Estas tres podémolas atopar nos equipos con Linux e Mac, e nslookup en Windows, Linux e Mac.

A utilidade dig

A utilidade dig pode mostrar axuda do comando co parámetro:

dig -h

Por defecto, resolve RR (rexistros de recursos) de tipo A, AAAA ou CNAME.

dig host
dig equipo1.proba.lan

Se queremos indicar outro tipo de rexistro, témolo que indicar a continuación do nome buscado.

dig host type
dig proba.lan soa

E se queremos empregar outro servidor DNS diferente ao establecido no cliente DNS, indicámolo cun @

dig DNS_Server host
dig @192.168.0.20 equipo1.proba.lan

Para a resolución inversa deberemos indicar a opción -x

dig -x ip
dig -x 192.168.0.24

É posible indicar a interfaz desde a cal se realizará a consulta (no caso de ter máis dunha configurada):

dig -b enderezo
dig -b 192.168.0.1

Pódense recibir as consultas desde un ficheiro de texto externo (debe ter unha consulta por liña e coa mesma sinxtaxe que por liña de comandos):

dig -f ficheiro
dig -f consultas.txt

dig é a única utilidade que nos indica se o servidor DNS que respondeu é autoridade na zona ou se empregaron reenviadores. No caso de que responda unha autoridade, aparece unha zona chamada AUTHORITY SECTION

A utilidade host

A utilidade host funciona en modo comando e tamén nos permite resolver nomes. Por defecto resolverá rexistros tipo A, AAAA, CNAME e MX.

host host
host equipo2.proba.lan

Para resolver os outros tipos de rexistro, hai que indicar previamente coa opción -t o tipo de rexistro que queremos buscar:

host -t tipo host
host -t ns proba.lan
tipo pode ser tipo A, AAAA, CNAME, MX, NS, SOA

Para facer resolución inversa, simplemente poñemos o enderezo que queremos resolver:

host ip
host 192.168.0.24

Se queremos empregar outro servidor DNS diferente ao establecido no cliente DNS indicámolo a continuación do rexistro buscado.

host host DNS_Server
host equipo2.proba.lan 192.168.0.20

A utilidade nslookup

A utilidade nslookup é a única que está dispoñible en sistemas Linux e en sistemas Microsoft Windows.

Trátase dunha ferramenta de consola que permite traballar en modo interactivo entrando na súa propia consola ou en modo comando obtendo o resultado despois da súa execución.

Modo comando

Por defecto unicamente resolverá rexistros tipo A e CNAME.

nslookup host
nslookup equipo2.proba.lan

Para resolver outros tipos de rexistro:

nslookup -q=tipo host  
nslookup -q=SOA proba.lan
sendo tipo A, AAAA, A+AAAA, MX, NS, SOA ou ANY

E se queremos empregar outro servidor DNS diferente ao establecido no cliente DNS:

nslookup host DNS_Server
nslookup www.facebook.com 1.1.1.1

Modo interactivo

  • Indicamos o tipo executando set q=tipo
  • Empregamos outro servidor DNS diferente ao establecido no cliente DNS indicandoo previamente server DNS_Server

Outros

tcpdump

No servidor:

sudo tcpdump -s1500 -n port 53

Nun cliente:

host www.google.es

Pódese consultar o ficheiro de saída xerado con ferramentas coma WireShark.

WireShark

Con WireShark é posible filtrar o tráfico para comprender mellor o funcionamento de DNS.

dnslookup online

Tarefa 4 - Configuración de DNS Dinámico

== Nun router con imaxe e Duck

En pfSense con OpenDNS

Ampliación

Créditos

  • Jairo Díaz Ardao e Sonia Casas Ramos, alumnos do Ciclo Medio de Sistemas Microinformáticos e Redes no curso académico 2020/2021, quenes compartiron o seu traballa con licencia Reconocimiento-NoComercial 4.0 Internacional

Referencias

Con Windows Server 2019

Con PowerShell