I realize that AT&T Routers are very terrible if you like to configure networks with customized settings, but that's what I have to work with: an AT&T U-Verse Gateway. I've already made the router's DHCP to give out only a single address to my raspberry pi and set Pi-Hole's DHCP to be active. Several devices are listed within my network on the Pi-Hole web interface, but none of those devices have their ads blocked. I was also hoping to use Pi-Hole's DNS to filter my internet connection, but that also doesn't seem to work.
Expected Behaviour:
[Pi-Hole should be blocking ads through DHCP. Since OpenDNS is my DNS provider within Pi-Hole, I have set up OpenDNS filtering on my network.]
Actual Behaviour:
[Ads are the same. OpenDNS is not blocking any sites.]
First make sure you pi-hole is setup for the DHCP server with a static IP address. Then go into the settings of the RG and turn the DHCP server off. Make sure you use the ip address of the RG as the default gateway on the PI configuration and everything should work.
I suppose I should have specified which gateway I have... I have the Pace 5368AC, which used to let you turn DHCP provisioning off. Long story short, AT&T removed that functionality in a later firmware update.
I should also mention that at one point the ad blocking and internet filtering was functional to a certain extent for a few moments once. The pi-hole ad page still had the amazon ads at the top, however, so I added the easylist to the Pi-Hole's Gravity. It blocked most ads for a couple of minutes after that, but now ads still get through.
Yes if AT&T disabled it in the PACE RG's it's a problem that it difficult to fix without having a second router behind the RG to block the DHCP addresses. Having only one address in the pool assigned to your pi-hole would make sense in how you configured but then you have "competing" DHCP servers one from the pi-hole and the other from AT&T.
One option to think about is set the static address of the pi-hole to the DHCP address that the AT&T RG would give to it. That way the IP is always set and can't be allocated to any other client via DHCP when the discovery part of DHCP requests are made by the clients. This relies on AT&T allowing you to set static DHCP clients on the PACE.
Then enable the DHCP services in the pi-hole to serve up the other clients that would be denied the IP address via the AT&T RG.
One other thing to think about did you disable IPv6 in the AT&T RG. That is a potential leakage point also. I leave IPv6 on for clients but disable it on my RG to reduce the "nightmares" I had in the early days of IPv6 and AT&T.