-
-
Notifications
You must be signed in to change notification settings - Fork 201
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
[v6] Resolving of opendns family shield umbrella page not working #2175
Comments
Yes, this is expected because the Umbrella page is a known block page. The detection of upstream IP blocking has been introduced six years ago in #372. It should be part of Pi-hole since v4.1. It seem the mere "detection" has evolved to a more active "local blocking" at some point during development of Pi-hole v6. Anyway ... There are now two things I could see us doing to fix this for you:
I am pretty sure you'd want no. 2 but please sit back and think about it once more, I will do the same. I am not even sure what the default setting for such an option should be. There are good arguments for both defaulting to blocking and defaulting to just pass the IP along. edit This is re responsible change in v6: #2030 |
Having thought about it, I think we need to make an exception here as this unintended change in behavior is probably not unwanted and has actually been added without checking for this side-effect of suppressing upstream-provided blocking pages. Either we stop caching replies with a known blocking IP address or we store it in the cache and serve it from there to achieve the original purpose. But then we need to (considerably) enlarge the DNS blocking cache from currently 40 bytes to then 56 bytes (i.e., + 40%, numbers measured on |
I only can tell, what I think about it, but I have no clue what the best solution is.
I tried to establish suggestion (1.), but it did not really do, what I hoped. Seems, that I get the correct IP now (tested with nslookup), but in the browser I do not get redirected to the umbrella page. I dont think, that its a good solution to send any blocked domain to the umbrella page, because I am totally fine that pi-hole is blocking requests with 0.0.0.0. It just would be nice, if OpenDNS Family shield is working similar in v6 as it did in v5. |
Maybe now I understand, what you mean. To also store IP addresses (that the upstream gave as answer), this cache needs to get extended by at least 16 bytes to store the IP address (guess: 1 flag + IPv4 address). Then pihole would know, that it got blocked, but also has an IP to forward the request (maybe if wanted so by the user). Defenitely sounds like a way, I would like. What comes to my mind here:
|
Over night, it became more and more apparent that this a plain regression of #2030 and needs to be fixed. No settings no whatsoever. I fixed this with a simple change: preventing FTL to short-circuit the blocked query. Usually, locally blocked queries get a reply with the locally defined blocking mode. However, the "blocked externally with an IP address" is a special case where we exactly don't want this but, instead, want the upstream response go downstream to the client because this is already blocked. The change is in #2176. It is actually very simple and the larger part of this change goes into our tests which now check for the new behavior. Bottom line 1: The cache does not need to get touched, we can still cache the response in a second layer of DNS cache we already have for this case. Bottom line 2: I moved this issue into the correct repository. |
The fix has been merged into the beta code. Please update and test! |
Thank you! Will do so in the evening. |
I am using the docker-image pihole/pihole:development. Is there a docker-image in place already, containing that fix? |
|
Do not use If you want the image with the most recent versions of Pi-hole Core, FTL and the Web Interface, please use
I think the current Note: You can also clone the docker-pi-hole repository and create your own local image with the most recent updates running |
Built the image myself and tested it. What I noticed while checking: Is this a known issue, or should that work? If it should, maybe I can observe it and raise another ticket, when I have more information. |
I'm not sure if I understood your comment. Do you see all queries in This seems a completely different issue. |
@urmet0 I will close this issue ticket as the original problem was solved. If you still have any other issue (seems so), please open a new ticket for appropriate tracking. @rdwebdesign already had a question you could answer in a new ticket, too. And as always - some screenshots may be helpful for us to "see" the issue. |
Versions
Core
Version is 4902c70 (Latest: null)
Branch is development
Hash is 4902c700 (Latest: e682f69a)
Web
Version is 603f35d (Latest: null)
Branch is development
Hash is 603f35d5 (Latest: fb368323)
FTL
Version is vDev-f2c82da (Latest: null)
Branch is development
Hash is f2c82da (Latest: 80ef20e)
Platform
Expected behavior
Using OpenDNS family shield upstream dns with pihole v6 should redirect you to cisco umbrella page (like pihole v5) did.
Set up these upstream DNS servers (=opendns family shield dns):
208.67.222.123
208.67.220.123
When opendns (upstream) is blocking a request, it sends you to its cisco umbrella page.
You can test that (having the mentioned DNS servers set up) by opening this test-url: http://www.internetbadguys.com/
Expected is, that you get redirected to a page like that:
https://phish.opendns.com/main?url=www.internetbadguys.com&server=ams1&prefs=&tagging=&nref
With Pihole v5 this works.
Actual behavior / bug
When I try this with pihole v6, it does not work any more.
A nslookup shows the different answers of 2 different pihole (v5 vs v6).
Pihole v5 answers with the address of the umbrella-page (146.112.61.108) and pihole v6 answers with 0.0.0.0.
No matter what option I change in pihole configuration, it did not change this behavior.
1) Pihole V5
nslookup www.internetbadguys.com
Server: 192.168.1.2
Address: 192.168.1.2#53
Non-authoritative answer:
Name: www.internetbadguys.com
Address: 146.112.61.108
2) Pihole V6
nslookup www.internetbadguys.com 192.168.1.3
Server: 192.168.1.3
Address: 192.168.1.3#53
Name: www.internetbadguys.com
Address: 0.0.0.0
Steps to reproduce
Steps to reproduce the behavior:
Debug Token
Screenshots
Additional context
The text was updated successfully, but these errors were encountered: