Cómo alojar tu propio nombre de dominio con Technitium DNS Server

Cómo alojar tu propio nombre de dominio con Technitium DNS Server

Loading

Mucha gente aloja sus propios blogs o sitios web, pero es raro que alguien aloje su propio nombre de dominio. Para la mayoría, el alojamiento de dominios proporcionado por el registrador es suficiente. Quienes necesitan más control y funciones suelen utilizar servicios populares como AWS, Cloudflare, etc. En esta entrada del blog, veremos cómo alojar y configurar sus propios servidores de nombres para alojar todos sus nombres de dominio.

                                  El servidor DNS de Technitium es un servidor DNS autoritario y recursivo

¿Deberías realmente alojarte tú mismo?

La primera pregunta que podrías tener es si realmente deberías autoalojar tus propios dominios. El autoalojamiento no es una solución para todos y debes evaluar tus razones antes de tomar una decisión.

Deberías alojar tú mismo tu propio nombre de dominio si:

  • Quieres aprender a alojar nombres de dominio por tu cuenta, así que al hacerlo te asegurarás de comprender todos los aspectos que conlleva. Esto te ayudará a comprender cómo funciona el DNS en general de forma práctica.
  • Eres un aficionado y te interesa alojar tu propio sitio pero no tienes nada importante que alojar.
  • Eres un usuario avanzado y deseas tener control total sobre tu configuración. Sabe exactamente lo que buscas y eres capaz de gestionar cualquier problema operativo que pueda surgir.

Pros y contras del autoalojamiento

Alojarte tu propio dominio te da control total sobre su configuración y te permite usar funciones avanzadas que podrían no estar disponibles en otros sitios. Sin embargo, como siempre, esto tiene sus ventajas y desventajas.

Algunas de las desventajas de alojar usted mismo sus nombres de dominio que debe considerar son:

  • Usted es el único responsable de sus servidores de nombres. Esto significa que debe supervisar periódicamente la configuración para asegurarse de que todo funcione correctamente. Cualquier fallo puede provocar que su sitio web deje de resolverse y que su correo electrónico no se entregue ni reciba.
  • Es necesario tener redundancia de modo que cuando el servidor de nombres principal que aloja su nombre de dominio falle, usted tenga servidores de nombres secundarios que puedan mantener su nombre de dominio funcionando.
  • Alguien puede deshabilitar fácilmente tus servidores de nombres con un ataque DDoS. Esto también aplica a otros servicios alojados por ti mismo, como los servidores web que gestionan tu blog o sitio web. Sin embargo, existen mitigaciones que analizaremos a continuación.
  • Sus servidores de nombres pueden utilizarse para ataques de amplificación de DNS. Sin embargo, también existen mitigaciones, como la limitación de la tasa de consultas, para neutralizar estos ataques.

Pero estos profesionales que ofrecen alojamiento propio para sus nombres de dominio pueden querer que usted siga adelante con ello:

  • Obtendrás control absoluto sobre tu nombre de dominio y podrás configurarlo para que funcione como desees.
  • Obtendrás acceso a funciones avanzadas que de otro modo no estarían disponibles. También puedes desarrollar plugins personalizados que se adapten a tus nombres de dominio según tu propia lógica de negocio.
  • A diferencia de los servidores web de alojamiento, si uno de tus servidores de nombres falla, tu nombre de dominio se resolverá. Con los servidores web, esto es un poco complejo, pero con DNS, no tienes que preocuparte tanto. Esto se debe a que necesitas que al menos uno de tus servidores de nombres esté en línea para que tu nombre de dominio se resuelva.
  • Puedes firmar tu nombre de dominio con DNSSEC, lo cual podría no estar disponible con tu proveedor de DNS actual. Sin embargo, no todos los dominios de nivel superior (TLD) son compatibles con DNSSEC, así que te recomendamos comprobarlo primero. Si bien esta entrada no trata sobre la firma con DNSSEC, en otra entrada explicaremos cómo firmar tu nombre de dominio con DNSSEC.
  • Obtendrá acceso a registros de DNS y estadísticas en vivo que pueden no estar disponibles con su proveedor de DNS actual.

