Actual Behaviour:
Currently I am seeing that any device in my network will experience a really slow load of a website or sometimes even be unable to load a site or service which breaks the expected user experience.
I suspect this has something to do with the blocking behaviour which is discussed here: Why do some sites take forever to load when using Pi-hole? (for versions < v4.0) - #33 by stevejenkins
However I was unsuccessful in configuring the premade docker container in such a way that enabling those mentioned rules would have any effect. I just used a terminal connection into the container, set up iptables and iptables-persistent and wrote out those rules and they seemed to have done nothing to alleviate the issue.
Examples:
- Half the time simply googling something in the browser address bar will set the loading in motion for anywhere from 15s to a few minutes until Google's search page either loads or times out.
- Sites like Reddit, Stack Overflow, Medium, Hacker News, Atlassian services and many others are slow to load or break on load.
- Streaming services such as YouTube (even with s.youtube.com whitelisted), Channel 4, Disney+, Netflix, Discovery+ and others experience weird behaviour where ad rolls could play once, start loading content of the show and error out and load a new roll of ads and then play content normally. Sometimes they just won't play ads OR content at all.
- Youtube sometimes wont load history or wont play content even with YouTube premium sub.
A lot of other sites and services my family uses become inaccessible or break. That is to say, I can somehow see this failure pattern, reboot the container and for a very brief time see a remission in failures and then it is back to being awful.
Expected Behaviour:
I would expect DNS blocks on ad domains to somehow notify the calling client with some form of reset/block consistently enough such that it does not sit there waiting to time out and make it seem like the home network is FUBAR.
Setup at home:
TalkTalk ISP, Sagemcom FAST 5364 AC1200 (the only one online resembling mine, but could be a diff model iteration).
- Router is set to handle DHCP as per defaults
- Router uses my rig as DNS at address 192.168.1.10 (static IP)
- My rig runs docker and pihole container with the following yaml config for compose:
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
ports:
- "53:53/tcp"
- "53:53/udp"
- "80:80/tcp"
environment:
TZ: 'Europe/London'
WEBPASSWORD: '<REDACTED>'
volumes:
- './etc-pihole:/etc/pihole'
- './etc-dnsmasq.d:/etc/dnsmasq.d'
cap_add:
- NET_ADMIN
- NET_RAW
restart: unless-stopped
network_mode: 'bridge' # (Host does not make it accessible via web at all)
- With the current set up - any device connected to my wifi or via wire should by default use pihole with 0 setup being needed.
- DNS servers in use for upstream (only ipv4 since no device I know of in my network uses ipv6 and my router does not have ipv6 settings exposed in any menu):
- OpenDNS (ECS, DNSSEC)
- Quad9 (filtered, DNSSEC)
- Quad9 (unfiltered, no DNSSEC)
- Cloudflare (DNSSEC)
Now before you say "that's a lot of DNS to use" -- I used them all individually at first, and when nothing helped, I enabled them all at once as a group and the speed/slowdowns did not get worse or better..
Happy to provide more info..