Como conectar un droplet de DigitalOcean con un dominio de GoDaddy

I. N. Palacios
7 min readOct 13, 2021

Y como funciona DNS de paso

Photo by NASA on Unsplash

¿Qué es DNS?

DNS es una base de datos jerárquica que contiene nombres y direcciones para redes IP y hosts, y se usa casi universalmente para proporcionar resolución de nombres.

Histora de DNS

En los primeros días de Internet, cuando se conocía como la Red de Agencia de Productos de Investigación Avanzada (ARPAnet) y la cantidad de hosts en la red era menos de 100, solía haber una lista maestra de nombres y direcciones IP llamada Archivo HOSTS. Fue mantenido por el Centro de Información de Red del Instituto de Investigación de Stanford (conocido como SRI-NIC en ese momento) y funcionó muy bien, siempre que la cantidad de hosts fuera baja y los cambios fueran poco frecuentes. Todos los usuarios de la red descargarían periódicamente una copia del archivo HOSTS y tendrían una tabla local de nombres y direcciones con las que conectarse a las computadoras por nombre.

La red necesitaba una respuesta mejor que un archivo de texto para la resolución de nombres. En 1983, en las RFC 882 y 883, Paul Mockapetris introdujo el DNS. Desde entonces, estas RFC han sido reemplazadas por las RFC 1034 y 1035, las especificaciones de DNS actuales.

La base de datos DNS

DNS es una base de datos distribuida que permite el control local de DNS para segmentos del espacio de nombres mientras mantiene una arquitectura lógica para proporcionar la información local en toda la red. Cada parte de la base de datos DNS reside en un servidor conocido como servidor de nombres. La arquitectura de DNS está diseñada para que pueda haber varios servidores de nombres para la redundancia, y también se admite el almacenamiento en caché de nombres en el servidor local, lo que mejora aún más la solidez del DNS. Además, con partes del espacio de nombres general ubicadas en computadoras separadas, el almacenamiento de datos y las cargas de consultas se distribuyen a miles de servidores DNS en Internet. La jerarquía de DNS está diseñada de tal manera que cada computadora dentro o fuera de Internet puede ser nombrada como parte del espacio de nombres DNS.

Jerarquías

Debe comprender los siguientes términos relacionados con las jerarquías:

Árbol: un árbol es un tipo de estructura de datos en la que cada elemento se adjunta a uno o más elementos directamente debajo de él. En el caso del DNS, esta estructura a menudo se denomina árbol invertido porque generalmente se dibuja con las raíces en la parte superior del árbol.
Dominio de nivel superior (TLD): un TLD está relacionado con el sufijo adjunto a un nombre de dominio de Internet. Hay un número limitado de sufijos predefinidos y cada uno representa un TLD. Los TLD más comunes (al menos en los Estados Unidos) son com, edu, gov, mil, net y org.
Nodo: un nodo es un punto en el que se cruzan dos o más líneas de un árbol. En el caso de DNS, un nodo puede representar un TLD, un subdominio o un nodo de red real (es decir, un host).
FQDN: un FQDN es un nombre de dominio que incluye todos los dominios entre el host y la raíz del DNS. Por ejemplo, www.creamos.space es un FQDN.
Hoja: una hoja es un elemento que se encuentra en la parte inferior de una estructura de árbol jerárquica que no contiene ningún otro objeto. En DNS, las hojas se llaman nodos. En el ejemplo anterior, www sería la hoja de FQDN www.digitalocean.com.
Dominio de segundo nivel (SLD): este es el dominio que incluye el TLD y la siguiente unidad organizativa del FQDN. creamos.space es un ejemplo de SLD.
Zona: una zona DNS es una agrupación lógica de nombres de host dentro de DNS. Por ejemplo, quepublishing.com se considera la zona de búsqueda directa para Que Publishing. Es donde la información sobre el host de Que Publishing está contenida dentro de DNS.

Si se les dijera a los usuarios finales típicos que han estado trabajando con una jerarquía desde la primera vez que encendieron una computadora, muchos no tendrían idea de lo que estás hablando. De hecho, un buen número de administradores también tendrían que pensar en ello. Sin embargo, es cierto: la versión 2 de MS-DOS introdujo una jerarquía en las PC en la forma del sistema de archivos, y sistemas como mainframes y Unix usaban estructuras de archivos jerárquicas mucho antes que MS-DOS. ¿Por qué las computadoras necesitan un sistema de archivos jerárquico? Porque almacenar archivos como una lista alfabética interminable es ineficaz; los archivos se pueden almacenar de manera mucho más eficiente en grupos relacionados. Hoy en día, todas las computadoras utilizan estructuras jerárquicas para organizar el almacenamiento de archivos.