Requisitos mínimos

Ahora que ha decidido continuar, veamos los requisitos mínimos para la configuración completa. Para alojar su propio servidor de nombres, necesita un servidor con una dirección IP estática. Puede alojar el servidor internamente, pero se recomienda usar un proveedor de alojamiento en la nube como Digital Ocean (enlace de referencia) . Esto se debe a que alojar un servidor internamente requiere un sistema de alimentación ininterrumpida (UPS) para garantizar que el servidor siga funcionando durante un corte de energía, así como una conexión a internet estable, lo cual puede ser uno de los aspectos más difíciles de tener en su región. Al usar un proveedor de alojamiento en la nube, todos estos desafíos se externalizan para que no tenga que preocuparse por el tiempo de inactividad ni las copias de seguridad.

Un servidor con una configuración básica, como una CPU de un solo núcleo y 1 GB de RAM, puede ser suficiente en la mayoría de los casos. Este tipo de servidor cuesta tan solo $5 al mes con Digital Ocean (enlace de referencia) .

Para mayor redundancia, debería tener al menos un servidor de nombres secundario. De esta manera, si su servidor principal falla por cualquier motivo, su dominio seguirá resolviéndose a través de sus servidores secundarios. Idealmente, el servidor secundario debe estar en una región diferente para que cualquier problema que afecte al servidor principal no afecte también al secundario. También existen opciones de alojamiento DNS secundario gratuitas y de pago, que veremos más adelante.

Otro requisito importante es que el dominio de nivel superior (TLD) de su dominio admita la configuración de «servidores de nombres secundarios». Un servidor de nombres secundario es una función que le permite registrar un subdominio de su propio dominio para usarlo como servidor de nombres. Por ejemplo, si su nombre de dominio es «ejemplo.com», el dominio de un servidor de nombres secundario será algo como «ns1.ejemplo.com» o «ns2.ejemplo.com». Esto le permite usar algo como «ns1.ejemplo.com» como nombre de dominio para el servidor de nombres principal que aloja su zona «ejemplo.com».

Si tiene un nombre de dominio .com o .net, estos TLD admiten esta función, pero es posible que otros no. En ese caso, deberá adquirir un nombre de dominio cuyo TLD admita servidores de nombres secundarios y usar ese dominio como servidor de nombres para todos sus demás nombres de dominio. Para saber si su TLD admite servidores de nombres secundarios, simplemente inicie sesión en el panel DNS de su registrador de dominios y busque la opción «Servidor de nombres secundarios» o «Registrar servidor de nombres» para configurar en la configuración avanzada de su dominio.

El plan

En esta entrada del blog, configuraremos un servidor de nombres principal y, opcionalmente, otro que actúe como servidor de nombres secundario para mayor redundancia. Puede agregar tantos servidores de nombres secundarios como desee, según sus necesidades o si planea contratar un proveedor de alojamiento DNS secundario.

Para continuar con la instalación y configuración, es importante y útil comprender cómo los servidores DNS realizan la resolución recursiva. Existen diferentes tipos de servidores DNS que realizan distintas funciones, pero un único software de servidor DNS puede realizarlas todas.

