No puedo resolver un registro de zona alojada privada de Amazon Route 53 con mi instancia de Elastic Compute Cloud (Amazon EC2).
Descripción breve
Las distribuciones del sistema operativo Linux que utilizan el servicio systemd-resolved gestionan las consultas de DNS mediante un resolutor de código auxiliar. La dirección IP del resolutor de código auxiliar se encuentra en /etc/resolv.conf. El agente de escucha de código auxiliar de DNS local no reenvía solicitudes de DNS para nombres de dominio con el sufijo “.local”. La solicitud de DNS falla con el código de respuesta “ServFail” similar al siguiente resultado:
### failed ###
ubuntu@ip-172-31-2-3:~$ dig example.local.
; <<>> DiG 9.18.1-1ubuntu1.1-Ubuntu <<>> example.local.
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 29563 ### status: SERVFAIL ###
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;example.local. IN A
;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP) ### 127.0.0.53 is systemd-resolved ###
;; WHEN: Thu Jun 30 12:34:56 UTC 2022
;; MSG SIZE rcvd: 42
### success ###
ubuntu@ip-172-31-2-3:~$ dig example.local. @172.31.0.2 ### dig to @172.31.0.2 AmazonProvidedDNS / Route 53 Resolver ###
; <<>> DiG 9.18.1-1ubuntu1.1-Ubuntu <<>> example.local. @172.31.0.2
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29352 ### status: NOERROR ###
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;example.local. IN A
;; ANSWER SECTION:
example.local. 300 IN A 192.0.2.1
;; Query time: 4 msec
;; SERVER: 172.31.0.2#53(172.31.0.2) (UDP) ### 172.31.0.2 is AmazonProvidedDNS / Route 53 Resolver ###
;; WHEN: Thu Jun 30 12:34:56 UTC 2022
;; MSG SIZE rcvd: 58
Resolución
Para resolver un nombre de dominio con el sufijo “.local”, utilice el resolutor externo en lugar del agente de escucha de código auxiliar de DNS local.
Nota: Se recomienda evitar el uso del sufijo “.local” en el nombre de dominio porque RFC 6762 reserva este nombre de dominio para el uso exclusivo de DNS de multidifusión.
1. Cambie el resolutor de DNS del agente de escucha de código auxiliar de DNS local a un resolutor de DNS externo (AmazonProvidedDNS).
cd /etc/
sudo ln -sf ../run/systemd/resolve/resolv.conf
2. Cambie .conf para detener el agente de escucha de código auxiliar de DNS local.
cd /etc/systemd/
sudo cp -ip resolved.conf resolved.conf.org
sudo sed -i -e 's/#DNSStubListener=yes/DNSStubListener=no/' resolved.conf
3. Reinicie systemd-resolved.
sudo systemctl restart systemd-resolved
Información relacionada
Prácticas recomendadas para el DNS de Amazon Route 53
¿Cómo puedo solucionar problemas de resolución de DNS con mi zona alojada privada Route 53?