Prácticas sobre o servizo de resolución de nomes
Sumario
- 1 Prerrequisitos
- 2 Tarefa 1 - Instalación e configuración dun servidor DNS en Ubuntu
- 3 Tarefa 2 - Instalación e configuración dun servidor en Windows Server 2016
- 4 Tarefa 2b - Pasos alternativos para instalación e configuración dun servidor DNS con PowerShell
- 5 Tarefa 3 - Uso de ferramentas de diagnóstico para DNS - nslookup, dig e host
- 6 Tarefa 4 - Configuración de DNS Dinámico
- 7 Ampliación
- 8 Créditos
- 9 Referencias
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
2. Realizaremos a configuración das peticiones recibidas no dominio no ficheiro /etc/bind/named.conf.local:
sudo nano /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
2. Para a configuración inversa:
sudo nano /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
Comprobación do funcionamento do servizo DNS
Coas utilidades dig, host ou nslookup comprobamos a correcta resolución de nomes.
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
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:
Comprobamos conectividade co servidor DNS mediante un ping
ping 10.0.0.100
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
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
- Configuración dun servidor DNS esclavo e 2
- Consultas con dig, host e nslookup
- DNS tcpdump por exemplo
- Combinando WINS e DNS
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