> La lista completa de artículos está en [llms.txt](https://docs.f3cloud.com/llms.txt). Cada página tiene versión en Markdown, basta con añadir .md a su dirección. Esta página en Markdown: [https://docs.f3cloud.com/es/vps/domain-to-vps.md](https://docs.f3cloud.com/es/vps/domain-to-vps.md).

# Cómo apuntar un dominio a un VPS – registros DNS A, AAAA, CNAME, MX y TXT

Cómo apuntar un dominio a un VPS. Cómo funciona el DNS, qué son los registros A, AAAA, CNAME, MX, TXT y NS, dónde se crean, qué es el TTL y por qué el dominio no empieza a funcionar al instante, cómo comprobar un registro con dig y nslookup. Paso a paso para cualquier registrador.

El servidor es accesible en internet por su dirección IP, pero recordar números es incómodo, y además muchos programas necesitan precisamente un dominio. Un sitio web lo necesita para el certificado HTTPS, los servicios de correo para verificar al remitente y muchas aplicaciones para tener un enlace bonito. Para que el dominio lleve a tu servidor, basta con crear para él uno o dos **registros DNS**. En este artículo veremos cómo funciona el sistema DNS, qué registros existen y para qué sirven, y después apuntaremos el dominio al VPS paso a paso y comprobaremos que todo funciona.

***

## Cómo funciona el DNS

Cuando escribes en el navegador la dirección `example.com`, el ordenador primero tiene que averiguar qué dirección IP hay detrás de ese nombre, ya que en la red los paquetes solo se entregan por direcciones. De eso se encarga el sistema de nombres de dominio, el DNS. El propio ordenador apenas sabe nada de él y le hace la pregunta a un **resolutor DNS**. Normalmente es un servidor del proveedor de internet o un servicio público como `1.1.1.1` o `8.8.8.8`. Si el resolutor ya respondió hace poco a la misma pregunta, tomará la respuesta de su memoria. Si no, tendrá que recorrer una cadena de servidores.

La cadena empieza en los servidores raíz del DNS. Estos no conocen la dirección de `example.com`, pero saben qué servidores se encargan de la zona `.com`. Esos servidores, a su vez, tampoco guardan el registro buscado, pero saben qué **servidores NS** atienden el propio dominio `example.com`. Son precisamente ellos los que guardan los registros del dominio y dan la respuesta definitiva. Qué servidores NS se encargan de tu dominio se indica en el **registrador**, es decir, en la empresa donde compraste el dominio. Lo más habitual es que sean los servidores DNS del propio registrador, y entonces los registros se editan en su panel. Pero también se pueden indicar otros NS, por ejemplo los servidores de Cloudflare, y en ese caso los registros hay que crearlos allí. Esta es una causa frecuente de malentendidos, cuando alguien añade un registro en el registrador y el dominio sigue atendido por un servicio completamente distinto.

Tras recibir la respuesta, el resolutor la recuerda durante el tiempo indicado en el propio registro. Este tiempo se llama **TTL** y se expresa en segundos. Si un registro tiene un TTL de 3600, el resolutor devolverá la respuesta guardada durante una hora entera sin volver a preguntar al servidor NS. De ahí viene la famosa «propagación DNS», que supuestamente dura hasta 24 horas. En realidad, el registro cambia en el servidor NS al instante, pero los resolutores de todo el mundo siguen devolviendo la respuesta antigua hasta que caduca su TTL. Un registro nuevo, que antes no existía, suele empezar a funcionar en unos minutos. Donde más hay que esperar es al cambiar los servidores NS del dominio. Los resolutores guardan esa información mucho tiempo, por ejemplo 2 días en la zona `.com` y 4 días en la zona `.ru`, así que una parte de los visitantes seguirá llegando a los servidores antiguos durante un tiempo.

***

## Qué tipos de registros DNS existen

* **A** vincula un nombre con una dirección IPv4, por ejemplo `example.com` con `203.0.113.10`. Es el registro principal para apuntar un dominio a un servidor.
* **AAAA** hace lo mismo con una dirección IPv6. Cada uno de nuestros servidores recibe una subred IPv6, así que también vale la pena añadir este registro.
* **CNAME** convierte un nombre en alias de otro. Por ejemplo, puedes dirigir `www.example.com` a `example.com`, y así, si cambia la dirección IP, solo tendrás que modificar un registro. No se puede crear un CNAME para el propio dominio sin subdominio.
* **MX** indica qué servidores reciben el correo del dominio. Se configura según las instrucciones del servicio de correo, por ejemplo Yandex 360 o Gmail.
* **TXT** guarda texto arbitrario. Se usa para las reglas SPF del correo y para los códigos de verificación que piden Google, Yandex y otros servicios.
* **NS** muestra qué servidores atienden el dominio. Se cambian en el registrador, no en la lista de registros.

También existe el registro inverso **PTR**, que indica qué dominio corresponde a una dirección IP. No se configura en el registrador, sino con el propietario de la dirección IP, es decir, con nosotros. Cómo hacerlo se explica en el artículo sobre la [gestión del servidor](https://docs.f3cloud.com/es/client-area/server-management.md#direcciones-ip-y-registro-ptr).

***

## Qué necesitas

* **Un dominio** y acceso al panel donde se editan sus registros DNS.
* **La dirección IP del servidor**. La ves en el área de cliente con el botón <kbd>IP addresses</kbd>, más detalles en el artículo sobre la [gestión del servidor](https://docs.f3cloud.com/es/client-area/server-management.md#direcciones-ip-y-registro-ptr).
* **La dirección IPv6 del servidor**, si quieres añadir un registro AAAA. La muestra el comando `ip -6 addr show scope global` en el servidor, la dirección aparece después de la palabra `inet6` y hasta el signo `/`.

***

## 1. Averigua dónde se editan los registros

Antes de crear nada, comprueba qué servidores NS atienden el dominio. Ejecuta este comando en el servidor o en tu ordenador, sustituyendo el dominio por el tuyo.

```bash
dig +short NS example.com
```

Si la respuesta muestra los servidores de tu registrador, los registros se crean en su panel. Si aparece, por ejemplo, `ns.cloudflare.com`, como en el dominio `example.com` de la captura de abajo, los registros hay que crearlos en Cloudflare, y los cambios en el panel del registrador no tendrán ningún efecto.

<figure><img src="https://docs.f3cloud.com/img/dns-dig-short.png" alt="Respuestas del comando dig +short para los registros A, AAAA, NS y www del dominio example.com"><figcaption><p>dig +short solo muestra los valores de los registros</p></figcaption></figure>

***

## 2. Crea los registros

Abre la sección de gestión de DNS en el registrador o en el servicio al que apuntan los NS y añade los registros. En lugar de `203.0.113.10` pon la dirección IPv4 de tu servidor, y en lugar de `2001:db8::10`, su dirección IPv6.

| Tipo | Nombre | Valor | Para qué |
| --- | --- | --- | --- |
| A | `@` | `203.0.113.10` | el dominio lleva al servidor |
| A | `www` | `203.0.113.10` | la dirección con www también lleva al servidor |
| AAAA | `@` | `2001:db8::10` | lo mismo para IPv6, opcional |

El símbolo `@` significa el propio dominio sin subdominio. En algunos paneles, en lugar de él se deja vacío el campo del nombre. Para un subdominio, por ejemplo `app.example.com`, en el campo del nombre se escribe solo `app`.

El campo **TTL** se puede dejar con el valor por defecto. Si piensas trasladar pronto el sitio a otro servidor, pon antes un valor pequeño, por ejemplo 300 segundos, y así el cambio se completará en cinco minutos.

> **Elimina los registros antiguos.**
>
> Si el dominio ya tiene registros A o AAAA para el mismo nombre, por ejemplo la página provisional del registrador, elimínalos. Cuando un nombre tiene varias direcciones, los visitantes llegarán unas veces a tu servidor y otras a la página antigua.

***

## 3. Comprueba que el registro funciona

Unos minutos después de guardar, comprueba el registro con el comando `dig`. En Windows tienes en su lugar `nslookup`, que funciona igual, basta con escribir `nslookup example.com`.

```bash
# Respuesta de tu resolutor habitual
dig +short example.com A

# Respuesta del resolutor público de Google, que tiene su propia caché
dig @8.8.8.8 +short example.com A
```

Si el comando devuelve la dirección IP de tu servidor, el dominio ya apunta a él. La salida completa de `dig` sin el parámetro `+short` muestra además el TTL. En la línea de respuesta es el número que va antes de `IN`, e indica cuántos segundos más guardará el resolutor esta respuesta.

<figure><img src="https://docs.f3cloud.com/img/dns-dig-answer.png" alt="Salida completa de dig example.com A con la sección ANSWER SECTION y el tiempo de vida del registro"><figcaption><p>En ANSWER SECTION se ven las direcciones y el TTL restante</p></figcaption></figure>

Justo después ya puedes configurar el sitio o la aplicación en el servidor. El servidor web tiene que saber que se encarga de ese dominio, y el certificado HTTPS solo se emite para un dominio que ya apunta al servidor. Cómo hacerlo se explica en los artículos sobre [Nginx](https://docs.f3cloud.com/es/web/nginx-installation.md) y el [certificado de Let's Encrypt](https://docs.f3cloud.com/es/web/lets-encrypt-ssl-nginx-apache.md).

> **Si el dominio está en Cloudflare.**
>
> Los registros de Cloudflare tienen un interruptor de proxy. Si está activado, `dig` no mostrará la dirección de tu servidor, sino las de Cloudflare, y a través del dominio solo funcionarán los sitios web. Para conectarte por SSH y a otros servicios tendrás que usar la dirección IP. Si el dominio no es para un sitio web, desactiva el proxy para que el registro funcione en modo **DNS only**.

***

## Preguntas frecuentes

<details>

<summary>He creado el registro, pero el dominio sigue sin abrirse</summary>

1. Comprueba con el comando `dig +short NS tu-dominio` que el registro está creado donde apuntan los NS del dominio.
2. Pregunta a distintos resolutores, por ejemplo `dig @8.8.8.8 +short tu-dominio` y `dig @1.1.1.1 +short tu-dominio`. Si ellos ya responden bien y tu ordenador no, el problema está en la caché.
3. Vacía la caché DNS del ordenador. En Windows se hace con el comando `ipconfig /flushdns` en el símbolo del sistema, y en macOS con el comando `sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder` en el Terminal.

</details>

<details>

<summary>DNS_PROBE_FINISHED_NXDOMAIN en el navegador</summary>

El navegador no ha encontrado ningún registro para el dominio. Comprueba que el registro está creado justo para ese nombre, por ejemplo para `www` si abres la dirección con www, y que el dominio no ha caducado.

</details>

<details>

<summary>El dominio se abre sin www, pero con www no</summary>

`www` necesita su propio registro. Añade un registro A con el nombre `www` y la dirección IP del servidor, o un registro CNAME `www` que apunte al dominio principal.

</details>

<details>

<summary>¿Se puede configurar el correo del dominio en tu propio servidor?</summary>

En nuestros servidores los puertos SMTP están cerrados, así que no podrás enviar correo directamente desde el VPS. Para tener correo con tu dominio, conecta un servicio de correo, por ejemplo Yandex 360 o Gmail, y crea los registros MX y TXT según sus instrucciones.

</details>

***

## Nuestros recursos

**Canal de Telegram:** [https://t.me/f3cloud_news](https://t.me/f3cloud_news)\
**Web del hosting:** [https://f3cloud.com](https://f3cloud.com/es)