Los tipos comunes de servidores DNS son:

  1. Servidores de nombres autorizadosEstos son los servidores DNS que alojan un nombre de dominio. El nombre de dominio se aloja como una zona, lo que significa que cualquier solicitud para el nombre de dominio y sus subdominios puede ser respondida por este servidor. Por eso se le denomina servidor de nombres autoritativo para ese dominio. Para autoalojar su nombre de dominio, configuraremos servidores de nombres autoritativos.Un servidor de nombres autoritativo responderá a las solicitudes solo para los nombres de dominio que aloja en una zona. Una zona es un conjunto de registros DNS a los que el servidor de nombres autoritativo debe responder. Cualquier solicitud con un nombre de dominio no alojado recibirá un código de respuesta RECHAZADO, lo que indica que el servidor de nombres autoritativo desconoce la respuesta.Puede haber uno o más servidores de nombres autorizados para un nombre de dominio. Uno de ellos es el servidor de nombres principal, mientras que los demás son servidores de nombres secundarios. Puede actualizar los registros DNS solo en los servidores de nombres principales y cualquier cambio que realice se sincronizará automáticamente con los servidores de nombres secundarios.
  2. Servidores de nombres recursivosEstos son los servidores DNS que suelen alojar los ISP o proveedores de DNS públicos como Google DNS, Cloudflare DNS o Quad9. Los dispositivos cliente de Internet envían una solicitud a estos servidores cuando desean resolver un nombre de dominio específico. La tarea de estos servidores es realizar una resolución recursiva, un proceso que consiste en descubrir la lista de servidores de nombres autorizados para el nombre de dominio y consultarlos para encontrar las respuestas solicitadas por el cliente.Un servidor de nombres recursivo tiene una lista preconfigurada de 13 servidores raíz. Estos servidores raíz están distribuidos por todo el mundo y contienen una lista de todos los dominios de nivel superior (TLD) con sus nombres de dominio de servidor de nombres autorizado y sus direcciones IP (conocidas como direcciones de enlace). El proceso de resolución recursiva primero consulta a uno de los servidores raíz para el nombre de dominio que se va a resolver, para lo cual recibe una lista de servidores de nombres autorizados para el TLD del dominio. El solucionador recursivo luego procede a enviar una segunda solicitud a esta nueva lista de servidores de nombres autorizados para la cual ahora recibe otra lista de servidores de nombres autorizados para el nombre de dominio en la solicitud. El solucionador recursivo nuevamente procede a enviar una tercera solicitud a estos servidores de nombres autorizados para el nombre de dominio para recibir la respuesta final a la pregunta original. Esta respuesta se almacena en caché para evitar repetir el proceso de resolución recursiva una y otra vez.
  3. Stub ResolversEstos son los servidores DNS que se ejecutan comúnmente en sus routers wifi y también en el sistema operativo de su dispositivo. Estos servidores DNS reenvían cualquier solicitud que reciben a servidores de nombres recursivos y almacenan las respuestas en memoria caché para evitar consultas frecuentes en la red y mejorar el rendimiento.Entonces, al ingresar la dirección de un sitio web en su navegador, la solicitud de resolución de dominio es recibida primero por el stub resolver de su dispositivo, el cual reenvía la solicitud a las direcciones IP del servidor DNS configuradas en su adaptador de red, que generalmente son las direcciones IP de su router wifi. El stub resolver de este router reenvía la solicitud a la dirección IP del servidor DNS configurada en la configuración WAN por su ISP, que son los servidores de nombres recursivos.

Ahora que tienes una comprensión bastante clara del plan y algunos conceptos básicos, podemos proceder con la instalación.

Instalación

Instalaremos el servidor DNS de Technitium en su servidor y lo utilizaremos como servidor de nombres principal. Opcionalmente, puede crear uno o más servidores de nombres secundarios siguiendo los mismos pasos de instalación.

Usaremos un servidor Ubuntu, pero puedes elegir cualquier distribución y seguir instrucciones similares. Puedes usar un sistema operativo diferente para tu servidor, pero se recomienda usar uno basado en Linux para minimizar los costos de alojamiento.

Conéctese a su servidor mediante SSH y ejecute el siguiente comando de instalación de una sola línea para instalar el servidor DNS. También puede instalarlo como una imagen de Docker o instalarlo manualmente siguiendo las instrucciones de esta entrada.

$ curl -sSL https://download.technitium.com/dns/install.sh | sudo bash

