-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
systemd-resolved is very slow when DNS servers do not reply to ipv6 lookups #1737
Comments
I'm not seeing a repro here, so we may need to debug this on the specific seteup(s) where you see the problem. I assume from the logs above that you've cranked the log level for systemd-resolved up to debug (this is fine).
For comparison, my resolvectl status looks like this:
And the lookup for the FQDN in question results in the following log lines:
Could you add your resolvectl status output and ideally your unredacted capture of the systemd-resolved journal entries corresponding to the slow lookup to this issue? My guess is that it's something about the response that the DNS server is (or isn't) giving for the AAAA lookup that's trupping resolved up, but we'll need to figure out exactly what that is to make resolved work around it. |
Ah, found your resolvctl status in the steam issue, recording here:
|
Glad to help; I'm on the same network for a couple more hours so I can hopefully get the rest of the info you need. The only change I've made to configuration was the debug level, after trying to dig into this issue via systemd repo issue reports. I'm not seeing any NODATA entries in either of my logs. I've attached full resolved log for a |
Thanks, we'll have a look at this and see if we can figure out what's going on. FWIW we've tried on a bunch of networks so far and we don't have a repro (other than yours) yet so this is really useful. |
Yeah, I don't think I have this issue on my home network, but I'm seeing it while out of town for the holidays. I was assuming it was an ISP or network configuration issue, but https://test-ipv6.com/ reports a perfect score and that brings me to the threshold of my IPv6 knowledge/capabilities. Let me know if you need any other metadata in the next hour and I can get it for you. |
Ok. I don't think I need any more info. Might take a little while to fix or might be quick, depends on whether there's a tunable in the resolved code for this already. Looks like this - when asked for an AAAA record that doesn't exist:
The problem appears to be that resolved is taking a really long time to realise it's been ghosted. Chances are that test-ipv6 et al aren't picking this up because they have no way of knowing your local DNS set up gives you the silent treatment instead of saying "I don't know". |
Upstream issue: |
Yeah, I saw that and also the response from someone of (seemingly some) authority who wants to label it purely a router issue. I think that's a bad take, but doubly so when considering the use of the service on a device intended to be used while traveling where users may have no control over network infrastructure. There are other reports of this same issue for Void Crew specifically in various Steam Discussion threads, and I'm sure other games as well if it was dug into more. Any ideas if there is an easier workaround in the meantime? |
I'll have to do some digging - I'll let you know if I find anything quicker/easier than your current workaround and we'll get this fixed, ideally upstream but for SteamOS at any rate. |
No obvious easy workaround, but I have managed to at least partially repro the problem with some slightly complicated iptables trickery to block the AAAA "don't know" responses so I can actually test possible fixes. |
so I have an issue like this if I add dns servers into /etc/systemd/resolved.conf but only if TLS is enabled otherwise they work normally. adding a DNS via system settings > connections > IPv4/IPV6 works perfectly fine though. idk if this is exactly the same as this issue but felt its worth mentioning. |
Anything TLS related is going to be a separate issue, that would be DNS over TCP and there's a whole other set of constraints, especially if you ask for TLS but the servers don't support it or get it wrong. |
Testing a possible fix internally. Not sure what the ETA wil be or even if it's an acceptable fix at this point, but it does look fixable. |
Your system information
Please describe your issue in as much detail as possible:
On some networks, systemd-resolved is incapable of resolving DNS requests for FQDNs that lack an AAAA DNS record. This causes inconsistent network connectivity, where some games and services may operate perfectly, while others claim that they cannot make necessary connections.
For example, while trying to play Void Crew on the Deck, the following can be observed in systemd-resolved:
This loop continues until the request times out:
A ping of the same FQDN will resolve after 2+ minutes.
This appears to only happen with FQDNs that lack AAAA records.
Disabling systemd-resolved and replacing /etc/resolv.conf with nameserver configuration pointing to the service DNS server address instead of the loopback address fixes this issue. Void crew works, and ping resolves the IP address in <2 seconds.
A longer version of my initial investigation can be found here: https://steamcommunity.com/app/1675200/discussions/1/4629233379372497278/?tscn=1733024973#c4629233379372509830
Steps for reproducing this issue:
The text was updated successfully, but these errors were encountered: