Hello everyone,
I've had a pi-hole + proxy setup running correctly for most of 2023. 2 nights ago, it started to act up.
My network setup runs along the lines of:
- Asus router running DHCP and with WAN connection
- Pihole on RPI (not sure if 3 or 4), connected to the main router
- Gigabyte router on second division, acting as AP
- Unraid server connected to second router, and running an NGINX Proxy Manager as a transparent proxy
A normal request on my browser for a network-name (unraid.rabbit, for example) will go:
router -> pi-hole -> NPM -> ip:port
Up until now, things have run mostly well, with just a small drop here and there, it took me quite a bit to get the whole thing running as I wanted, but I was able to, and for quite a few months, it was stable as hell.
Then, maybe 2 nights ago, there was a power outage during the night, and things started to act up. Right now, after I reinstalled through the "pihole -r" command, and afterward selecting the "wait for network to start" option, I was able to get my eth0 to get the IP address correctly at startup.
However, not all is smooth. After some time with low volume, or idling, connectivity to Pihole dies. I get constant "connection refused" errors whenever I try to access the web UI /admin (through IP, pi.hole, or my network name translation). SSH also refuses to connect through any means.
Name translation happens in an unstable way too on the rest of the network. I can barely use unraid to search for updates on its docker machines, with warnings that the lists couldn't be retrieved, due to name translation failure.
I've noticed that if I wait several minutes (5-10?), eventually connectivity seems to be re-established.
Expected Behaviour:
Name translation and network connection to remain stable throughout the day. Access to the web page and SSH to be available at all times.
Actual Behaviour:
After some minutes of low volume/idling, whenever I try to access the Pihole remotely, or do name translations, it completely stops working with "connection refused" errors when accessing its UI or through SSH. Name translation to the outside seems a bit more stable, although it fails sometimes.
Workaround:
Currently, if I go directly to my RPI, and do a ping to the network devices, normal behavior resumes, until a new "timeout" of sorts happens again. Whenever I try to ping my unraid server, or my desktop, it takes up to 10s to start pinging, but when it does, it has very low latency, and this is what causes normal behavior to resume.
This kinda seems to be related to something between connectivity, or loss of some information on the networking part?