mirror of
https://github.com/hickory-dns/hickory-dns.git
synced 2026-04-25 03:05:51 +03:00
[GH-ISSUE #1868] Trust-DNS does not work in IPv4-only environment #799
Labels
No labels
blocked
breaking-change
bug
bug:critical
bug:tests
cleanup
compliance
compliance
compliance
crate:all
crate:client
crate:native-tls
crate:proto
crate:recursor
crate:resolver
crate:resolver
crate:rustls
crate:server
crate:util
dependencies
docs
duplicate
easy
easy
enhance
enhance
enhance
feature:dns-over-https
feature:dns-over-quic
feature:dns-over-tls
feature:dnsssec
feature:global_lb
feature:mdns
feature:tsig
features:edns
has workaround
ops
perf
platform:WASM
platform:android
platform:fuchsia
platform:linux
platform:macos
platform:windows
pull-request
question
test
tools
tools
trust
unclear
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/hickory-dns#799
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @msrd0 on GitHub (Dec 28, 2022).
Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/1868
Describe the bug
Whenever I connect to my parent's WiFi, trust-dns stops working, and I do not get any DNS resolving at all. My parents have a very old legacy internet connection that only has an IPv4 address. I'm using the same configuration that I use in other networks, so naturally I have both IPv4 and IPv6 addresses to forward to. If I remove those IPv6 addresses (first two name_servers) from the config, trust-dns works fine.
To Reproduce
/etc/named.tomlnamed.servicevia systemdExpected behavior
I get a response rather than a network error.
System:
Version:
Crate: trust-dns
Version: 0.22.0
Additional context
Trust-dns does not indicate any errors in its log:
@djc commented on GitHub (Dec 30, 2022):
Do you want to try with current main? I wonder if the changes from #1861 help with this.
@msrd0 commented on GitHub (Dec 31, 2022):
Yes, it works on main. However, the startup delay (I assume that's the time it takes trust-dns to figure out that the IPv6 entries are unavailable) is pretty long (like half a minute to a minute or so).
Also interestingly both versions, main and latest release, work when I connect via USB2Ethernet. I wonder what the difference is, as both wired and wifi connections have an IPv4, IPv6 and link-local IPv6 address (IPv6 can be used to connect to other devices in the same network, but the router only has IPv4 access to the internet).
When I try ping with an IPv6 address, I get an instant failure, so I think it should be possible to immediately fail the IPv6 entries (The reply comes from the IPv6 address of the router):
Update: When I'm only connected to wifi, the first few ping packets get lost, and only at about packet 9 the router starts replying with No route. That's probably the difference.
@bluejekyll commented on GitHub (Jan 2, 2023):
Choosing routable interfaces could probably be better than we are doing today. I know we have issues in a few locations related to that. IPv6 happens to generally have many more interfaces available, which creates a general problem there. I'm open to suggestions on how to improve the way the code functions today. It's definitely something that needs to be revisited for mDNS as well.