Self-hosted, network-wide ad and tracker blocking DNS server built with AdGuard Home, deployed on a free-tier cloud VM. No browser extensions. No per-device setup. Ads and trackers get blocked at the DNS level, before they ever load — across every device on the network.
Goal: Deploy a self-hosted DNS server that blocks ads/trackers network-wide.
Why: Learn cloud infrastructure, Linux service management, firewall configuration, and DNS-level security — practical building blocks for cybersecurity work — while also getting rid of ads on every device at home.
Tech Stack:
- Cloud Provider: Scaleway (Stardust free-tier VM)
- OS: Ubuntu 26.04 LTS
- Software: AdGuard Home
- Tools: SSH, UFW Firewall, Scaleway Security Groups
Provisioned a free-tier Stardust VM on Scaleway (1 vCPU, 1 GB RAM, Ubuntu 26.04) and connected via SSH.
Installed AdGuard Home and set it up as a systemd service so it runs persistently and restarts automatically. Verified it was live and healthy with systemctl status.
sudo systemctl status AdGuardHomeLocked down the server so only the necessary ports were exposed — SSH, DNS, and the admin panel — using UFW, layered with Scaleway's cloud-level security groups for defense in depth.
sudo ufw allow 22/tcp
sudo ufw allow 53/tcp
sudo ufw allow 53/udp
sudo ufw allow 3000/tcp
sudo ufw enablePointed device DNS settings to the VM's IP address (you could also point your own router settings if your router allows manual configuring/modifying DNS settings) so filtering applies automatically across the network — no extensions or per-browser configuration needed.
Tested the setup against adblock-tester.com to confirm ads, trackers, and analytics scripts were actually being blocked in practice.
Result: 89/100
| Skill | What I Learned |
|---|---|
| Cloud Computing | Provisioned and managed a free-tier VM on Scaleway; handled SSH access, public IP, and security groups |
| Linux Administration | Managed AdGuard Home as a systemd service; verified service health via systemctl |
| Firewall Configuration | Wrote UFW rules to expose only required ports; layered with cloud security groups |
| DNS Security | Configured AdGuard Home as a network-wide DNS-level ad/tracker blocker |
| Verification & Testing | Used adblock-tester.com to empirically validate blocking effectiveness (89/100) |
- Before: Ads and trackers loading on every device — phone, laptop, smart TV.
- After: Network-wide blocking verified via adblock-tester.com, scoring 89/100.
- Cost: ~$6 a month.
Sancheet Pawar
⭐ If you found this project helpful, please give it a star!






