-
-
Notifications
You must be signed in to change notification settings - Fork 197
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
Dynamic-Host on dnsmasq is broken #1531
Comments
I'm not intimate enough with FTL/dnsmasq's inner workings to know what has changed here, but just for information - if you are saying this last worked in 2022.10, then the change would have happened from 2022.11 onwards. @DL6ER - that included #1469, not sure if that is a helpful place to start looking |
Here are my current results on the most recent FTL release (which should be broken): Configuration in
With this, I get locally on
With this, I get locally on
With this, I get remotely (from a different country, even) on
This is looking perfectly fine to me so this might rather be a Two final remarks:
|
Thanks for the fast response!
The container with the Pi-hole is running under Edit:
|
The issue is the interface configuration: Mind the
saying: This network contains exactly one address. Compare to the other interfaces on your system, e.g. This has indeed been changed four months ago and FTL v5.19 is indeed the first affected by this. The prior behavior (accepting networks which contain only a single address) was fixed by Simon Kelley, the original creator and maintainer of the
The interface configuration of your |
Indeed it makes sense to skip interfaces that say there is only that device in the network, and nothing else behind that interface. Still, on the example that I have, the IPv6 address |
Why? Your config specifies only an IPv4 address (= A RR), why should |
Found the cause of the issue! From the tailscale side, they indicate dnsmasq is in the wrong, since single-host address should be expected to still be able to route traffic to other hosts. Can this behavior of dnsmasq be reversed or option to disable it added with some flag? |
That would be addressed with Simon et al at https://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss |
They say that They say
we can clearly see that |
Is behaving the way is documented, not necessarily the way it should.
Is there any way to define host-records that resolve in a IP different IP depending on the interface where the query is received? |
Pi-hole localizes replies by default ( Assume you have four devices on your Pi-hole:
and you specify in
Then your Pi-hole will always respond with the most appropriate address whenever this is possible and
I'm aware that - while this is the answer to your particular question - it is still not exactly what you want as your/their interpretation of "depending on the interface a query is received" is not like the generally accepted "within the interface's subnet" but rather "any address the interface has a route to". Don't get me wrong, I can see a justification for the latter but it is just not how things typically work and a lot harder to code. Take, for instance, I do see that doing this not by looking at the subnet but at all the routes attached to an interface could be equivalent, but it is much more effort to code it like this and a lot more work at run-time as "does this match any route defined for any interface" is more than "does it fit the subnet bitmask for this interface". Routes either have to be queried at run-time and then updated frequently as peers come and go or we risk missing peers. TL;DR: Sorry for the long text but I want to make it very clear why I say |
There is actually a discussion about this going on on the |
A change has been made upstream in the You can change to the bleeding-edge
Please make sure to go back to
after the next release to ensure you are back in sync with the releases. You could also stay on the branch but please be aware that things may break here as it follows If you are running Pi-hole in a
instead. |
The next version of FTL has been released. Please update and run
to get back on-track. The fix/feature branch you switched to will not receive any further updates. Thanks for helping us to make Pi-hole better for us all! If you have any issues, please either reopen this ticket or (preferably) create a new ticket describing the issues in further detail and only reference this ticket. This will help us to help you best. |
Versions
The latest working version was:
After that version (in particular the current marked in docker as "latest") has this issue.
Platform
Expected behavior
When configure a custom dynamic-host in
pihole-config-folder/dnsmasq/99-dynamic-hosts.conf
the queries should reply with the IP configured in that config.Example config:
Which should translate any query to
mydomain.com
coming from tailscale0 to be answer with100.64.0.1
.That it the behavior in the version mentioned above.
This was tested in a external device, connected via the interface tailscale0 and made the request:
Actual behavior / bug
In latest version, the configured dynamic-host gets answer as:
The text was updated successfully, but these errors were encountered: