Active directory #2

1. DNS (Domain Name System)

Los DNS tiene que ver con la metodologia principal de resolucion de nombres (DNS) del AD, este servicio es de vital importancia, ya que es la base del trabajo del AD en una red Microsoft.

1.1 Historia DNS

dns 1

Lo primero que se hacia cuando se trabaja en una red es identificar los dispositivos con direcciones IP.

Luego se agrego los nombres de equipos que son mas faciles de leer y recordar para los humanos. Este trabajo se hacia maquina por maquina.

Posteriormente se comenzo a almacenar estas direcciones IPs hacia los nombres a modo de mapa, este archivo donde teniamos estos mapeos se lo conoce como lmhosts. En esta epoca, cuando se creo el archivo lmhost se pensaba solamente en nombres cortos, tambien conocidos como NETBIOS. El nombre corto de la maquina es el nombre NETBIOS de la misma. Estos nombres cortos tenian la caracteristicas que tenian que tener un maximo de 15 caracteres.En algunos lados podemos ver que se dice que tiene 16 caracteres de maximo lo cual es cierto, porque se reserva un caracter para identificacion del tipo de nombre.

Donde esta hubicado el archivo lmhost?

Lo podemos encontrar en c > windows > system32 > drivers > etc > lmhosts.sam

Este archivo con extension .sam no podemos usarlo. Si lo renombramos y le quitamos la extension .sam podemos editarlo.

Si editamos el contenido siguiendo las reglas que se nos describe dentro y usando como ejemplo el mapeo de la imagen que usamos anteriormente nos quedaria asi :

192.168.10.50 VENTAS01
192.168.10.60 CONTA01
192.168.10.60 GERE01

Luego vamos a powershell y revisamos si tenemos en cache de resolucion de nombres los tres registros que pusimos antes.

nbtstat -c

Si tenemos los nombres, lo cargamos manualmente. usando el flag -R de reload

nbtstat -R

Si volvemos a listar con nbtstat -c nos vamos a encontrar que todavia no se cargaron. Eso es porque tenemos que agregar el comodin siguiente para precargar en cache los registros.

192.168.10.50 ventaS01 #PRE
192.168.10.60 conta01  #PRE
192.168.10.60 gere01   #PRE

Ahora si, volvemos a hacer un reload con -R y a listar con -c y veremos las direcciones listadas.

Para saber si la resolucion de nombres esta funcionando hacemos un ping hacia los nombres. Si estas en una virtual y no tenes los host con esas ips, no tendras respuesta pero si la resolucion del nombre.

ping ventas01
Pinging ventas01 [192.168.10.50] //aca vemos que reconocio la ip con el nombre.

Esta tecnica con el paso del tiempo tambien quedo corta para solucionar los problemas de resolucion de nombres en redes mas grandes.

Con la llegada de AD, cuando una maquina se une a un dominio este empezo a unir el nombre de NETBIOS de la terminal con el nombre del dominio, unificados con un punto, naciendo asi el termino FQDN (Fully Qualified Domain Name). Siendo esta fusion el nombre completo.

dns 2
1.2 Como implementamos el servicio DNS?

Tenemos dos maneras, una es la manera grafica y la otra por terminal.

1.2 Manera visual

Activar el servicio de DNS en un servidor con sistema operativo Windows Server implica realizar algunos pasos específicos. Aquí tienes un resumen paso a paso:

  1. Abrir el “Administrador del servidor”:

    • Haz clic en el botón “Inicio”.
    • Selecciona “Herramientas administrativas”.
    • Escoge “Administrador del servidor”.
  2. Instalar el servicio DNS:

    • En el “Administrador del servidor”, haz clic en “Administrar” en la esquina superior derecha.
    • Selecciona “Agregar roles y características”.
    • En el asistente, haz clic en “Siguiente” hasta llegar a la ventana de “Roles del servidor”.
    • Busca y selecciona “Servidor DNS” en la lista de roles.
    • Haz clic en “Siguiente” y luego en “Instalar”.
    • Espera a que la instalación se complete.
1.2 Mediante terminal
  1. Vamos a la powershell y ponemos:
Install-WindowsFeature -Name DNS -includeManagmentTools
1.2 verificando instalacion

Si volvemos al Server Manager > Dashboard y refrescamos tenemos que poder ver en el panel de la izquierda el item DNS

Si vamos a la parte superior derecha en Tools podremos ver la opcion DNS. Si damos click se nos abrira la ventana de administracion

Podemos usar mediante powersehell el comando Get-Service para ver el status del mismo.

