-
-
Notifications
You must be signed in to change notification settings - Fork 208
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
Non-FQDN resolving/conditional forwarding doesn't work properly with two search domains configured #2085
Comments
This issue is stale because it has been open 30 days with no activity. Please comment or update this issue or it will be closed in 5 days. |
Do you see the same behaviour if you set the blocking mode to |
When I change the blocking mode to
|
Thanks for the update. @DL6ER any thoughts here? |
@kaechele This is not necessarily a setup I can easily reproduce here but let me start with asking if is this still an issue with the most recent If it still exists with your previous configuration (which may be the case), please run
and try again the |
I'm pretty sure the culprit is this: Lines 2617 to 2626 in 61a211f
ContextI reverted Query Log for host1 (non-FQDN)
My read of what's happening here:
In this case the upstream server behaves correctly, because it doesn't have an entry for this host but it also cannot do recursion. It also doesn't need to, because it is authoritative for This is what the query looks like towards
I believe the root cause here is that PiHole needs to only consider a domain blocked upstream if both the For comparison, here is a response from
No |
Thank you, this is about what I was assuming. Also thank you very much for the proposed fix already :-) I will review/verify this after returning from work today (it's still earlyish morning on this side of the planet) |
Bugfix has been merged |
Versions
Platform
Expected behavior
When two search domains are configured on a client and more than one conditional forwarder is configured in Pi-Hole, Pi-Hole should respond
NXDOMAIN
for those domains instead of blocking them asBlocked (external, NXRA)
and responding0.0.0.0
/::
. Not responding withNXDOMAIN
will result in the client not attempting to resolve the non-FQDN hostname using the second configured search domain.Actual behavior / bug
Pihole responds
A 0.0.0.0
/AAAA ::
to the non-FQDN query forhost1
:Therefor the client never tries to resolve
host1.domain2.lan
, which would trigger conditional forwarding to the other internal DNS server that has a valid entry forhost1.domain2.lan
that satisfies this request.Steps to reproduce
Scenario:
The client has the following DNS settings:
Configuration for Pi-Hole under Settings -> DNS -> Conditional Forwarding
Steps to reproduce the behavior:
host1
host1.domain1.lan
due to the search domain setting ofdomain1.lan domain2.lan
host1.domain1.lan
10.0.0.10
) that receives this request due to conditional forwarding does not have a valid RRSet for this domainNXDOMAIN
from10.0.0.10
and decides to block the request as it doesn't allow this request to be forwarded to the internetA 0.0.0.0
/AAAA ::
response from Pi-Hole and is satisfied. Had it received anNXDOMAIN
response it would have tried queryinghost1.domain2.lan
, which would have yielded the desired response.Debug Token
The text was updated successfully, but these errors were encountered: