−25%

on annual Windows plans, until 31 Oct. See plans

EQVPS
Get started

Self-host Pi-hole on a VPS: network-wide ad blocking over WireGuard

Sep 3, 2026 · 2 min read · EQVPS Team

Ad and tracker blocking at the DNS level is the single highest-leverage privacy win — it kills ads in apps, smart TVs and browsers alike. A home Pi-hole only covers your couch. Put it on a VPS behind WireGuard and every device gets filtered DNS everywhere — mobile data, hotel Wi-Fi, on the road. Set it up with Docker and pay for the server in crypto, no KYC.

What this needs

  • A dedicated IPv4 for the WireGuard endpoint — clients connect to an inbound UDP port, which NAT plans don't provide. Nano-IP or Small-IP is plenty.
  • WireGuard as the transport. Pi-hole answers DNS only on the tunnel interface; the public DNS port stays closed. This pairs directly with our WireGuard guide (linked below).
  • Barely any RAM/CPU. Pi-hole is light even with many devices and large blocklists.

Set it up (Ubuntu 24.04, Docker)

First stand up WireGuard (see the guide below), then run Pi-hole bound to the tunnel IP:

# docker-compose.yml — Pi-hole. Bind DNS to the WireGuard interface, NEVER the public
# internet (an open DNS resolver gets abused for amplification attacks).
services:
  pihole:
    image: pihole/pihole:latest
    restart: unless-stopped
    environment:
      TZ: "UTC"
      FTLCONF_webserver_api_password: "change-me-strong"
    volumes:
      - "/srv/pihole/etc:/etc/pihole"
      - "/srv/pihole/dnsmasq.d:/etc/dnsmasq.d"
    ports:
      - "10.8.0.1:53:53/tcp"    # WireGuard IP only — not 0.0.0.0
      - "10.8.0.1:53:53/udp"
      - "127.0.0.1:8080:80"     # admin UI over localhost / SSH tunnel

Lock the firewall so DNS never faces the internet:

# Firewall: allow WireGuard (UDP 51820) in; keep DNS (53) OFF the public interface.
ufw allow 51820/udp
ufw deny 53
# Point each WireGuard client's DNS at 10.8.0.1 — Pi-hole now filters all their traffic.

Point each WireGuard peer's DNS at 10.8.0.1 and your whole device fleet is now ad-free, wherever it is.

Make it yours

  • Blocklists you choose — curate what's filtered; add allowlists per domain.
  • Per-client stats and query logs, visible in the admin UI (reach it over the tunnel or an SSH port-forward).
  • DoH/DoT upstream for encrypted resolution beyond your server.
  • Never expose port 53 publicly — the config above binds DNS to the WireGuard IP only.

Why EQVPS for Pi-hole + WireGuard

  • Dedicated IPv4 from $8/mo, all ports (incl. UDP), self-service rDNS.
  • EU locations (Germany, Finland) — clean routes, real data-protection law.
  • No KYC, crypto payment. Email to register, USDC/USDT to pay — fitting for a privacy tool.
  • Root in ~60 seconds, NVMe. Bring up WireGuard + Pi-hole and your devices are filtered anywhere.

Self-host WireGuard VPN first → · Anonymous VPS hosting explained →

FAQ

Why run Pi-hole on a VPS instead of at home?

A home Pi-hole only protects your home network. On a VPS behind WireGuard, your phone and laptop get ad and tracker blocking everywhere — on mobile data, on café Wi-Fi, travelling — because their DNS is answered by your Pi-hole through the tunnel. You control the blocklists and can pay for the server in crypto without ID.

Should I expose Pi-hole's DNS to the public internet?

No — never. An open DNS resolver gets abused for amplification attacks and will get your server flagged. Run Pi-hole so it only answers on the WireGuard interface (as in the config below): your devices reach it through the encrypted tunnel, the public port 53 stays closed.

What plan and resources does Pi-hole need?

Pi-hole is tiny — a Nano-IP or Small-IP (dedicated IPv4) is plenty, because WireGuard needs an inbound UDP port and a stable IP. CPU and RAM demands are minimal even for many devices.

Do I need a dedicated IP?

A dedicated IP is the clean setup: WireGuard listens on an inbound UDP port that your clients connect to. Our NAT plans don't accept inbound, so choose a dedicated-IPv4 plan for the tunnel endpoint.

Do you ask for ID or a card?

No. Register with an email, pay in USDC or USDT. No documents, no card, no KYC.

Comments

No comments yet. Be the first.

Leave a comment

Comments are moderated before they appear.