Hacker News new | ask | show | jobs
by buffrr 1865 days ago
> Are you sure of that?

I checked an archive of root zone data from June 1999 to May 2021[0], and there don't seem to be A records for any TLD. Not sure why you're having this issue, but I'm curious to know which Linux distro/software doesn't resolve ai.

[0] http://stats.research.icann.org/root-zone/data/root-zone-arc...

1 comments

It looks like it's systemd-resolve. I just checked on several machines and, when using nslookup to query the recursive nameserver that systemd-resolve is forwarding to, the ai A record does resolve, while when using systemd-resolve itself, or the local instance on 127.0.0.53 configured via /etc/resolv.conf, it returns a failure every time.

I'll have to look into this some more.

Edit: I think I found it! From systemd-resolved.service(8):

       ·   Single-label names are routed to all local interfaces capable of IP
           multicasting, using the LLMNR protocol. Lookups for IPv4 addresses
           are only sent via LLMNR on IPv4, and lookups for IPv6 addresses are
           only sent via LLMNR on IPv6. Lookups for the locally configured
           host name and the "_gateway" host name are never routed to LLMNR.

       ·   Multi-label names are routed to all local interfaces that have a
           DNS server configured, plus the globally configured DNS server if
           there is one. Address lookups from the link-local address range are
           never routed to DNS.
So, systemd-resolved.service appears to treat single-label names inherently differently from multi-label names when doing a DNS lookup. (LLMNR is https://en.wikipedia.org/wiki/Link-Local_Multicast_Name_Reso..., which is ... not exactly DNS.)

Presumably ai is the only name on the Internet concretely impacted by this behavior. :-(