Cómo configurar DNS en Ubuntu: Guía completa para Netplan y NetworkManager

1. Introducción: Por qué la configuración de DNS es importante en Ubuntu

DNS (Sistema de nombres de dominio) es el mecanismo que convierte los nombres de dominio en direcciones IP.
Cada vez que abrimos un sitio web, el sistema operativo consulta un servidor DNS en segundo plano.

Al usar Ubuntu, puedes encontrarte con:

  • Páginas web que se sienten “algo lentas”
  • Rendimiento más bajo que en otros dispositivos de la misma red
  • Incapacidad ocasional para acceder a sitios internos de la LAN

Estos síntomas a menudo son causados, sorprendentemente, no por la “calidad de la red”, sino por una resolución de DNS lenta.

En Ubuntu, incluso en la versión 22.04 y posteriores, existen múltiples formas de configurar DNS. Esto suele confundir a los principiantes. Los dos métodos principales son:

  • Netplan (común en entornos de servidor sin GUI)
  • NetworkManager (soporta operaciones de GUI de escritorio)

Como la configuración difiere según cuál esté activo, los artículos sobre DNS para Ubuntu deben comenzar con la “detección del entorno”, seguida de “guiar al usuario al método correcto”.

DNS no es solo una “pequeña parte de la configuración”, sino el punto de entrada para todo el sistema de red en Ubuntu.

Por ejemplo, simplemente cambiar a Google Public DNS (8.8.8.8) o Cloudflare (1.1.1.1) puede acelerar notablemente la navegación web.
Esto es especialmente cierto en entornos de VPS, nube o redes internacionales.

En las siguientes secciones, separaremos claramente:

  • Cómo configurar DNS usando la GUI
  • Cómo configurar DNS mediante Netplan
  • Cómo verificar la configuración de DNS

Primero, determinemos qué entorno está usando tu sistema.

2. Ubuntu ofrece dos métodos principales para la configuración de DNS

En Ubuntu, el método para configurar DNS cambia según el sistema de gestión de red que se utilice.
Si se ignora esta distinción, los cambios de DNS pueden no aplicarse o revertirse después de reiniciar.

A continuación resumimos el hecho de que Ubuntu tiene dos sistemas independientes de configuración de DNS.