1.2 Comunicacion entre maquinas cliente mediante DNS
dns 3

Si comp1 se quisiera comunicar con comp2 podria hacerlo mediante la ruta \\comp2 , si no tuvieramos el servicio DNS tendria que salir a toda la red mediante broadcast con el fin de saber quien es “comp2” lo cual generaria mucho ruido en nuestra red.

Gracias al servidor DNS comp1 antes de hacer el broadcast le va a preguntar al server si tiene mapeado la direccion IP de comp2. Este se la entrega y ahora comp2 sabe con que ip tiene que comunicarce, usando el medio TCP/IP.

1.2 Registros y zona directa

Nuestro DNS es una estructura de resolucion de DNS. Esto quiere decir que es una especie de repositorio, que alamacena registros.

Los registros mas utilizados por DNS son :

  • A (HOST / ADDRESS)
  • PTR (POINTER)
  • NS (NAME SERVER)
  • Cname (ALIAS / CANONICAL NAME)
  • MX (Mail eXchange)
  • SRV (SERVICE)
1.2 Registro A (HOST)

El registro tip A mapea el nombre del equipo hacia la direccion IP:

  • VENTAS01 -> 192.168.10.10
  • ping ventas01
1.2 Registro PTR (POINTER)

Este hace lo contrario al registro tipo A , este mapea la direccion IP hacia el nombre.

  • 192.168.10.10 -> ventas01

Si tenes la IP de una maquina podemos usar ping -a 192.168.10.10 Si tenes todo bien configurado la respuesta deberia ser el nombre FQDN de la maquina con ese IP.

1.2 Registro NS (NAME SERVER)

Identifica a nuestro servidor de nombres (DNS)

NombreTipoValor
tudominio.com.NSns1.proveedor-dns.com
tudominio.com.NSns2.proveedor-dns.com
1.2 Registro Cname (ALIAS)

Asigna los nombres tecnicos que le puede dar una empresa a sus servidores hacia un alias mas simple para el usuario final:

  • Servidor FTP
  • Nombre o nomenclatura tecnica: 0031-ftp03-(sufijo de red)
  • cname: ftp.cetec.local
1.2 MX (Mail eXchange)

Identifica al servidor de correo electronico. Se encarga de decirle al usuario final quien es el servidor de correo.

El término “MX” en el contexto de registros DNS se refiere a “Mail Exchange” (Intercambio de Correo). Un registro MX especifica los servidores de correo que son responsables de recibir correos electrónicos para un dominio específico.

Cuando alguien envía un correo electrónico a una dirección asociada con un dominio (por ejemplo, usuario@tudominio.com), los servidores de correo utilizan la información en los registros MX del dominio para determinar a qué servidores de correo deben enviar el mensaje.

Un ejemplo de un registro MX en la configuración de DNS podría ser algo así:

Nombre           Tipo   Valor
-----------------|------|------------------------
tudominio.com.   | MX   | 10 mail1.tudominio.com
tudominio.com.   | MX   | 20 mail2.tudominio.com

En este ejemplo, el dominio “tudominio.com” tiene dos registros MX. El número antes del nombre del servidor (10 y 20) indica la prioridad. Los servidores de correo intentarán enviar correos electrónicos al servidor con la prioridad más baja primero. Si ese servidor no está disponible, intentarán con el siguiente servidor de mayor prioridad.

En resumen, los registros MX son cruciales para la entrega de correo electrónico en Internet, ya que ayudan a los servidores de correo a determinar la ruta correcta para enviar mensajes a un dominio específico.

1.2 SRV (SERVICE)

Es uno de los mas importantes para el AD . Este registro les dice a las maquinas clientes que servidores prestan que tipos de servicios y uno de ellos es el DC.

Este registro le indica a la maquina cliente que va a hacer su proceso de autenticacion quien es el controlador de dominio el cual le va a prestar el servicio de autenticacion entre otros.

El registro de servicio (SRV) en el sistema de nombres de dominio (DNS) se utiliza para describir servicios disponibles en una red. Proporciona información sobre la ubicación de servidores específicos para un servicio o recurso particular en un dominio.

Un registro SRV consta de varios componentes, y la estructura básica es la siguiente:

