Pi-hole v6 – DNS queries received but pages fail to load (Fios G3100, rate limiting issues)

Hi all,

I’m running Pi-hole v6.5 on a Raspberry Pi (192.168.1.222, wlan0) with a Verizon Fios G3100 router (192.168.1.1). I’ve been troubleshooting a Pi-hole setup on my home network and believe I have narrowed things down significantly, but I’m still running into inconsistent behavior where DNS queries appear to succeed, yet most webpages fail to load. I say most because seemingly at random, some do load.

Setup

  • Topology: Devices → Router → Pi-hole → Internet
  • Clients are using the router as DNS (192.168.1.1), which forwards to Pi-hole
  • in the Fios router settings, I have the pihole assigned to a static ip and DNS 1 set to 192.168.1.222 (the pihole's ip) and DNS 2 set to 0.0.0.0. It only works reliably if DNS 2 is set to something like 1.1.1.1 presumably because it's able to bypass the pihole.

Issue

  • Pi-hole receives queries (visible in Query Log)
  • DNS resolution works (nslookup returns valid IPs)
  • However, webpages intermittently fail to load

Key Findings

1. Rate limiting

From FTL.log:

Rate-limiting 192.168.1.1
Still rate-limiting ... additional 1274 queries

The router appears as a single client and was being rate-limited.

2. Disabled rate limiting

pihole-FTL --config dns.rateLimit.count 0
pihole-FTL --config dns.rateLimit.interval 0
sudo systemctl restart pihole-FTL

After this:

  • DNS resolution works
  • nslookup google.com 192.168.1.222 succeeds

3. Current behavior

  • Queries show in Pi-hole
  • Responses are valid
  • Browsing still unreliable

4. Client behavior

From Windows:

Server: 192.168.1.1

Clients are still using the router as DNS.
Previously also had secondary DNS set to 1.1.1.1.


Pi-hole config (relevant)

interface = "wlan0"
listeningMode = "ALL"
dns.rateLimit.count = 0
dns.rateLimit.interval = 0
dns.blocking.active = false (for testing)

Pi-hole Diagnosis

DNSMASQ I only noticed once, but the Connection Error I saw frequently

DNSMASQ_WARN `dnsmasq` warning: Maximum number of concurrent DNS queries reached (max: 150)
CONNECTION_ERROR Connection error (**1.1.1.1#53**): TCP connection failed while receiving payload length from upstream (**Resource temporarily unavailable**)

Tests

On Pi:

dig @8.8.8.8 google.com → works
dig @127.0.0.1 google.com → works

From client:

nslookup google.com 192.168.1.222 → works

Question

Given that:

  • DNS resolution via Pi-hole works
  • Queries are visible in logs
  • Browsing still fails intermittently

Is this likely caused by the Fios router acting as a DNS forwarder (caching, fallback, or mixed DNS behavior)?

Would the recommended fix be:

  • bypassing the router entirely (Pi-hole DHCP), or
  • is there a stable way to keep the router in the chain?

Any insight into why DNS appears correct but page loads fail would be helpful.

From the same client, did you try nslookup google.com (without the IP)? Please post the output.

Also, please upload a debug log and post just the token URL that is generated after the log is uploaded by running the following command from the Pi-hole host terminal:

sudo pihole -d

Hey, thank you for the reply.

I tried nslookup google on the pihole as well as a computer on the network:

admin@pihole:~ $ nslookup google.com
Server:         1.1.1.1
Address:        1.1.1.1#53

Non-authoritative answer:
Name:   google.com
Address: 142.251.179.102
Name:   google.com
Address: 142.251.179.100
Name:   google.com
Address: 142.251.179.138
Name:   google.com
Address: 142.251.179.113
Name:   google.com
Address: 142.251.179.139
Name:   google.com
Address: 142.251.179.101
Name:   google.com
Address: 2607:f8b0:4004:c07::71
Name:   google.com
Address: 2607:f8b0:4004:c07::8b
Name:   google.com
Address: 2607:f8b0:4004:c07::64
Name:   google.com
Address: 2607:f8b0:4004:c07::66
C:\Users\me>nslookup google.com
Server:  G3100.mynetworksettings.com
Address:  192.168.1.1

Non-authoritative answer:
Name:    google.com
Addresses:  2607:f8b0:4004:c07::8b
          2607:f8b0:4004:c07::64
          2607:f8b0:4004:c07::66
          2607:f8b0:4004:c07::71
          142.251.179.100
          142.251.179.138
          142.251.179.113
          142.251.179.139
          142.251.179.101
          142.251.179.102

here is the token url:
https://tricorder.pi-hole.net/5jlDjelN/

Depending where exactly on the router you configured DNS settings (WAN/Internet or LAN), you most likely created/closed a DNS loop where queries originating from the router are forwarded to the router itself.
This goes on endlessly until rate limiting kicks in or resources are depleted (#concurrent connections, RAM, storage).

Preferred is to advertise the Pi-hole IP as the sole DNS server in the LAN side DHCP service settings on the router.
And leave the WAN/Internet DNS settings on factory defaults.
Some router examples below in the "Router setup" section on the left:

On the Pi, you can run below to see which DNS server(s) are advertised on your LAN via IPv4 DHCP or IPv6 RA (Router Advertisement) and by whom:

sudo pihole-FTL dhcp-discover

Or grep for them:

sudo pihole-FTL dhcp-discover | grep 'dns-server\|Recursive DNS server'

Dont post unredacted output for above ones here for privacy!