iCloud Private Relay Intercepts Requests to Your DNS Server

I’ve had a problem for almost a month now where:

  • a certain advertisement-related domain is blocked (on purpose) on my local DNS server (pi-hole)
  • despite repeated attempts to clear my DNS cache, the domain kept returning results when pinging it, or using Safari to browse to it

I had a chance today to think about why this is happening and fix it. My troubleshooting process:

  • When I browsed on my phone, no ads showed up, as desired.
  • When I browsed on my Windows PC, no ads showed up. Pinging the ad domain returned 0.0.0.0, as expected.
  • When I browsed on my Mac’s primary user profile, the unwanted ads appeared. 😕 Pinging returned the actual address of the ad domain.
  • When I browsed on a secondary Mac user profile without being logged into iCloud, the the ads didn’t show and ping returned 0.0.0.0.

So it had to be a problem with iCloud. Time to open iCloud settings!

Somehow, iCloud Private Relay had been turned on!

I tried pausing it with the “Turn Off Until Tomorrow” button, then cleared my DNS cache, and it worked! Pinging the unwanted ad domain now returned 0.0.0.0.

I then turned iCloud Private Relay completely off. Success! No more unwanted ads.

I wish there was a way to turn on iCloud Private Relay while keeping DNS the same. This would reduce privacy in some cases, but I think it would be worth it in situations like these.

Leave a comment