Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Implement NextDNS as a zero trust DNS filtering layer with encrypted resolution, threat intelligence blocking, privacy protection, and organizational policy enforcement across all endpoints.
.claude/skills/implementing-zero-trust-dns-with-nextdns/SKILL.md| Model | Eval pass | Runs |
|---|---|---|
| gemini-3.6-flashlowest | 88% | 64 |
| gemini-3.1-pro-preview | 100% | 3 |
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | — | — |
| case-14 | ✗→✓ | ▲ Improved | — | — |
| case-12 | ✓→✓ | = Same ✓ | — | — |
| case-09 | ✗→✗ | = Same ✗ | — | — |
| case-02 | ✗→✗ | = Same ✗ | — | — |
NextDNS is a cloud-based DNS resolver that provides encrypted DNS resolution (DNS-over-HTTPS and DNS-over-TLS), real-time threat intelligence blocking, ad and tracker filtering, and granular DNS policy enforcement. In a zero trust architecture, DNS is a critical control point -- every network connection begins with a DNS query, making DNS filtering an effective layer for blocking malicious domains, preventing data exfiltration via DNS tunneling, enforcing acceptable use policies, and gaining visibility into all network communications. NextDNS processes queries using threat intelligence feeds containing millions of malicious domains updated in real-time, blocks cryptojacking and phishing domains, detects DNS rebinding attacks, and supports CNAME cloaking protection. For enterprise environments, Microsoft's Zero Trust DNS (ZTDNS) feature on Windows 11 extends this concept by enforcing that endpoints can only resolve domains through approved protected DNS servers.
Endpoint Device
|
DNS Query (Encrypted)
|
+----+----+
| DoH/DoT | (DNS-over-HTTPS or DNS-over-TLS)
| Tunnel |
+----+----+
|
+----+----+
| NextDNS |
| Resolver |
+----+----+
|
+----+----+------+--------+
| | | |
Threat Ad/Tracker Privacy Parental
Intel Blocklists Controls Controls
Check Check Check Check
| | | |
+----+----+------+--------+
|
ALLOW or BLOCK
|
Response to EndpointDashboard: https://my.nextdns.io
Configuration ID: abc123 (unique per profile)
Endpoints:
DNS-over-HTTPS: https://dns.nextdns.io/abc123
DNS-over-TLS: abc123.dns.nextdns.io
DNS-over-QUIC: quic://abc123.dns.nextdns.io
IPv4: 45.90.28.x, 45.90.30.x (linked to config)
IPv6: 2a07:a8c0::xx, 2a07:a8c1::xxSecurity Tab Configuration:
[x] Threat Intelligence Feeds - Block domains from curated threat feeds
[x] AI-Driven Threat Detection - Machine learning-based detection
[x] Google Safe Browsing - Cross-reference with Google's threat database
[x] Cryptojacking Protection - Block crypto mining domains
[x] DNS Rebinding Protection - Prevent DNS rebinding attacks
[x] IDN Homograph Attacks - Block internationalized domain name attacks
[x] Typosquatting Protection - Block common typosquatting domains
[x] DGA Protection - Block domain generation algorithm domains
[x] NRD (Newly Registered Domains) - Block domains < 30 days old
[x] DDNS (Dynamic DNS) - Block dynamic DNS services
[x] Parked Domains - Block parked/unused domains
[x] CSAM - Block child sexual abuse material domainsPrivacy Tab Configuration:
Blocklists:
[x] NextDNS Ads & Trackers Blocklist
[x] OISD (Full)
[x] EasyPrivacy
[x] AdGuard DNS Filter
Native Tracking Protection:
[x] Block Windows telemetry
[x] Block Apple telemetry
[x] Block Samsung telemetry
[x] Block Xiaomi telemetry
[x] Block Huawei telemetry
[x] Block Roku telemetry
[x] Block Sonos telemetry
[x] Block Disguised Third-Party Trackers (CNAME cloaking)
[x] Allow Affiliate & Tracking Links (optional, for business)Allowlist (domains that bypass all blocking):
- login.microsoftonline.com
- graph.microsoft.com
- *.company.com
Denylist (always blocked regardless of other settings):
- known-malicious-domain.com
- unauthorized-cloud-storage.com
- personal-email-provider.com (if policy requires)bash# Configure DNS-over-TLS with systemd-resolved sudo tee /etc/systemd/resolved.conf << 'EOF' [Resolve] DNS=45.90.28.x#abc123.dns.nextdns.io DNS=45.90.30.x#abc123.dns.nextdns.io DNS=2a07:a8c0::xx#abc123.dns.nextdns.io DNS=2a07:a8c1::xx#abc123.dns.nextdns.io DNSOverTLS=yes Domains=~. EOF sudo systemctl restart systemd-resolved # Verify resolvectl status resolvectl query example.com
bash# Install NextDNS CLI sh -c 'sh -e $(curl -sL https://nextdns.io/install)' # Configure with your profile sudo nextdns install \ -config abc123 \ -report-client-info \ -auto-activate # Verify nextdns status nextdns log
bash# Install via Homebrew brew install nextdns/tap/nextdns # Configure sudo nextdns install \ -config abc123 \ -report-client-info # Or configure via System Settings > Network > DNS # Add DNS-over-HTTPS: https://dns.nextdns.io/abc123
powershell# Install NextDNS CLI for Windows # Download from: https://nextdns.io/download/windows # Or configure DoH natively (Windows 11) # Settings > Network & Internet > Ethernet/Wi-Fi > DNS # Preferred DNS: 45.90.28.x # DNS over HTTPS: On (Manual template) # DoH Template: https://dns.nextdns.io/abc123 # PowerShell: Configure DoH Set-DnsClientDohServerAddress -ServerAddress "45.90.28.x" ` -DohTemplate "https://dns.nextdns.io/abc123" ` -AllowFallbackToUdp $false ` -AutoUpgrade $true
# Most routers support custom DNS servers
# For DoH/DoT-capable routers (pfSense, OPNsense, OpenWrt):
# pfSense DNS Resolver (Unbound):
# Services > DNS Resolver > Custom Options:
server:
forward-zone:
name: "."
forward-tls-upstream: yes
forward-addr: 45.90.28.x@853#abc123.dns.nextdns.io
forward-addr: 45.90.30.x@853#abc123.dns.nextdns.io
# OpenWrt (using https-dns-proxy):
opkg update && opkg install https-dns-proxy
uci set https-dns-proxy.default.resolver_url='https://dns.nextdns.io/abc123'
uci commit https-dns-proxy
/etc/init.d/https-dns-proxy restartiOS:
Install NextDNS app from App Store
Or: Settings > General > VPN & Device Management
Install NextDNS configuration profile
Android:
Settings > Network > Private DNS
DNS Provider: abc123.dns.nextdns.io
Or: Install NextDNS app from Play StoreFor enterprise Windows environments, Microsoft's ZTDNS enforces that endpoints can only communicate with domains resolved through approved DNS servers.
powershell# Enable ZTDNS (Windows 11 23H2+) # Requires Windows Defender Firewall in enforcing mode # Configure Protected DNS Servers via Group Policy: # Computer Configuration > Administrative Templates > Network > DNS Client # > Configure DNS over HTTPS (DoH) name resolution # > Protected DNS servers: https://dns.nextdns.io/abc123 # Windows Firewall blocks all traffic to domains not resolved # through the protected DNS server
NextDNS Analytics Dashboard provides:
- Total queries over time
- Blocked queries by category
- Top domains (allowed and blocked)
- Top blocked reasons (threat, ad, tracker)
- Device-level breakdown
- Geographic query distribution
Log Settings:
Retention: 1 hour / 6 hours / 1 day / 1 week / 1 month / 3 months / 1 year / 2 years
Storage Location: US / EU / UK / Switzerland
Logging: [ ] Enable / [ ] Disablebash# NextDNS API for automated monitoring # Get analytics data curl -H "X-Api-Key: your-api-key" \ "https://api.nextdns.io/profiles/abc123/analytics/domains?from=-24h" # Get blocked domains curl -H "X-Api-Key: your-api-key" \ "https://api.nextdns.io/profiles/abc123/analytics/domains?from=-24h&status=blocked" # Export logs for SIEM integration curl -H "X-Api-Key: your-api-key" \ "https://api.nextdns.io/profiles/abc123/logs?from=-1h" \ | jq '.data[] | select(.status == "blocked")'
Tier 1 - Security (Mandatory for all):
- Threat intelligence blocking
- Cryptojacking protection
- DNS rebinding protection
- DGA detection
- NRD blocking (< 30 days)
Tier 2 - Privacy (Recommended):
- Tracker blocking
- Native telemetry blocking
- CNAME cloaking protection
Tier 3 - Compliance (Organization-specific):
- Category-based blocking
- Custom allowlists/denylists
- Time-based access policies
- Log retention per regulatory requirements| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-12 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +9 percentage points is the difference between those two pass rates over the 22 comparable cases.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.