Netplan (configuración basada en YAML)

  • Común en entornos de servidor
  • Estandarizado en Ubuntu 18.04 y versiones LTS posteriores
  • Los archivos de configuración se encuentran en /etc/netplan/*.yaml
  • Funciona en conjunto con systemd-resolved

En entornos de VPS o servidores físicos sin GUI, Netplan se usa casi siempre.
Entornos en la nube como AWS, Vultr, ConoHa o Oracle Cloud también suelen emplear este método.

NetworkManager (GUI)

  • Común en entornos de PC de escritorio (Ubuntu Desktop)
  • Permite la configuración de DNS a través de los ajustes IPv4 / IPv6
  • Fácil de entender gracias a la configuración basada en GUI

Si utilizas Ubuntu Desktop, este es el método más probable.
Es ideal cuando simplemente quieres “cambiar DNS porque el navegador se siente lento”.

Cómo comprobar cuál estás usando

La forma más sencilla es verificar si existen archivos en /etc/netplan/.

ls /etc/netplan/

Si hay archivos YAML, lo más probable es que Netplan esté en uso.
Si el directorio está vacío o estás usando una GUI, revisa la configuración de NetworkManager.

3. Configuración de DNS con Netplan (para servidores)

Netplan usa archivos YAML para definir la configuración de red.
En entornos de Ubuntu Server o VPS sin GUI, este es casi siempre el método de configuración.

Esta sección se centra en los pasos prácticos mínimos necesarios para establecer DNS a un valor específico.

Abrir el archivo de configuración de Netplan

Los archivos de configuración de Netplan se almacenan en /etc/netplan/.
El nombre real del archivo varía según el entorno (por ejemplo, 00-installer-config.yaml).

Primero, verifica la lista de archivos:

ls /etc/netplan/

Una vez identificado el nombre del archivo, ábrelo con un editor como nano. Ejemplo:

sudo nano /etc/netplan/00-installer-config.yaml

Cómo añadir entradas DNS al YAML (ejemplo)

A continuación, un ejemplo que especifica tanto Google DNS como Cloudflare DNS.

network:
  version: 2
  ethernets:
    ens33:
      dhcp4: true
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]

Nota: ens33 varía según tu NIC.
Compruébalo usando ip a o ip link.

Aplicar la configuración

Aplica los cambios inmediatamente usando:

sudo netplan apply

Si aparecen errores, la indentación de YAML es la causa más común.
Verifica el espaciado y la jerarquía—no se pueden usar tabulaciones.

¿Pueden coexistir DHCP y DNS manual?

Sí, puedes obtener una IP vía DHCP mientras especificas DNS manualmente.

Ejemplo:

dhcp4: true
nameservers:
  addresses: [9.9.9.9]

Esta configuración establece “IP = automático, DNS = manual”.

4. Usar NetworkManager (GUI) para la configuración de DNS en Ubuntu Desktop

Si estás usando Ubuntu para fines de escritorio, puedes cambiar el DNS sin usar la terminal.
Este método basado en GUI es el más rápido cuando simplemente quieres “acelerar el navegador” o “cambiar a un DNS público”.

Cómo abrir la ventana de Configuración

  1. Haz clic en el ícono de red en la esquina superior derecha
  2. Abre “Configuración” o “Configuración de red”
  3. Selecciona la conexión activa (Cableada / Wi-Fi)
  4. Ve a la pestaña “IPv4”

Encontrarás un campo de entrada para DNS aquí.
Dependiendo de la versión de Ubuntu, la redacción puede variar ligeramente, pero puedes ingresar direcciones DNS separadas por comas.

Ejemplo de entrada (Especificar DNS vía IPv4)

Ejemplo: Usando Google DNS y Cloudflare DNS

8.8.8.8, 1.1.1.1

Después de ingresar los valores, haz clic en “Aplicar” o “Guardar”. Se recomienda desconectar y reconectar la red para asegurar que se apliquen las configuraciones.

Si estás usando IPv6

La pestaña “IPv6” tiene un campo de entrada similar para DNS.
En redes de doble pila, configurar tanto DNS de IPv4 como de IPv6 puede ser importante para la estabilidad.

Combinar DHCP y DNS manual

También puedes configurar la GUI para usar asignación automática de IP mientras especificas DNS manualmente.
Esto es útil cuando no quieres asignar manualmente una IP fija en cada red Wi-Fi que uses, como en casa o en la oficina.

5. Cómo confirmar que se aplicaron las configuraciones de DNS

La configuración de DNS no está completa hasta que verifiques que las nuevas configuraciones se aplicaron realmente.
Ubuntu ofrece tres métodos confiables para verificar el estado de DNS.

Usar el comando dig

dig google.com

En la salida, busca una línea etiquetada como “SERVER: 〜”.
Esto muestra qué servidor DNS está usando actualmente tu sistema.

Ejemplo (extracto):

;; SERVER: 8.8.8.8#53(8.8.8.8)

Verifica que muestre 8.8.8.8 (Google) o 1.1.1.1 (Cloudflare), etc.

resolvectl status

Este método es preciso cuando usas systemd-resolved.

resolvectl status

Esto muestra el servidor de nombres usado actualmente por cada NIC.
En servidores con múltiples NIC, esto es más confiable que dig.

Por qué no debes editar /etc/resolv.conf directamente

cat /etc/resolv.conf

Este archivo muestra los valores finales de DNS en uso actualmente.
Sin embargo, el archivo es generado automáticamente por systemd-resolved, lo que significa:
Se sobrescribirá, por lo que editar este archivo es incorrecto.

6. Opciones comunes de DNS (Útiles para principiantes)

No “creas” tú mismo las direcciones de servidores DNS.
En la mayoría de los casos, eliges de servicios DNS públicos ampliamente disponibles.

Si quieres opciones seguras y estables, elige de la lista a continuación:

ProviderDNS Address
Google Public DNS8.8.8.8 / 8.8.4.4
Cloudflare1.1.1.1
Quad99.9.9.9
OpenDNS208.67.222.222 / 208.67.220.220

Se recomienda especificar dos servidores DNS para redundancia.
Si uno se vuelve no disponible, el sistema consulta automáticamente al otro.

Si usas DNS interno (como AD corporativo), debes especificar el servidor DNS interno en lugar de DNS público.
La resolución de nombres interna a menudo tiene prioridad sobre el rendimiento de DNS externo.

7. DNS a menudo se convierte en el cuello de botella de una red

Aunque DNS parece un elemento de configuración simple, tiene un impacto significativo en el rendimiento percibido de la red.
Los problemas de DNS son especialmente notables en escenarios como:

  • El primer paso de carga de una página web se siente inusualmente lento
  • Ping es rápido pero la navegación web se siente lenta
  • Frameworks SPA (React / Vue) tienen una carga inicial lenta

Estos casos a menudo se comportan así: “Después de cargar la misma URL varias veces, se vuelve rápida, pero el primer acceso es extrañamente lento.”
Esto ocurre porque DNS es el punto de entrada inicial.

Especialmente en VPS o regiones internacionales (p. ej., us‑east / eu‑west), el DNS público puede superar al DNS predeterminado de tu ISP.

DNS es un punto que es muy sensible a la latencia de red.
Independientemente del SO, la afinación de DNS es una de las primeras optimizaciones que los ingenieros web deberían realizar.

FAQ

P1: Edité /etc/resolv.conf pero se restablece después del reinicio. ¿Por qué?
→ systemd‑resolved de Ubuntu genera automáticamente /etc/resolv.conf.
Este archivo no está pensado para ser editado manualmente.
Utiliza Netplan o NetworkManager en su lugar.

P2: No estoy seguro de si estoy usando Netplan o NetworkManager. ¿Cómo lo verifico?
→ Primero verifica:

ls /etc/netplan/

Si existen archivos YAML, lo más probable es que se esté usando Netplan.
Si utilizas una interfaz gráfica, es más probable que sea NetworkManager.

P3: ¿Puedo obtener automáticamente la IP vía DHCP y seguir configurando DNS manualmente?
→ Sí.
Tanto Netplan como NetworkManager permiten “IP = AUTO, DNS = manual”.

P4: ¿Cambiar DNS siempre acelera la navegación web?
→ No siempre.
DNS solo afecta la resolución inicial del nombre.
A menudo acelera la primera carga, pero imágenes, CDN o API lentas pueden seguir provocando un rendimiento bajo.

P5: ¿Los mismos pasos se aplican a Ubuntu en WSL2?
→ No exactamente.
WSL2 regenera resolv.conf automáticamente, lo que requiere configuraciones adicionales como:
generateResolvConf=false
WSL tiene sus propios métodos de configuración de DNS.

侍エンジニア塾