systemd-resolved (Español)

Esta traducción de
systemd-resolved
fue revisada el
2019-10-29
. Si existen
cambios
puede
actualizarla
o avisar al
equipo de traducción
.
Artículos relacionados
systemd-networkd (Español)
Domain name resolution (Español)
Avahi
systemd-resolved
es un servicio de
systemd (Español)
que proporciona resolución de nombres de red a aplicaciones locales a través de una interfaz
D-Bus (Español)
, el servicio
NSS
de
resolve
(
nss-resolve(8)
), y un receptor de escucha de DNS local en
127.0.0.53
. Consulte
systemd-resolved(8)
para conocer su utilización.
Instalación
systemd-resolved
es una parte del paquete
systemd
que se
instala
por defecto.
Configuración
systemd-resolved
proporciona servicios de resolución para
sistema de nombres de dominio (DNS)
(incluyendo
DNSSEC
y
DNS mediante TLS
),
DNS de multidifusión (mDNS)
y
resolución de nombres de multidifusión de enlace local (LLMNR)
.
La resolución se puede configurar editando
/etc/systemd/resolved.conf
y/o colocando archivos con extensión
.conf
en
/etc/systemd/resolved.conf.d/
. Véase
resolved.conf(5)
.
Para utilizar
systemd-resolved
inicie
y
active
systemd-resolved.service
.
Sugerencia
Para comprender el contexto en torno a las opciones y los cambios, se puede activar la información detallada de depuración de errores para
systemd-resolved
como se describe en
systemd (Español)#Diagnosticar un servicio
.
DNS
systemd-resolved
tiene cuatro modos diferentes para manejar la
resolución de nombres de dominio
(los cuatro modos se describen en
systemd-resolved(8) § /ETC/RESOLV.CONF
). Nos centraremos aquí en los dos modos más relevantes:
Utilizar el archivo «stub» de DNS de systemd: el archivo «stub» de DNS de systemd
/run/systemd/resolve/stub-resolv.conf
contiene el código local
127.0.0.53
como el único servidor DNS y una lista de dominios de búsqueda. Este es el modo de operación
recomendado
. Se aconseja a los usuarios del servicio que redirijan el archivo
/etc/resolv.conf
al archivo local de resolución de DNS
/run/systemd/resolve/stub-resolv.conf
administrado por
systemd-resolved
. Esto extiende la configuración administrada por systemd a todos los clientes. Se puede consiguir reemplazando
/etc/resolv.conf
con un enlace simbólico al archivo «stub» de systemd:
# ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
Preservar
resolv.conf
: este modo conserva
/etc/resolv.conf
y
systemd-resolved
es simplemente un cliente de aquel archivo. Este modo es menos disruptivo ya que
/etc/resolv.conf
puede continuar siendo administrado por otros paquetes.
Nota
El modo en que opera
systemd-resolved
se detecta automáticamente, dependiendo de si
/etc/resolv.conf
es un enlace simbólico al archivo de resolución de DNS del archivo «stub» local o contiene nombres de servidores.
Configurar servidores DNS
Sugerencia
Para verificar el DNS realmente utilizado por
systemd-resolved
, utilice la orden:
$ resolvectl status
Automáticamente
systemd-resolved
funcionará de forma inmediata con un
gestor de red
utilizando
/etc/resolv.conf
. No se requiere ninguna configuración particular ya que
systemd-resolved
se detectará siguiendo el enlace simbólico
/etc/resolv.conf
. Este será el caso con
systemd-networkd (Español)
o
NetworkManager (Español)
.
Sin embargo, si los clientes
DHCP
y
VPN
utilizan el programa
resolvconf
para configurar servidores de nombres y dominios de búsqueda (consulte
Openresolv (Español)#Usuarios
para obtener una lista de software que use
resolvconf
), se necesita el paquete adicional
systemd-resolvconf
para proporcionar el enlace simbólico
/usr/bin/resolvconf
.
Nota
systemd-resolved
tiene una interfaz
resolvconf
limitada y es posible que no funcione con todos los clientes; consulte
resolvectl(1) § COMPATIBILITY WITH RESOLVCONF(8)
para obtener más información.
Manualmente
Con el modo de archivo «stub» de DNS local, se proporcionan servidores DNS alternativos en el archivo
resolved.conf(5)
:
/etc/systemd/resolved.conf.d/dns_servers.conf
[Resolve]
DNS=91.239.100.100 89.233.43.71
Nota
Los
gestores de red
tienen su propia configuración de DNS que anula el valor predeterminado de
systemd-resolved'
.
Reserva
Si
systemd-resolved
no recibe las direcciones del servidor DNS del
gestor de red
y no hay servidores DNS configurados [[#Manualmente|manualmente], entonces
systemd-resolved
vuelve a las direcciones DNS de reserva, garantizando así que la resolución de DNS funcione siempre.
Nota
Los DNS de reserva están en este orden: Cloudflare, Quad9 y Google; vea el
PKGBUILD de systemd
donde se definen los servidores.
Las direcciones se pueden cambiar configurando
FallbackDNS=
en
resolved.conf(5)
. Por ejemplo:
/etc/systemd/resolved.conf.d/fallback_dns.conf
[Resolve]
FallbackDNS=127.0.0.1 ::1
Para desactivar la funcionalidad de reserva de DNS, configure la opción
FallbackDNS
sin especificar ninguna dirección:
/etc/systemd/resolved.conf.d/fallback_dns.conf
[Resolve]
FallbackDNS=
DNSSEC
Por defecto, la validación
DNSSEC (Español)
solo se activará si el servidor DNS ascendente lo admite. Si desea validar siempre DNSSEC, rompiendo así la resolución de DNS con servidores de nombres que no lo admiten, establezca
DNSSEC=true
:
/etc/systemd/resolved.conf.d/dnssec.conf
[Resolve]
DNSSEC=true
Sugerencia
Si su servidor DNS no es compatible con DNSSEC y experimenta problemas con el modo predeterminado de degradación permitida (por ejemplo,
systemd issue 10579
), puede desactivar explícitamente el soporte DNSSEC de systemd-resolve estableciendo
DNSSEC=false
.
Pruebe la validación de DNSSEC consultando un dominio con una firma no válida:
$ resolvectl query sigfail.verteiltesysteme.net
sigfail.verteiltesysteme.net: resolve call failed: DNSSEC validation failed: invalid
Ahora pruebe un dominio con firma válida:
$ resolvectl query sigok.verteiltesysteme.net
sigok.verteiltesysteme.net: 134.91.78.139

-- Information acquired via protocol DNS in 266.3ms.
-- Data is authenticated: yes
DNS mediante TLS
Advertencia
systemd-resolve solo valida el certificado del servidor DNS si el mismo se emite para la dirección IP del servidor (una solución rara). Los certificados de servidores DNS sin una dirección IP, no se comprueban, lo que hace que el sistema de resolución sea vulnerable a los ataques de intermediarios. Consulte
systemd issue 9397
.
DNS mediante TLS está desactivado por defecto. Para activarlo, cambie la configuración
DNSOverTLS=
en la sección
[Resolve]
en
resolved.conf(5)
.
/etc/systemd/resolved.conf.d/dns_over_tls.conf
[Resolve]
DNSOverTLS=yes
Nota
El servidor DNS utilizado debe admitir DNS mediante TLS; de lo contrario, todas las solicitudes DNS fallarán.
mDNS
systemd-resolved
es capaz de funcionar solucionando y respondiendo a
DNS de multidifusión
.
Para actuar como «solucionador» se proporciona la resolución del
nombre del equipo
utilizando un esquema de nombres tal como «
hostname
.local».
mDNS solo se activará para la conexión si tanto la configuración global de systemd-resolved (
MulticastDNS=
en
resolved.conf(5)
) como la configuración del
gestor de red
por conexión están activadas. Por defecto,
systemd-resolved
activa el «respondedor» mDNS, pero tanto
systemd-networkd (Español)
como
NetworkManager (Español)
no lo activan para las conexiones:
Para
systemd-networkd (Español)
la configuración es
MulticastDNS=
en la sección
[Network]
. Consulte
systemd.network(5)
.
Para
NetworkManager (Español)
la configuración es
mdns=
en la sección
[connection]
; consulte
nm-settings(5)
. Los valores son
0
- desactivado,
1
- solo resuelve,
2
- resuelve y responde.
[1]
Nota
Si
Avahi
está instalado, considere
desactivar
avahi-daemon.service
y
avahi-daemon.socket
para evitar conflictos con
systemd-resolved
.
Sugerencia
El valor predeterminado para todas las conexiones de
NetworkManager (Español)
se puede establecer creando un archivo de configuración en
/etc/NetworkManager/conf.d/
y configurando
connection.mdns=
en la sección
[connection]
. Por ejemplo, lo siguiente activará el solucionador mDNS para todas las conexiones:
/etc/NetworkManager/conf.d/mdns.conf
[connection]
connection.mdns=1
Véase
NetworkManager.conf(5)
.
Si planea usar mDNS y un
firewall
, asegúrese de abrir el puerto UDP
5353
.
LLMNR
La
resolución de nombres de multidifusión de enlace local
es un protocolo de resolución de
nombres de equipo
creado por Microsoft.
LLMNR solo se activará para la conexión si tanto la configuración global de systemd-resolved (
LLMNR=
en
resolved.conf(5)
) como la configuración del
gestor de red
por conexión están activadas. Por defecto,
systemd-resolved
activa el «respondedor» LLMNR para
systemd-networkd (Español)
y
NetworkManager (Español)
lo activa para las conexiones:
Para
systemd-networkd (Español)
la configuración es
LLMNR=
en la sección
[Network]
. Consulte
systemd.network(5)
.
Para
NetworkManager (Español)
la configuración es
llmnr=
en la sección
[connection]
; consulte
nm-settings(5)
. Los valores son
0
- desactivado,
1
- solo resolver,
2
- resolver y responder.
{{Tip (Español)|El valor predeterminado para todas las conexiones de
NetworkManager (Español)
se puede establecer creando un archivo de configuración en
/etc/NetworkManager/conf.d/
y configurando
connection.llmnr=
en la sección
[connection]
. Por ejemplo, lo siguiente desactivará LLMNR para todas las conexiones:
/etc/NetworkManager/conf.d/llmnr.conf
[connection]
connection.llmnr=0
Consulte
NetworkManager.conf(5)
.
Si planea usar LLMNR y un
firewall
, asegúrese de abrir los puertos UDP y TCP
5355
.
Buscar
Para consultar registros DNS, servidores mDNS o LLMNR puede usar la utilidad
resolvectl
.
Por ejemplo, para consultar un registro DNS:
$ resolvectl query archlinux.org
archlinux.org: 2a01:4f8:172:1d86::1
               138.201.81.199

-- Information acquired via protocol DNS in 48.4ms.
-- Data is authenticated: no
Consulte
resolvectl(1) § EXAMPLES
para conocer más ejemplos.