En DNS, los contenedores se denominan dominios. La jerarquía comienza con un contenedor raíz, llamado dominio raíz. El dominio raíz no tiene nombre, por lo que normalmente se representa con un solo punto. Directamente debajo del dominio raíz se encuentran los dominios de nivel superior (TLD), que a veces también se denominan dominios de primer nivel. Los dominios de nivel inferior son de segundo, tercer nivel, etc. Cada nombre de dominio tiene un sufijo que indica el TLD al que pertenece. Solo hay un número limitado de dichos dominios.

Proceso de resolución de nombres en el servidor de DNS

  1. El equipo cliente realiza una solicitud al servidor DNS local. Esto generalmente ocurre cuando una aplicación intenta establecer una conexión usando un nombre de host, como cuando ingresa www.creamos.space en un navegador web y la resolución no se encuentra en la caché de DNS del cliente.
  2. El servidor DNS busca en una memoria caché local los nombres que ha resuelto recientemente. Si el nombre solicitado se encuentra en la caché local, el servidor de nombres devuelve la dirección IP que requiere la computadora cliente. La mayoría de los servidores DNS almacenan en caché los nombres de dominio locales y remotos en la memoria, por lo que incluso una solicitud de DNS para un host en su red local puede estar en la memoria caché.
    El servidor de nombres busca en las tablas de host del servidor DNS para ver si hay una entrada estática (o, en el caso de DDNS, una entrada dinámica) para la búsqueda de nombre de host a dirección IP. Si existe una entrada, el servidor DNS reenvía la dirección IP a la computadora cliente.
  3. Si la solicitud no se ha resuelto, el servidor de nombres envía la solicitud a un servidor de nombres raíz. (Los servidores de nombres raíz apoyan la raíz de la jerarquía del espacio de nombres). En la actualidad, 13 computadoras admiten el dominio raíz.
  4. El servidor de nombres raíz remite la solicitud a un servidor de nombres para el TLD en el nombre de host. (Por ejemplo, si ha solicitado una dirección de host para el dominio creamos.space, el servidor de nombres raíz reenvía la solicitud al servidor DNS creamos.space). El servidor de nombres de TLD envía la solicitud a un servidor de nombres para el segundo nivel. dominio en el nombre de host, y así sucesivamente, hasta que se encuentre un servidor de nombres que pueda resolver el nombre de host completo.
  5. El primer servidor de nombres que puede resolver el nombre de host en una dirección IP informa la dirección IP a la computadora cliente.

Nota sobre cómo los servidores raíz encuentran un dominio: Cuando es registrado un dominio, debe proporcionar los nombres y direcciones de dos (o más) servidores DNS que proporcionarán servicios DNS para el dominio. Los servidores de nombres raíz tienen acceso a estos nombres y direcciones y, por lo tanto, saben dónde enviar las solicitudes.

Con lo anterior tenemos mejor idea de porqué debemos referenciar en GoDaddy que servidores de DNS contienen la información del dominio a registrar y a su vez, en Digital Ocean que droplet/servidor refiere a dicho dominio.

Pasos para indicar los DNS en un droplet en DigitalOcean

Habiendo creado el droplet en DigitalOcean

  1. Ir a Networking -> Domains
  2. Añadir un nuevo dominio: creamos.space
  3. Hacer un registro tipo A para la versión no-www del dominio indicando @ y mencionando el droplet al que corresponde dicho dominio.
  4. Añadir la versión www del sitio añadiendo un registro tipo CNAME e indicando el droplet al que corresponde dicho dominio

Pasos para conectar GoDaddy y un droplet den DigitalOcean

  1. Seleccionar Administrar DNS del dominio
  2. Seleccionar Servidores de Dominio
  3. Indicar personalizado e incluir los 3 servidores DNS de DigitalOcean: ns1.digitalocean, ns2.digitalocean, ns3.digitalocean

Probar nuestra configuración con el comando dig

Luego de instalar dig con brew on chocolatey escribiremos lo siguiente en la terminal dig www.creamos.space

Con eso finalizamos

Saludos creadores!

En DNS, los contenedores se denominan dominios. La jerarquía comienza con un contenedor raíz, llamado dominio raíz. El dominio raíz no tiene nombre, por lo que normalmente se representa con un solo punto. Directamente debajo del dominio raíz se encuentran los dominios de nivel superior (TLD), que a veces también se denominan dominios de primer nivel. Los dominios de nivel inferior son de segundo, tercer nivel, etc. (consulte la Figura 3.1). Cada nombre de dominio tiene un sufijo que indica el TLD al que pertenece. Solo hay un número limitado de dichos dominios.

--

--

I. N. Palacios

Enterprise Architect with 15+y in the use of languages and platforms, also 5+y designing tech solutions for finance, retail and e-commerce. SOA, MSA, EDA, Cloud