_Service._Proto.Name TTL Class SRV Priority Weight Port Target
  • Service: El nombre del servicio que se está anunciando.
  • Proto: El protocolo utilizado para el servicio, como TCP o UDP.
  • Name: El nombre de dominio que identifica el recurso o servicio.
  • TTL: Time To Live, especifica cuánto tiempo debe almacenarse en caché la información.
  • Class: Clase de registro DNS (generalmente IN para Internet).
  • SRV: Indica que este es un registro SRV.
  • Priority: La prioridad del servidor en relación con otros servidores para el mismo servicio y dominio.
  • Weight: Un valor para la carga relativa entre varios servidores con la misma prioridad.
  • Port: El número de puerto en el que se ofrece el servicio.
  • Target: El nombre de dominio del servidor que proporciona el servicio.

Por ejemplo, un registro SRV para el servicio de mensajería instantánea podría verse así:

_xmpp-client._tcp.example.com. 3600 IN SRV 5 0 5222 server1.example.com.

Este ejemplo indica que para el servicio de cliente XMPP en TCP, el servidor “server1.example.com” está disponible en el puerto 5222 con una prioridad de 5 y peso 0.

Los registros SRV son útiles para servicios que necesitan ser descubiertos automáticamente en una red, como servicios de mensajería, servicios de voz sobre IP (VoIP) y otros servicios basados en red.

1.2 Pasos para la implementacion de un DNS

  1. Instalar servicio
  2. Configuracion completa de TCP/IPs
  3. Implementacion DE LAS zonas del DNS
  4. Configuración del FQDN del servidor
  5. Pruebas de nslookup

1.3 Configuracion completa TCP/IP

El paso 1 de instalar servicio ya lo hicimos antes, cuando instalamos DNS.

Ahora vamos a configurar las ip del DC.

Vamos a ejecutar usando win + r y escribimos ncpa.cpl para ver las conexiones de red. Ahi dentro, vamos a las las propiedades de ethernet.

  1. Desactivamos IPv6, ya que no lo vamos a usar.
  2. En IPv4 vamos a ver que ya tenemos todo configurado. Pero en la zona DNS tenemos que volver a poner la misma IP del equipo : 192.168.10.100.

Esto es asi ya que el DC es servidor y cliente de DNS que el mismo hostea.

dns 4

Aceptamos y cerramos.

Ahora confirmamos los cambios con la powershell con el siguiente comando:ipconfig /all

dns 5

Con esto finalizamos el paso numero 2.

1.3 Zonas DNS

Una zona es un espacio del DNS donde se almacenan los distintos tipos de registros.

1.3 Tipos de zonas

Zonas primarias: De estas ramificamos dos tipos de zonas.

  1. Zona de busqueda directa.
  2. Zona de busqueda inversa, tambien conocida como reversa.

Estas zonas reciben unos nombres especificos, no podemos ponerles cualquier nombre.

Zona de busqueda directa: Nombre de dominio de AD (no importa que aun no lo hayas creado). En mi ejemplo se llamara cetec.local

Zona de busqueda inversa: Es el network ID al reves.

Por ejemplo, tenemos la IP del DC 192.168.10.100/24. En este caso el ID del network esta en los primeros 3 octetos. 192.168.10 y lo que hace el DNS es darlo vuelta. 10.168.192, este sera el nombre de la zona de reversa.

1.3 Implementacion de zonas.

1.3 Zona directa

Vamos a DNS manager de nuestro DC.

dns 6

Creamos nueva zona sobre Foward lookup zone

  1. Siguiente

  2. Nos pregunta que tipo de zona. Ponemos primary zone

  3. Nos pregunta cual es el nombre de la zona, aca ponemos el nombre de dominio aunque aun no lo hayamos creado.(lo tenes que tener pensado en la fase de planeacion) En mi caso cetec.local

  4. Ahora nos dice,que nuestros registros seran almacenados con el nombre de cetec.local.dns. Si tuvieramos un ya existente lo podemos en c:windows\system32\dns.Nosotros dejamos cetec.local.dns. Esta carpeta se crea cuando instalamos el servicios DNS. Este archivo va a almacenar todos los registros de la zona directa.

  5. En Dynamic Update. le permite al dns dinamicamente crear registros sobre sus zonas, con el objetivo de que no tengamos que crear de manera manual los registros como haciamos en el lmhost agregando cada IP a un cliente por nombre de netbios.

    En este momento solo nos deja habilitar zonas dinamicas seguras y no seguras, no podemos elegir solo seguras ( primera opcion) ya que aun no tenemos el active directory activado.

    La ultima opcion do no allow dynamic updates esto se usa cuando mi servicio es una zona publica.Ahi podemos crear registros a mano, como puede ser registros mx u otras que ya vimos.

  6. Finish.