Una vez completada la instalación, puede acceder a la consola web del servidor DNS en http://<dirección-ip-del-servidor>:5380/ y configurar rápidamente una contraseña de administrador segura.

Configuración

Antes de continuar con la configuración, debe decidir los nombres de dominio que se usarán para sus servidores de nombres principal y secundario (si corresponde). Por ejemplo, si su nombre de dominio es «ejemplo.com», debe seleccionar algo como «ns1.ejemplo.com» como nombre de dominio para su servidor de nombres principal, «ns2.ejemplo.com» como nombre de dominio para su servidor de nombres secundario, y así sucesivamente si desea tener más de un servidor de nombres secundario.

Si el TLD de su dominio no admite el registro de servidores de nombres secundarios, primero deberá alojar un nombre de dominio que lo admita. Si no posee dicho nombre de dominio, deberá adquirir uno antes de continuar.

Haga una lista de los nombres de dominio seleccionados para sus servidores de nombres con sus direcciones IP correspondientes como se muestra en el siguiente ejemplo para ayudar con la configuración:

ns1.example.com <dirección IP del servidor de nombres principal>
ns2.example.com <dirección IP del servidor de nombres secundario>

Si su proveedor de alojamiento de servidores admite IPv6, habilítelo para su servidor e ingrese también la dirección IPv6 en la lista mencionada anteriormente.

Configuración del servidor de nombres principal:

Ahora procederemos a configurar el servidor de nombres principal. Inicie sesión en la consola web DNS del servidor de nombres principal y siga estos pasos:

  1. Vaya a la sección Configuración > General, configure el nombre de dominio del servidor de nombres principal seleccionado como «Dominio del servidor DNS» y haga clic en el botón Guardar configuración en la parte inferior.
  2. Vaya a la sección Zonas y haga clic en el botón Agregar zona. Ingrese el nombre de dominio que desea alojar en la ventana Agregar zona, mantenga el tipo como Zona principal y haga clic en el botón Agregar para crear una zona principal para su dominio.
  3. Una vez creada la zona principal, verá solo un registro NS y un registro SOA. Edite el registro SOA e introduzca una dirección de correo electrónico válida como «Persona responsable» donde pueda recibir correos electrónicos y guardar el registro.
  4. Agregue registros NS para todos los servidores de nombres secundarios planificados. No necesita introducir ninguna dirección de enlace para agregar los registros NS.
  5. Agregue registros A para todos los servidores de nombres según la lista que preparó antes de iniciar la configuración. El nombre de dominio de cada registro NS debe tener un registro A correspondiente en la zona. Si sus servidores de nombres tienen una dirección IPv6, agregue también registros AAAA correspondientes a cada registro NS.
  6. Agregue manualmente todos los demás registros de la zona principal consultando el panel de su proveedor de DNS actual. Una vez agregados todos los registros, la zona principal estará lista para el siguiente paso.

Cambio de servidores de nombres de dominio:

Ahora que la zona principal está lista con todos los registros, podemos activarla para que otros servidores de nombres recursivos de Internet puedan encontrarla y resolver el nombre de dominio. Para ello, inicie sesión en el panel DNS de su registrador de dominios y siga estos pasos:

  1. Busque su nombre de dominio en el panel DNS del registrador y haga clic en él para ver la sección de detalles.
  2. En la sección de detalles del dominio, busque opciones como «Registro de Servidores de Nombres» o «Servidores de Nombres Secundarios». Una vez que encuentre la opción correcta, introduzca los nombres de dominio de los servidores de nombres secundarios de la lista (p. ej., ns1.example.com) y sus direcciones IP estáticas correspondientes. Una vez guardados los cambios, el registrador actualizará los servidores de nombres de su TLD con la información de los servidores de nombres secundarios y sus direcciones IP (direcciones de adhesión).
  3. En la sección de detalles del dominio, busque una opción similar a «Administrar servidores de nombres». Una vez que encuentre la opción correcta, ingrese los nombres de dominio de todos los servidores de nombres registrados en el paso anterior. Elimine las entradas de servidores de nombres existentes y conserve solo las que haya ingresado. Una vez guardados los cambios, comenzará a ver tráfico en su servidor de nombres principal en cuanto se actualicen los cambios en los registros del servidor de nombres (NS) en los servidores de nombres de su TLD. Esto puede tardar solo unos segundos o un poco más para algunos TLD, dependiendo de cómo se haya implementado el proceso de actualización.

