Garantice la disponibilidad y el rendimiento de sus servidores de nombres de dominio y anticipe posibles errores de resolución de dominio.
Existen principalmente dos tipos de DNS (sistemas de nombres de dominio): externos e internos. Ambos utilizan los mismos algoritmos para resolver dominios. Este artículo se centrará principalmente en el DNS externo. En primer lugar, aprenderás la definición de DNS externo. A continuación, con la ayuda de casos de uso del mundo real, repasarás con mayor detalle los conceptos en los que se basa el DNS externo.
También aprenderás sobre productos relacionados como GeoDNS, OpenDNS y Google Cloud DNS. Además, conocerás la herramienta external-dns. Esta se utiliza con Kubernetes, un sistema de código abierto para gestionar aplicaciones en contenedores a través de múltiples hosts. Sirve para gestionar varios registros DNS.
DNS es un servicio que convierte tu nombre de dominio en una dirección IP de un servidor que puede atender tu solicitud. Cada vez que escribes google.com o facebook.com como URL en el navegador, estás preguntando a un servidor DNS dónde se encuentra exactamente el sitio web solicitado. Estas solicitudes se realizan a través del UDP (protocolo de datagramas de usuario). Es un protocolo más rápido y ligero que el protocolo de control de transmisión (TCP). Cuando abres tu navegador para visitar cualquier URL, tu equipo hará una de estas dos cosas:
1. Si has visitado el sitio web antes, el equipo utilizará los registros DNS almacenados en caché.
2. Si es la primera vez que accedes, el servidor DNS recursivo de tu ISP utilizará una consulta recursiva para encontrar una dirección IP para el dominio introducido. Para ello, consultará tu archivo de zona en los servidores raíz o TLD.
Un DNS externo es un servidor de nombres de dominio de terceros accesible públicamente que, por lo general, está abierto para que cualquiera en Internet pueda acceder a él y actualizarlo. El DNS externo permite consultar la dirección IP de un dominio. Un proveedor de DNS externo también se conoce como proveedor de DNS público. Esto se debe a que cualquiera puede utilizar este servidor DNS para buscar nombres de dominio.
Cuando quieras que tu dominio sea atendido por un proveedor de alojamiento, tienes que registrar el nombre de dominio en esa empresa de alojamiento. Eso es una delegación. Autoriza al proveedor de alojamiento a ser el servidor de nombres oficial de tu dominio y alojarlo por ti.
Una vez hayas delegado la información de DNS a un proveedor de alojamiento, este puede atender solicitudes desde tus servidores DNS autoritativos. El proveedor te dará la información de DNS para que cuando un usuario vaya a tu nombre de dominio, pueda acceder al sitio a través de las direcciones IP y el servidor web de tu proveedor de alojamiento. Este puede estar en la nube.
Puedes comparar los DNS externos con el sistema postal. Cuando envías una carta a alguien por correo postal, no necesitas acceder al buzón o la dirección de residencia del destinatario para que el proceso funcione. Lo único que necesitas es la dirección de la oficina de correos a la que llegará la carta. En este caso, un servicio postal es un tipo de servicio DNS externo de terceros que puedes utilizar para enviar tu carta.
El mismo principio aplica a los DNS externos. Si tienes un DNS externo, todo lo que necesitas son los registros DNS que asignan el dominio externo a una dirección IP externa. A continuación, puedes configurar este dominio en un servidor web que admita dominios externos.
Es hora de ver un ejemplo y examinar en detalle los pasos que implica la resolución de DNS.
Paso 1: un usuario accede a www.google.com.
Paso 2: el usuario consulta su servidor DNS para este dominio. Por lo general, se trata del servidor DNS que le ha asignado su proveedor de Internet.
Paso 3: el servidor DNS del usuario se pone en contacto con sus servidores raíz. Se conectan hasta que se dirigen a los nombres de dominio de nivel superior TLD apropiados. Son la última parte de un nombre de dominio y suelen estar asociados a determinados países o regiones geográficas. Por ejemplo, .com es para entidades comerciales, .gov para sitios web gubernamentales de Estados Unidos y .uk para sitios web del Reino Unido.
Paso 4: el servidor DNS del usuario contacta al servidor del dominio .com y pregunta si Google dispone de un DNS externo.
Paso 5: el servidor del dominio .com responde con una lista de direcciones IP. En este caso, digamos que una de ellas es 10.0.1.5.
Paso 6: a continuación, el servidor envía esta información al servidor DNS del usuario.
Paso 7: el servidor DNS del usuario recibe esta lista de direcciones IP y la envía al usuario para que contacte a la dirección IP adecuada.
Para entender cómo funciona, usemos un ejemplo. Supongamos que tienes un servidor DNS externo en 10.0.1.5. Éste gestiona el dominio ejemplo.com. Por alguna razón, esta dirección IP cambia a 10.0.1.6. Quizás se ha creado una nueva VLAN o red de área local virtual con un rango IP actualizado.
Entonces, el DNS externo que gestionaba ejemplo.com enviaría un mensaje NOTIFICAR a todos los demás servidores DNS externos del mundo que conociera. El DNS les diría que actualizaran la dirección IP de ejemplo.com en sus registros.
Los registros DNS se almacenan en caché en muchos lugares. Entre ellos se encuentran los routers domésticos, los servidores DHCP (protocolo de configuración dinámica de host), los switches de red y los servidores. Si tu proveedor de alojamiento se cae, su caché de DNS permanecerá activa durante algún tiempo y seguirá atendiendo solicitudes de las antiguas direcciones IP. Sin embargo, en cuanto la caché caduque (normalmente en unos 15 minutos), nadie podrá acceder a tu sitio a menos que conozca la nueva IP. Esto no suele ocurrir.
Para evitarlo, puedes registrarte con un proveedor de DNS alternativo que ofrezca DNS Anycast. Esto significa que cada solicitud se atiende desde una dirección IP en cualquiera de sus centros de datos repartidos por todo el mundo. Si alguno falla, los otros servidores permanecen activos y accesibles. Existen muchos proveedores de DNS externos. Estos incluyen Cloudflare, Amazon Route 53, Google Cloud DNS y OpenDNS.
Anycasting es un tipo de enrutamiento que permite enviar paquetes a la instancia más cercana de un servicio. Esto es posible al utilizar una única dirección IP para apuntar a múltiples servidores. Cuando un cliente envía una solicitud a la dirección IP, la solicitud generalmente va al servidor que está más cerca del cliente.
OpenDNS es un proveedor público que ofrece servicios de DNS gratuitos. OpenDNS ofrece filtros personalizados que permiten restringir el acceso a sitios web específicos. También tiene una función llamada FamilyShield que bloquea los sitios web no seguros.
GeoDNS es un tipo de servicio de DNS externo que permite dirigir a los usuarios al servidor más cercano en función de su ubicación geográfica. Con GeoDNS, es posible dirigir a los usuarios a servidores de países o regiones específicas para mejorar el rendimiento del sitio web. Esto también ofrece contenido de servidores que están más cerca del usuario y puede bloquear el acceso a sitios web de determinadas zonas del mundo.
Google Cloud DNS es un servicio de DNS público o externo que puedes utilizar para gestionar tus nombres de dominio y recursos alojados en Google Cloud Platform (GCP). Con Google Cloud DNS, puedes:
Los servicios de DNS externos suelen ser para clústeres externos. No obstante, los desarrolladores también pueden utilizarlos en sus equipos locales para probar servicios externos de forma local.
Ahora tienes una idea básica de cómo funciona el servicio de DNS externo. Es hora de aplicar este concepto a los clústeres Kubernetes externos.
Kubernetes external-dns es una solución para gestionar múltiples registros DNS externos en Kubernetes. Contiene una función de CLI que se implementa y configura como un servicio de DNS externo en clústeres Kubernetes. Además, simplifica las operaciones al definir todos los servicios externamente visibles de tu aplicación como servicios Kubernetes y asignar sus respectivos registros DNS externos a ellos. Permite a los propietarios de las aplicaciones realizar cambios a nivel de servicio en lugar de a nivel de registro DNS individual.
Cuando un pod de un clúster Kubernetes se expone como un servicio externo, GKE external-dns crea automáticamente un registro DNS externo correspondiente. GKE son las siglas de Google Kubernetes Engine. Se trata de un servicio gestionado de Kubernetes que facilita la configuración, el funcionamiento y el mantenimiento de clústeres de instancias de Kubernetes.
Si tienes varios clústeres de Kubernetes y deseas que apunten a DNS externos, debes crear registros DNS externos de forma manual. El controlador de Kubernetes vigila constantemente los servicios externos y actualiza los registros DNS externos.
Write for Site24x7 is a special writing program that supports writers who create content for Site24x7 “Learn” portal. Get paid for your writing.
Apply Now