This isn’t an issue (now), but a solution in case someone ran into the same issue’s I’ve just worked through and is searching for the solution.
RPi PiHole - LAN
PC - LAN
Laptop - WAN
Android Mobile - WAN or Cellular
I remoted into my LAN PC and was able to follow the install setup in the RPi PiHole without any issues.
Registered and created a network… all good so far.
But as soon as I tried to join the network on my Android phone it wouldn’t do it.
I’d enter the network code and enter my ZeroTier IP for the PiHole, activate and … nothing.
I installed ZeriTier on the WAN Laptop and it worked perfectly, so I knew PiHole was working (I needed to set the ZT Pihole IP in both ETH0 and ZT network DNS settings)
But I couldn’t figure out why the Android app did nothing.
The long and short of it is that ZeroTier works as a VPN.
On my phone I have NoRoot Firewall (which I use 99.9% of the time) and PIA on there too.
I guessed the ZeroTier app was a VPN, so the first troubleshooting step I did was to make sure neither of the other VPNs were running.
But still no attempted connection to my ZT account.
While the VPN apps were stopped, there is one android setting I needed to change to allow the ZeroTier app to work.
In: Connections | More Connection Settings | VPN
Ensure none of the VPN’s there are set to be “Always-On”
This setting auto-starts that VPN after a boot (and try to restart if the app crashes)
I know that if more than one VPN is set to auto-start then it can cause conflicts, but even although all were manually halted, the setting was preventing ZT from working
I disabled my NoRoot Firewall from “Always-on VPN”, went back to the ZeroTier app and it connected (yay!). The phone showed a pop-up screen to warn that it was setting up a new VPN and that was it. I authenticated the connection and no more ads in my apps
It’s a bit of a hidden setting, but hopefully this will make the solution searchable if someone ends up in the same boat