Prueba del servidor de nombres principal:

Puede probar su configuración para confirmar si su servidor de nombres principal responde a las solicitudes de su dominio mediante el sitio web del Cliente DNS. Simplemente acceda a dnsclient.net , mantenga la opción «Servidor» en «Consulta recursiva», introduzca su nombre de dominio y haga clic en el botón «Resolver». En la respuesta que reciba, debería ver el archivo «Metadata.NameServer» configurado con el nombre de dominio de su servidor de nombres principal. Si sigue mostrando uno de los nombres de dominio de sus antiguos servidores de nombres, significa que los cambios aún no se han actualizado y debería esperar un tiempo para volver a probarlo.

Configuración de servidores de nombres secundarios:

Una vez que se haya asegurado de que el servidor de nombres principal esté resolviendo el nombre de dominio, puede configurar uno o más servidores de nombres secundarios opcionales. Se recomienda tener al menos un servidor de nombres secundario, pero si no desea tener uno, puede omitir esta parte. Inicie sesión en la consola web DNS del servidor de nombres secundario y siga estos pasos:

  1. Vaya a la sección Configuración > General, configure el nombre de dominio secundario como «Dominio del servidor DNS» y haga clic en el botón Guardar configuración en la parte inferior.
  2. Vaya a la sección Zonas y haga clic en el botón Agregar zona. Introduzca su nombre de dominio en la ventana Agregar zona, seleccione el tipo Zona secundaria y haga clic en el botón Agregar para crear la zona secundaria. Para agregar la zona secundaria, no se necesitaron las direcciones del servidor de nombres principal, ya que el nombre de dominio se puede resolver públicamente y, por lo tanto, el servidor DNS lo encontrará automáticamente.
  3. Una vez creada la zona, el servidor DNS intentará realizar una transferencia de zona para sincronizar todos los registros DNS de la zona principal a la secundaria. El estado de la zona se mostrará como Caducado hasta que se sincronicen los registros. Puede hacer clic en el icono de actualización junto al nombre de dominio en la zona para comprobar si los registros se han sincronizado. Si los registros no se sincronizaron y el estado de la zona sigue siendo Caducado después de un minuto, consulte los registros del servidor DNS desde la consola web para comprobar si hay algún error.

Cuando vea que los registros se completan en la zona secundaria, la configuración estará completa. Repita los mismos pasos para cualquier otro servidor de nombres secundario que haya planificado. Dado que hemos registrado todos los nombres de dominio del servidor de nombres en el panel del registrador de dominios, el servidor de nombres secundario también comenzará a recibir tráfico para su nombre de dominio pronto.

Hospedaje propio de otro nombre de dominio

Ahora que tienes uno de tus dominios alojado por ti mismo, puedes añadir uno o más de tus otros dominios a tu alojamiento. Sigue los pasos a continuación para alojar tus otros dominios:

  1. Inicie sesión en la consola web DNS de su servidor de nombres principal.
  2. Vaya a la sección Zonas y agregue una nueva zona principal para su segundo nombre de dominio.
  3. Una vez creada la zona principal, verá un registro NS y un registro SOA. Edite el registro SOA con una dirección de correo electrónico válida donde pueda recibir correos electrónicos.
  4. Agregue registros NS para los servidores de nombres secundarios que desea usar para este segundo nombre de dominio. No necesita proporcionar ninguna dirección de enlace para estos registros NS.
  5. Agregue todos los demás registros en la zona principal para completar la configuración de la zona principal.
  6. Inicie sesión en la consola web DNS de su servidor de nombres secundario.
  7. Vaya a la sección Zonas y agregue una nueva zona secundaria para su segundo nombre de dominio.
  8. El servidor de nombres secundario realizará una transferencia de zona automática para sincronizar todos los registros de su servidor de nombres principal.
  9. Inicie sesión en el panel web de su registrador de dominio.
  10. Busque el segundo nombre de dominio y haga clic en él para ver la sección de detalles.
  11. En la sección de detalles del dominio, busque la opción «Administrar servidores de nombres». En esta opción, elimine los servidores de nombres existentes y agregue los nombres de dominio de sus servidores de nombres principal y secundario. Una vez que guarde los cambios, pronto empezará a ver tráfico en sus servidores de nombres principal y secundario para su segundo nombre de dominio.

Configuración adicional

Además de la configuración para alojar las zonas, hay algunas cosas que también deben configurarse:

  • Habilitar HTTPS para la consola web DNS.
    Por seguridad, conviene habilitar HTTPS para la consola web DNS. La opción mínima es habilitar HTTPS con certificado TLS autofirmado en Configuración > Servicio web. Una mejor opción es configurar certbot para renovar el certificado Let’s Encrypt y configurarlo en Configuración > Servicio web.
  • Limitación de la tasa de consultas
    Para mitigar los ataques que utilizan su servidor DNS para ataques de amplificación de DNS, debe configurar las opciones de Consultas por minuto (QPM) en la sección Configuración > General para limitar la tasa de consultas por subred de cliente.
  • Instala la aplicación DNS «Down Requests»
    desde la sección Aplicaciones, en la sección App Store. Esta aplicación te permitirá descartar solicitudes que coincidan con la lista de nombres o tipos. Consulta la configuración JSON de la aplicación para ver cómo bloquear ciertos nombres o tipos.
  • Copia de seguridad:
    Una vez completada la configuración, debe crear una copia de seguridad de todo el servidor DNS desde la opción «Configuración de copia de seguridad» en la esquina inferior derecha de la sección «Configuración». Se recomienda realizar copias de seguridad periódicas de esta manera para poder restaurar rápidamente desde la última copia de seguridad cuando su servidor DNS necesite reconstruirse debido a algún problema. También es muy recomendable activar la opción de copia de seguridad con su proveedor de alojamiento en la nube.

Configuración de un proveedor de DNS secundario de terceros

Existen proveedores de alojamiento DNS externos que te permiten alojar zonas secundarias. La mayoría son de pago, pero si alojas los nombres de dominio de tu proyecto personal, puedes usar el servicio DNS secundario gratuito de NS-Global . Sigue las instrucciones de registro en su sitio web para añadir un servidor de nombres secundario para tus nombres de dominio. Ten en cuenta que deberás usar las Opciones de Zona para configurar la transferencia de zona y notificar la configuración de la zona secundaria con NS Global.

Una vez que haya creado la zona secundaria con NS Global, puede actualizar los servidores de nombres de su dominio desde el panel del registrador de dominios para permitir el descubrimiento del nuevo servidor de nombres secundario.

Conclusión

Con un poco de esfuerzo para aprender los conceptos de DNS, cualquiera que esté decidido a alojar sus propios nombres de dominio puede hacerlo. El servidor DNS de Technitium facilita la instalación, configuración y mantenimiento de zonas DNS con un mínimo esfuerzo. Con un servicio DNS secundario de terceros, puede añadir más redundancia y fiabilidad a su configuración.

Si tiene algún comentario o consulta, hágamelo saber en la sección de comentarios a continuación o envíe un correo electrónico a [email protected] .

Publicado por Shreyas Zare

https://blog.technitium.com