Acompáñanos a lo largo de este breve artículo donde descubriremos los comandos de PowerShell para desplegar un DNS Server paso a paso a través de un proceso completamente guiado.
Como ya hemos hablado alguna vez, el servicio de DNS es uno de los servicios indispensables dentro de las redes empresariales, sea cual sea su tamaño y siendo igualmente necesarias para las redes domésticas.
Sin este servicio, las redes o incluso internet no serían tal como la conocemos; cada usuario tendría que memorizar cientos y cientos de nombres de web y sus correspondientes direcciones IP, lo cual sería un auténtico caos que seguramente desembocaría en algo similar a las páginas amarillas, donde tendríamos que ir a comprobar qué correspondencia tiene cada uno de los sitios que queremos visitar.
Por esta razón, deberemos tener claro que todas nuestras infraestructuras deben contar con al menos un servidor DNS siendo necesario, siempre que se pueda, disponer de un clúster de al menos dos nodos para evitar caídas de servicio.
Por otro lado, debemos tener claro que la instalación siempre se puede realizar bien mediante consola gráfica o mediante comandos de PowerShell, siendo esta última forma sencilla y mucho más rápida de llevar a cabo.
Como desplegar un DNS Server mediante comandos de PowerShell
Recomendaciones previas
A la hora de instalar cualquier servicio, deberemos realizar unas tareas previas encaminadas al diseño y optimización del servicio y otras encaminadas a preparar la instalación para que todo vaya bien.
El equipo sobre el que hay que instalar el servidor, como en todos los servidores, deberá disponer de dirección IP fija al menos en uno de los puertos de red, por lo que si no se ha configurado previamente se deberá hacer ahora.
Una de las tareas que recomendamos hacer es la de actualizar la ayuda de PowerShell para que se descargue todos los paquetes de ayuda de las últimas versiones y así contar con toda la información, ayudas y ejemplos disponibles.
Para lanzar esta actualización, lo primero que debemos tener es salida a internet desde el servidor en el que se quiere instalar el servidor de resolución de nombres, validándonos con un usuario con permisos de administrador. A continuación se deberá usar el comando “Update-help”, que hará la descarga de todos los paquetes necesarios.
Por supuesto, tal como recomendamos siempre, se deben actualizar los paquetes del servidor a nivel de sistema operativo, aplicativos, etc., instalando siempre aquellos que sean relevantes y obviando los que no correspondan al sistema para no introducir basura en la instalación.
Despliegue del DNS Server mediante comandos de PowerShell
Una vez tenemos clara toda la planificación del servidor de DNS, se debe comenzar con la instalación del servicio. Lo primero que deberíamos hacer es comprobar si el servicio de DNS y las herramientas están instaladas en el servidor.
Para comprobar si el servidor ya tiene instalado el DNS server se deberá abrir una consola de PowerShell con permisos de administrador y lanzar el comando “Get-WindowsFeature -Name *DNS*” (1).
Este comando busca todas las funcionalidades de DNS instaladas en el servidor y, en principio, se debería ver que no hay nada instalado. Si hubiera algún elemento instalado, se podría observar una “X” en cada uno de los elementos que se hubieran desplegado previamente.
Una vez comprobado que no hay nada instalado, se debe instalar el rol de DNS Server junto con las herramientas administrativas del servidor. Para ello se debe ejecutar el comando “Install-WindowsFeature -Name DNS -includeManagementTools” (2).
Ahora que se ha lanzado la instalación del rol de DNS más las herramientas, se debe comprobar que todo ha ido bien y se ha instalado correctamente. Para ello, se debe volver a lanzar el comando “Get-WindowsFeature -Name *DNS*” (3).
En este momento y teniendo claro que se ha instalado el DNS, se deberá desplegar la zona principal del DNS. Para ello se deberá lanzar el siguiente comando de PowerShell “Add-DNSServerPrimaryZone -name <Dominio> -zoneFile <Zona> -dynamucupdate NonsecureAndSecure“ (4).
Donde:
- -name <Dominio>: Se debe poner el nombre del dominio.
- -zoneFile <Zona>: Se debe poner el nombre de la zona.
- -dynamicupdate NonsecureAndSecure: Permitirá todo tipo de actualizaciones.
En nuestro caso, quedaría de la siguiente manera:
Add-DNSServerPrimaryZone -name JOTELULU.COM -zoneFile JOTELULU.COM.DNS -dynamicupdate NonsecureAndSecure
En este punto, podremos ver, que esto se refleja en la consola gráfica del DNS (5).
Este comando, entre otras cosas, crea el fichero «JOTELULU.COM.DNS» dentro de “c:\Windows\System32\dns” (6), lo cual puede constituir una nueva prueba de que la instalación se ha completado correctamente.
El siguiente paso que se deberá realizar es el de dar de alta aquellos equipos, servidores, servicios, etc., que deberán darse de alta para dotar de sentido y propósito el servicio de resolución de nombres.
Un ejemplo de alta podría ser el siguiente, en el que se da de alta un nuevo equipo (Registro A) en el DNS:
Add-DNSServerResourceRecordA -Name <Nombre> -ZoneName <NombreZona> -AllowUpdateAny -IPv4Address <DireccionIP>
Donde:
- -Name <Nombre>: El nombre que devolverá el DNS cuando se le pregunte por la traducción de la IP.
- -ZoneName <NombreZona>: El nombre de la zona donde se da de alta.
- -AllowUpdateAny: Actualización de las entradas necesarias.
- -IPv4Address <DireccionIP>: Dirección IP que devolverá el DNS cuando se le pregunte por la traducción de un nombre.
Siendo por ejemplo:
Add-DNSServerResourceRecordA -Name PCNacho -ZoneName JOTELULU.COM -AllowUpdateAny -IPv4Address 192.168.1.200
Con esto, podríamos tener una configuración básica del servicio de DNS.
A la hora de aprender sobre como administrar el servidor de DNS, recomendamos consultar el siguiente artículo donde comentamos como hacerlo con PowerShell.
Conclusiones
Como puedes ver, desplegar un servidor de DNS mediante PowerShell es realmente sencillo, siempre que sepas los comandos que se tienen que ejecutar. Y sabiendo dichos comandos, puedes desplegarlo sin ningún esfuerzo. Así mismo, las tareas de administración básicas se pueden realizar usando los cmdlets que se han mostrado, realizando casi la totalidad de las tareas necesarias de esta manera.
A pesar de ello, si te encuentras con algún problema, no dudes en contactar como nosotros para que te echemos una mano, estaremos encantados de hacerlo.
Si quieres leer un poco más sobre DNS Server, puedes consultar el artículo Qué hacer cuando el Servidor DNS no responde que podrás encontrar dentro de este mismo blog.
¡Gracias por acompañarnos!