1.3 Zona reversa

  1. Click derecho sobre la carpeta de Reverse lookup zone > nueva zona.
  2. Siguiente.
  3. Zona primaria.
  4. IPv4
  5. En network ID ponemos la ip de los primeros 3 octetos: 192.168.10.100

Veremos en la parte inferior que el sistema automaticamente da vuelta la ip.

  1. Creamos el archivo
  2. Tiltamos las actualizaciones dinamicas.
  3. finish.

Al generarse las zonas se crean automaticamente 2 registros.

Uno es el Name server con el mismo nombre que el nombre de la PC.

El otro es Start of Authority (SOA)

1.3 SOA

En el DNS, el registro SOA es parte esencial de la información de zona. El SOA contiene información sobre el dominio, como el servidor de nombres principal, la dirección de correo electrónico del administrador de la zona, la versión de la zona y varios parámetros de temporización.

Aquí hay una breve descripción de algunos de los campos clave en un registro SOA:

  1. Nombre del servidor primario (Primary Server): Es el servidor de nombres autoritario para la zona.

  2. Dirección de correo electrónico del administrador (Responsible Person): Es la dirección de correo electrónico del administrador de la zona.

  3. Número de serie (Serial): Un número que se incrementa cada vez que se realiza una modificación en la zona. Ayuda a identificar la versión actual de la zona.

  4. Tiempo de actualización (Refresh): Especifica con qué frecuencia los servidores secundarios deben actualizar sus datos de zona desde el servidor primario.

  5. Tiempo de reintento (Retry): Indica cuánto tiempo debe esperar un servidor secundario antes de intentar nuevamente si no puede contactar al servidor primario.

  6. Tiempo de expiración (Expire): Especifica cuánto tiempo puede pasar sin que un servidor secundario pueda contactar al servidor primario antes de considerar que los datos de la zona han caducado.

  7. Tiempo de vida del registro (TTL, Time to Live): Indica la cantidad de tiempo que un registro DNS puede ser almacenado en caché antes de ser considerado obsoleto.

El registro SOA es esencial para la sincronización y la gestión adecuada de las zonas DNS.

1.3 Configuracion de FQDN del servidor

El nombre del equipo DC tiene que ser igual al que vamos a poner en nuestro Dominio.Dominio que aun no implementamos.

Vamos a this pc click derecho > propiedades > change settings > change.

Aca vamos a poner las dos partes de nombre FQDN(nombre netbios + sufijo del dominio). En este caso dc01 y luego damos click en more.

dns 7

Luego agregamos al sufijo DNS, este al igual que la zona directa tiene que llamarse igual que mi dominio futuro.

Cuadno reinicamos la pc luego de agregar el suffijo DNS, este por su nombre lo ira a buscar a la zona directa y si no son iguales no lo va a encontrar.Por eso es importantes que el nombre del sufijo haga match con la zona directa. Sino nunca va a funcionar la resolucion de nombres.

dns 8 dns 9

Cuando reinciamos tomara los cambios.

1.4 Pruebas nslookup

Si vamos a la powersehell y ponemos nslookup tenemos que ver eso :

default server : dc01.cetec.local
address: 192.168.10.100

El default server es el servidor de nombres (NS)

Ahora si vamos al administrador de DNS vamos a ver un nuevo registro.

dns 10

Como podemos ver se creo automaticamente, porque se creo automaticamente? por el protocolo que seleccionamos al crear nuestras zonas.(paso 5 de zona directa).

Si vamos a zona resersa , veremos que tenemos el nuevo registro de tipo Pointer(PTR).

Cada vez que un cliente se una a nuestro dominio, estos registros se iran creando automaticamente.

Ambos ( El registro host a y el PTR) permiten al comando nslookup dar la respuesta correcta.

Si faltase el registro PTR, veriamos algo asi:

dns 11

Si lo creamos vamos a ver que no aparece de una el registro Pointer.

Como lo podemos hacer aparecer?

  1. Una opcion es reinciando el servidor.
  2. otra opcion. Voy al registro host a > propiedades > y habilito el checkbox update associeted pointer (PTR) record
  3. Otra es obligar al cliente a registrarse en su servidor dns: ipconfig /registerdns

El comando registerdns es un comando de Windows que se utiliza en la máquina cliente para forzar la actualización del registro DNS de esa máquina específica. Este comando es útil cuando se realizan cambios en la configuración de red de la máquina y se desea actualizar la información DNS sin tener que esperar a que ocurra de manera automática.

Cuando ejecutas registerdns en una máquina cliente, esta máquina envía una actualización de registro DNS al servidor DNS correspondiente para registrar su nombre y dirección IP actual. Esto es útil en situaciones como cambios de dirección IP o cambios en la configuración de red que afectan la información de registro DNS de la máquina.

En resumen, registerdns se utiliza en las máquinas cliente y no implica que el servidor DNS solicite a las PC clientes que se registren. En lugar de eso, la máquina cliente inicia el proceso de actualización de registro DNS en el servidor correspondiente.

Ya tenemos el servidor DNS listo para produccion.

1.5 DNS y navegacion a internet - reenviadores

Teniendo la siguiente arquitectura:

dns 12

Si queremos que el cliente tenga acceso a intenet, tenemos que poner como DNS la IP del DNS interno y no la del DNS publico.

Lo que tiene que pasar es que el DNS interno se comunique con el publico a traves del firewall a traves de los forwarders tambien conocicos como reenviadores.

De no tener configurado correctametne el dns hacai el servidor dns interno, cuando la maquina cliente quiera comunicarce con el controlador de dominio no lo va a encontrar, provocando que la pc cliente salga a buscar la direccion por toda la red a traves del metodo de transmision broadcast.

Una vez que al DNS publico le llega la peticion a traves del interno y resuele, de devuelve a la interna la ip publica del sitio al que se quiere acceder , ahora si la pc cliente se comunicara directamente a travez de tcp/ip al sitio web.

1.5 Como hacer el forward.

Los forwarders se configuran para que el DNS interno se comunique con el DNS publico

  1. Vamos al DNS MANAGER, click derecho sobre el DC y vamos a propiedades.
dns 13
  1. Dentro de la ventana que se nos va a abrir vamos a la pestania Forwarders.
dns 14
  1. Le damos a edit y agregamos 8.8.8.8 y 208.67.220.220 y aceptamos.

  2. revisamos por terminal con el comando nslookup no deberiamos ver ningun error, esto nos valida que nuestro servidor interno esta funcionando bien.

Luego podemos probar poniendo dentro del promp nslookup el nombre corto de servidor NS .En este caso es dc01 y nos deberia responder algo asi:

dns 15

El segundo par, el que dice Name, es el FQDN.

Con esto sabemos que tenemos la primera parte ( la interna ) funcionando.

Para verificar que esta funcionando la parte privada, osea le externa, podemos poner por ejemplo microsoft.com en la terminal powershell y veriamos algo asi:

dns 16

La parte que dice non-authoritative answer nos dice que no es nuestro servico interno quien resoluciona el nombre y luego vemos los datos de la direccion que enviamos.

1.5 cliente dns

Vamos a configurar una pc cliente para que funcione con nuestro servidor DNS.

Lo primero que tenemos que hacer es la configuracion TCP/IP.

  1. En el CMD ponemos ncpa.cpl y configuramos la IP a mano. Cabe aclarar que en una red normal, por lo general la ip de cliente se pondra automaticamente con el servicio DHCP.Pero para hacer las pruebas lo haremos manualmente.
  2. Ponemos lo siguiente:
    • IP : 192.168.10.150
    • mascara: 255.255.255.0
    • Gateway: 192.168.1.1
    • DNS: 192.168.10.100
  3. Ahora tenemos que configurar todo lo concerniente con el nombre de la maquina.Vamos al nombre del equipo > opciones avanzadas > cambiar.
dns 17

Ahi dentro cambiamos el nombre de netbios y luego en mas agregamos el nombre del domino cetec.local una vez hecho esto ya tenemos el nombre FQDN.

La otra manera de lograr tener el FQDN es agregando la pc al dominio. Pero como aun no lo lo tenemos lo hacemos asi.Ademas haciendolo de la primer manera, nos aseguramos el 100% de que los registros POINTER y _HOST A__ exitan en los DNS del servidor.

Una vez se reinicia la pc cliente, entramos al cmd y hacemos las siguientes verificaciones.

  1. nslookup si vemos el nombre del server junto con la IP.
  2. Dentro del promp nslookup podemos poner el nombre de netbios del servidor DNS: dc01 y nos tiene que responder con su nombre de FQDN y la IP, junto con el nuestro (fqdn + ip).
  3. Vamos al servidor DNS y al regrescar en la zona directa y de reversa tenemos que poder ver los registros nuevos.

Todavia no metimos la pc cliente al dominio, hasta aca solo vimos que la resolucion DNS es corecta.

Si hacemos un ping normal desde el cliente hacia dc01 vamos a recibir un timeout , eso es porque la recepcion de paquetes ICMP no esta habilitada.Pero podremos ver que nos da la ip correcta antes del menasje de timeout.