-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Node scripts often encounter getaddrinfo EAI_AGAIN errors #4119
Comments
@KaKi87, hello. As far as I can tell from the screenshots, you've only specified the DNS server for the router itself so the connected devices are still sending requests to it. In this setup, the router is the source of all requests from the point of view of the AGH. It also increases the path that each request goes through making the whole system less efficient. There are several ways to specify the DNS server's address for devices. Please let us know if that helped or not. Thanks. |
You are absolutely right, but isn't the router setup the only way to force all devices to go through AdGuard Home ? |
@KaKi87, that's right. I'm not really familiar with Node's DNS pipeline, but a after a shallow research I can suppose the AFAIK at least Android TV allows specifying DNS servers during of manual host configuration. However, you'll need a static IP address allocation for the device in this case. Fortunatelly routers usually provide such a feature. AGH's internal DHCP server may also be used for this purpose. |
Oh, maybe I could find a way to increase that timeout, then.
In my current configuration, the router uses
True, although I would like to avoid that. Thanks |
Well, AGH's DHCP also allows specifying DNS servers' addresses, so if it's configured to propagate another secondary server these issues should only affect the DHCP RELEASEs which are usually quite rare events. Anyway, if the router allows specifying DNS addresses propagated by the DHCP lease, I'd recommend to use it instead of AGH's in such kind of unstable set-ups. |
I understand. I'll try it and keep you posted |
So, I tried AGH's DHCP : it works for apps and browsers, as much as router worked ; it displays individual clients, which is nicer for stats ; but it doesn't solve the Node issue. Thanks |
@KaKi87, sorry for a late response. There is a similar issue in the official Node's repository and there also a few possible ways to fix it. In general, you may try to specify different upstream servers for the Node's needs, or even inspect the query log for the topical queries. I'm pretty sure the issue isn't a consequence of some bugs. However, could you please collect a verbose log catching the moment when the issue occurs. You may either send it here or to the devteam@adguard.com. Thanks. |
The issue you linked is related to Node on Docker, which I am not using, and the tutorial link returns 404. Thanks |
@KaKi87, sorry about the link, I've fixed it. There are some common recommendations about the |
So, turns out verbose mode was already enabled. However, absolutely no log entry is created while the issue occurs.
I don't understand 😅 |
Well, do you know exactly, what's requested by the Node script you're using? Firstly, it'd be helpful to determine these domains, then searching the query log for those. This will at least give an exact reason of why aren't they fulfilled. |
No, the script is a Discord bot powered by
Is that it ? Thanks |
Don't be confused between "log" and "query log". The first one is the one you've just send. The second is the AGH's feature, you may find it in top of web interface. As for the log, it provides some useful info:
|
So, I went looking : I found query log entries coming from the Node script's host, and I found query log entries related to Discord, but I did not found any log entry matching both criteria. I think there's something important I forgot to tell you, and I'm sorry if it is, because I didn't realized it could be : the Node script's host, and AdGuard Home's host, are the same.
I did, but it didn't changed anything. Thanks |
I think it'd be reasonable to set the loopback address ( |
Actually, that's what I already did, and that's actually where the issue is from : AdGuard Home is not listening on Switching the DNS server to that adress seem to have solved my issue.
Isn't that what I put in a code block earlier ? Thanks, and sorry for the disturbance. |
Issue Details
0.107.2
install.sh
Expected Behavior
Node scripts running on machines using AdGuard Home as DNS rarely encounter
getaddrinfo EAI_AGAIN
errors just like browsers rarely encounterDNS_PROBE_FINISHED_NXDOMAIN
errors.Actual Behavior
Node scripts running on machines using AdGuard Home as DNS often encounter
getaddrinfo EAI_AGAIN
errors.Screenshots
Screenshot: router DNS configuration
Screenshot: `ifconfig`
Screenshot: setup guide
Screenshot: upstream DNS servers
Screenshot: bootstrap DNS servers
Screenshot: top clients
Additional Information
Additionally to solving this bug, I'm wondering if it would be possible for AdGuard Home to see all clients instead of only the router (cf. last screenshot).
Thanks
The text was updated successfully, but these errors were encountered: