AdGuard DNS on Linux: 7 Secure Setup Checks
AdGuard DNS on Linux works by sending your DNS lookups to AdGuard’s resolvers, where domain filtering can block many advertising, tracking, and malicious domains. Configure the network profile that actually controls DNS, account for IPv6, and check whether you also need encrypted DNS. Entering a resolver address alone does not encrypt the connection.
The seven checks below focus on one Linux computer: identify its resolver, make a recoverable change, verify the result, and keep a way back. This is a client-configuration guide, separate from installing AdGuard Home, AdGuard Ad Blocker, or AdGuard VPN. Most importantly, you will distinguish saved settings from temporary tests.
| Setup | What it provides | Important limit |
|---|---|---|
| Public DNS addresses | Preset domain filtering | IP entry alone is unencrypted |
| Private DNS endpoint | Personal rules and query logs | Use your own device details |
| Encrypted DNS client | Protected DNS transport | Does not encrypt other traffic |
Key Takeaways
- Change DNS settings, not your working IP address or gateway.
- Check the active connection and both address families before assuming coverage.
- A public resolver address does not attach requests to your private dashboard.
- Temporary resolvectl commands are a test, not a persistent installation.
- Test the browser and VPN separately, then repeat checks after reconnect and reboot.
You can use the public service without buying a subscription. Private AdGuard DNS is useful when you need device policies, custom filtering, or query logs. Affiliate disclosure: I may earn a commission if you buy through the AdGuard DNS links in this article, at no extra cost to you.
HackersGhost offer: 20% off a 1-year subscription.
Exclusive HackersGhost discount code HACKERSGHOST20. The link passes the code automatically; confirm that the discount appears at checkout before paying. AdGuard may occasionally run separate public promotions with similar pricing.
1. Identify who controls DNS on your Linux computer
Start AdGuard DNS on Linux by checking the network stack you already have. Ubuntu, Debian, Linux Mint, Fedora, Kali, and Parrot do not all ship the same resolver arrangement. A tutorial that assumes one service can overwrite settings managed by another.
cat /etc/os-release
nmcli --version
nmcli connection show --active
ls -l /etc/resolv.conf
These are discovery commands, not configuration changes. If nmcli is missing or NetworkManager does not manage your connection, skip the NetworkManager commands below. Use your distribution’s existing network configuration method rather than installing a second manager just to follow a tutorial.
The AdGuard website introduces the separate Linux products in its range. This guide uses your network manager to configure the DNS client. If your system also runs systemd-resolved, inspect its view of DNS with resolvectl status. An unavailable command is a compatibility clue, not a reason to disable networking services.
Before changing AdGuard DNS on Linux, record the original profile UUID, DNS entries, automatic-DNS flags, and search domains. A UUID identifies the connection profile; the interface name identifies the network device. They are different values and are not interchangeable in commands.
Make the first AdGuard DNS on Linux change from a local console. Reactivating a profile may interrupt SSH, downloads, meetings, or other sessions. On an employer-managed device or a network requiring internal DNS, obtain the appropriate configuration rather than replacing the organisation’s resolver with a public service.
With AdGuard DNS on Linux inside a VM, inspect the guest separately from the host. My lab includes Kali and Parrot in VMware, but this article does not claim a completed DNS benchmark there. A Windows host, virtual adapter, router, and guest can each introduce a different network setting.

2. Choose public filtering or your private DNS endpoint
Choose what AdGuard DNS on Linux should do before copying any address. The public default service applies preset filtering. Private AdGuard DNS adds account-based controls, including custom rules and query logs, when the device is connected using the correct dashboard instructions.
The public default IPv4 addresses are 94.140.14.14 and 94.140.15.15. Their IPv6 counterparts are 2a10:50c0::ad1:ff and 2a10:50c0::ad2:ff. These are the public filtering addresses used in the next example, not private device identifiers.
AdGuard also offers separate non-filtering and family-protection public services. Do not mix their addresses unintentionally. If one server follows a different policy, the result can look random even though both servers are working exactly as configured.
For private AdGuard DNS on Linux, add the Linux device in your dashboard and copy its current connection details. A personalised encrypted endpoint identifies the configuration you intend to use. Plain private DNS connection methods can require a linked public IP or another supported identification method.
Do not paste a private hostname from somebody else’s screenshot. Treat your device endpoint as configuration information worth keeping private: it can identify your filtering profile and affect how requests are attributed. Redact it when asking for public troubleshooting help.
Use the AdGuard DNS versus AdGuard Home comparison if you are deciding between a managed resolver and running a filtering server yourself.
For AdGuard DNS on Linux, keep the first configuration narrow: one computer, one intended policy, and one documented transport. More layers are useful only when you can explain which layer handles the lookup.
3. Save a recoverable NetworkManager DNS profile
For AdGuard DNS on Linux on a NetworkManager-managed desktop, make a separate test profile. The commands below clone your existing connection, leave the original available for rollback, and prevent the test clone from automatically taking over at boot.
Replace ORIGINAL_UUID with the UUID of your active Wi-Fi or Ethernet profile. Choose another test name if HG-AdGuard-DNS-test already exists. Use these examples only for an ordinary personal connection, not a specialised VPN, bridge, or managed corporate profile.
sudo nmcli connection clone uuid "ORIGINAL_UUID" "HG-AdGuard-DNS-test"
sudo nmcli connection modify "HG-AdGuard-DNS-test" connection.autoconnect no
The public AdGuard DNS on Linux example changes DNS-related properties without changing DHCP addressing, your gateway, or Wi-Fi credentials. It is a plain DNS baseline, not an encrypted-DNS configuration. If the cloned profile already requires encrypted DNS or has unusual DNS routing, stop and review that policy first.
sudo nmcli connection modify "HG-AdGuard-DNS-test" \
ipv4.dns "94.140.14.14 94.140.15.15" \
ipv4.ignore-auto-dns yes \
ipv6.dns "2a10:50c0::ad1:ff 2a10:50c0::ad2:ff" \
ipv6.ignore-auto-dns yes
sudo nmcli connection up "HG-AdGuard-DNS-test"
Apply the AdGuard DNS on Linux profile locally when a brief reconnection is acceptable. Each backslash continues the same command; it must be the final character on that line. Check for errors before continuing. If your profile has IPv6 disabled or an incompatible IPv6 method, do not enable it just to paste this example: configure the address family your connection actually uses.
The ignore-auto-dns properties stop automatically supplied resolvers and search domains from being merged into this profile’s DNS settings. Inspect local-name requirements before changing them. This profile-level change does not prevent another active connection, application, or VPN from selecting a different resolver.
After configuring AdGuard DNS on Linux, inspect nmcli device show and, where available, resolvectl status. A successful modify command proves the profile accepted settings. It does not prove the browser used them.

4. Test encrypted DNS without confusing it with filtering
AdGuard DNS on Linux can filter over ordinary DNS, but filtering and encryption solve different problems. DNS-over-TLS protects supported DNS traffic between the client and resolver. It does not turn DNS into a VPN or encrypt every connection your applications make.
On a machine already using systemd-resolved, the following is a temporary per-interface DNS-over-TLS test. Do not run it on a resolver stack that does not use this service. Close sensitive activity first and record the current interface configuration.
Replace YOUR_INTERFACE with the active interface name, such as the actual value shown by your system. The example uses public default filtering with the documented TLS server name. Keep the quoted address and hostname together.
sudo resolvectl dns YOUR_INTERFACE \
"94.140.14.14#dns.adguard-dns.com" \
"94.140.15.15#dns.adguard-dns.com"
sudo resolvectl dnsovertls YOUR_INTERFACE yes
sudo resolvectl domain YOUR_INTERFACE "~."
resolvectl status YOUR_INTERFACE
Here, yes requires TLS for that interface’s resolver, while the hostname enables server-name verification. Opportunistic mode can fall back to unencrypted resolution, so it is a different policy. The route-only domain ~. prefers this link for general DNS; more specific routes and other resolver paths still require attention.
Do not present this AdGuard DNS on Linux test as persistent. NetworkManager can reapply its profile settings, and reconnecting or rebooting can remove runtime changes. Revert the test afterwards with sudo resolvectl revert YOUR_INTERFACE, then reactivate the intended saved profile.
For lasting encrypted AdGuard DNS on Linux, select a persistent method supported by your distribution. NetworkManager’s DNS-over-TLS property requires a compatible DNS plugin and correct server identity configuration; setting a property on an unsupported backend has no effect. The systemd project publishes its resolver source and development resources on GitHub.
An alternative: the separate AdGuard DNS CLI
AdGuard DNS CLI is a local DNS forwarder with encrypted-upstream support. It is separate from AdGuard VPN CLI and AdGuard Ad Blocker CLI. AdGuard documents downloading the appropriate official release, installing its service, editing the generated configuration, and starting it.
Before choosing that persistent route for AdGuard DNS on Linux, inspect the generated configuration and current release instructions. Verify the localhost listener, encrypted upstream, bootstrap and fallback settings, service startup, and which operating-system component forwards requests to it. Merely starting a local daemon does not redirect every application.
Keep a workstation-only listener bound to loopback and check for an existing port conflict before changing services. A local encrypted forwarder is a separate deployment choice, not another command to paste on top of every working resolver. This guide does not supply a universal service configuration for all distributions.

5. Verify IPv6, browser DNS, and VPN overrides
AdGuard DNS on Linux needs checking at the application boundary. The desktop can show one resolver while a browser uses its own DNS-over-HTTPS provider. A VPN can also push DNS settings or route private namespaces through a tunnel.
- Check the active Wi-Fi or Ethernet profile, including IPv6 DNS information.
- Inspect browser Secure DNS or DNS-over-HTTPS settings and note the selected provider.
- Test with the VPN disconnected, then connected, without changing several other settings.
- Compare an ordinary system lookup with a browser request made under the same conditions.
- Repeat after network switching, not only immediately after editing the profile.
Do not disable browser privacy features automatically to make AdGuard DNS on Linux appear successful. Choose a consistent policy: use your intended encrypted provider in the browser where supported, or deliberately let the browser use the system resolver. Record exceptions instead of hiding them.
Keep VPN-specific DNS requirements intact when they resolve private services or prevent DNS from escaping the tunnel. If you need a custom resolver inside a VPN, use the VPN’s documented support. A router VPN, host VPN, and guest VPN can make “where did this query go?” a surprisingly layered question.
The DNS and WebRTC leak-checking guide explains how to interpret browser evidence without treating every unfamiliar address as a leak.
For AdGuard DNS on Linux, IPv6 connectivity and DNS transport are related but different. A computer can resolve IPv6 website addresses through an IPv4 DNS server. The important question is which resolver receives the queries, not whether every answer contains an IPv4 address.
6. Confirm resolver use and filtering separately
Validate AdGuard DNS on Linux with a few repeatable observations. First check that ordinary resolution works. Then inspect the selected resolver and test filtering against a harmless domain or a rule you control. Do not visit a live malicious website to prove a blocklist exists.
getent ahosts example.com
resolvectl query example.com
The first command uses the system’s configured name-service mechanisms; local files or caches may contribute. The second applies only where systemd-resolved is active. A successful answer demonstrates resolution for that lookup, not that every application follows the same path.
A common trap with AdGuard DNS on Linux is a direct test such as dig @94.140.14.14 example.com. That explicitly selects AdGuard for one query. It can test reachability to that server, but it does not establish that the computer’s default resolver changed.
A local address such as 127.0.0.53 can represent a resolver stub. Do not replace it solely because you expected a public IP in /etc/resolv.conf. Inspect the upstream configuration before deciding whether the stub is forwarding correctly.
For private AdGuard DNS on Linux, create a temporary block rule for a harmless domain you control or an appropriate test domain. Generate a new request, inspect its device attribution in the query log, remove the rule, and verify recovery. Record time and domain so that an unrelated background lookup does not get mistaken for your test.
Caches can delay visible AdGuard DNS on Linux changes. Where systemd-resolved is in use, sudo resolvectl flush-caches clears its cache; application caches may remain. Do not repeatedly alter working DNS settings because a previously loaded page continues to display.
Use the broader AdGuard DNS testing guide for filtering diagnostics and dashboard checks.
Finally, AdGuard DNS on Linux cannot reliably remove ads served from the same hostname as wanted content or perform browser cosmetic filtering. Remaining page space or first-party advertising is not, by itself, evidence that the resolver configuration failed.
7. Prove persistence and keep a rollback path
Finish AdGuard DNS on Linux by checking what survives. The test NetworkManager profile is saved, but autoconnect is disabled deliberately. The resolvectl overrides are runtime tests. A local DNS service needs both a persistent configuration and a verified startup arrangement.
Reconnect the chosen profile, repeat the checks, and then reboot when convenient. Confirm which profile became active. If you want the test profile to become your everyday default, make that a deliberate profile-management decision after successful checks; do not assume the original profile disappeared.
To undo the NetworkManager experiment, reactivate the original UUID. This restores that profile’s recorded settings rather than inventing a generic “factory default” that might not match your network.
sudo nmcli connection up uuid "ORIGINAL_UUID"
If you applied temporary resolved settings for AdGuard DNS on Linux, revert those interface overrides as described earlier. If you deployed a local DNS forwarder, restore the operating system’s upstream settings before stopping it. Otherwise applications may continue querying a localhost service that no longer runs.
If pages fail after the change, restore the original working configuration first, then investigate the failing stage: connectivity, resolver reachability, TLS, browser override, or filtering rule. Preserve the error and relevant settings privately. Do not disable the firewall or certificate verification as a general troubleshooting shortcut.
A useful AdGuard DNS on Linux handover note records the profile, transport, intended policy, verification steps, and rollback. That is more useful than a screenshot containing only a green status indicator. Future you should not have to reverse-engineer today’s enthusiasm.
HackersGhost Note: Keep the configuration you can explain and reverse. A DNS change should leave you with a clear traffic policy and a repeatable check, not a mystery collection of resolver files and background services.
Do you need private DNS for a Linux computer?
Public filtering can be enough for a simple AdGuard DNS on Linux setup. Private DNS becomes useful when individual device rules, exceptions, and query logs help you manage real needs. Check current plan limits and privacy settings before buying; logging detail is also data you should protect.
If those controls suit your setup, use the confirmed HackersGhost Pretty Link below. The supplied affiliate offer is 20% off a one-year subscription with HACKERSGHOST20. The link includes the code, but verify the final discount and renewal terms at checkout rather than assuming offers stack.
HackersGhost offer: 20% off a 1-year subscription.
Exclusive HackersGhost discount code HACKERSGHOST20. The link passes the code automatically; confirm that the discount appears at checkout before paying. AdGuard may occasionally run separate public promotions with similar pricing.
Conclusion: choose one policy and verify it
AdGuard DNS on Linux is most useful when resolver choice, filtering, and encryption are treated as separate checks. Identify the active manager, preserve your working profile, configure the intended service, and inspect the result in the applications you use.
Your first action is to record the current connection and its DNS settings. Then test AdGuard DNS on Linux on one recoverable machine. Keep the change only when you can show where requests go, what survives a restart, and how to restore the earlier working state.

AdGuard DNS on Linux FAQ
Is AdGuard DNS on Linux the same as AdGuard Home?
No. This guide connects a Linux client to a managed resolver. AdGuard Home is self-hosted filtering software. AdGuard Ad Blocker and the VPN client are also separate products; installing one does not automatically configure the others.
Can I use AdGuard DNS on Linux without paying?
The public resolvers provide preset filtering without requiring a paid subscription. Private service plans offer different controls and limits. Choose a plan only if its current features solve a need that public filtering does not.
Should I edit /etc/resolv.conf directly?
First identify who manages it. On many desktops it is generated or points to a local resolver stub. Editing it directly can be overwritten or bypass the intended network manager. Make persistent changes through the component responsible for your connection.
Does AdGuard DNS on Linux encrypt all my traffic?
No. Encrypted DNS protects the supported DNS exchange with the resolver. Ordinary resolver IP settings do not enable that encryption themselves, and DNS-over-TLS does not encrypt unrelated application traffic or replace a VPN.
Why does my browser ignore the system DNS settings?
It may use its own DNS-over-HTTPS provider, cached results, or a separate proxy. Inspect that browser’s settings and test it separately from the system resolver. Avoid claiming system-wide coverage from a single browser test.
Will the resolvectl test survive a reboot?
Do not rely on it surviving. The commands here set runtime per-interface state that a network manager can replace. Configure persistence through the appropriate supported manager or DNS client, then prove the result after reconnecting and rebooting.
VPN & Network Infrastructure Cluster
- AdGuard DNS on Linux: 7 Secure Setup Checks 》》
- AdGuard VPN CLI for Linux: 7 Essential Setup Checks 》》
- AdGuard for Linux: 7 Safe Installation & Setup Tips 》》
- Can WiFi Owner See What Sites I Visit on Phone? 7 Hard Facts 》》
- NextDNS vs AdGuard DNS: 7 Honest Checks Before You Choose 》》
- AdGuard VPN vs PrivadoVPN: 7 Smart Checks Before You Buy 》》
- AdGuard Home vs Pi-hole: Which One Should You Run? 》》
- Wifite Tutorial: 7 Detailed Steps for Confident Wi-Fi Audits 》》
- AdGuard DNS Ad Blocker vs App: 7 Honest Findings 》》
- AdGuard Home Review: 7 Honest Network-Wide Findings 》》
- AdGuard DNS vs AdGuard Home: 7 Smart Differences 》》
- Proton VPN Versus NordVPN: Which One Wins? 》》
- Are VPNs Traceable? 7 Essential Traffic Correlation Facts 》》
- Mullvad Encrypted DNS Shutdown: 7 Key Changes Explained 》》
- NordVPN DNS Leak: 7 Essential AdGuard DNS Checks 》》
- Proton VPN Custom DNS: 7 Real AdGuard Setup Lessons 》》
- AmneziaWG vs WireGuard: 7 Key Obfuscation Changes 》》
- Are Free VPNs Safe? 7 Essential Mobile Privacy Checks 》》
- AdGuard Ad Blocker and VPN Together: 7 Proven Findings 》》
- AdGuard DNS on Router: Complete 7-Step Setup Guide 》》
- Public Wifi Security: 9 Essential Rules to Stay Safe 》》
- AdGuard VPN Subscription: 7 Key Pros and Cons 》》
- AdGuard Promo Code: Save Up to 80% on VPN, DNS and Ad Blocker 》》
- AdGuard DNS: 7 Essential Features I Tested 》》
- Is Proton VPN Safe? 7 Privacy Checks From My Lab 》》
- Proton VPN Free Tier: 7 Limits You Should Know Before Using It 》》
- What VPN Do Hackers Use? 7 Myths From My Lab 》》
- PrivadoVPN Review: 7 Practical Wins and Limits 》》
- NordVPN Plans: 7 Smart Ways to Choose the Right Plan 》》
- Proton VPN GL.iNet Setup: 7 Lessons From Testing 》》
- WiFi Hacking Tools: 9 Proven Picks for Ethical Hackers 》》
- Man in the Middle Attacks Explained: How Attackers Intercept Traffic 》》
- WiFi Hacking Tools: 9 Proven Picks for Ethical Hackers 》》
- WiFi Monitor Mode Explained: Sniffing Networks the Ethical Way 》》
- Do VPNs Protect You From Hackers? 7 Security Truths 》》
- Tor vs VPN: Which One Actually Protects Your Privacy? 》》
- WireGuard vs OpenVPN: Which VPN Protocol Is Better? 》》
- ProtonVPN WireGuard Config: 7 Proven Setup Steps 》》
- Linux VPN Kill Switch: 7 Essential Safety Checks 》》
- Linux Split Tunneling: 7 Essential Routing Methods 》》
- Cudy WR3000 WireGuard Router Setup with Proton VPN 》》
- NordVPN Review: 9 Powerful Features I Tested 》》
- NordVPN Router Setup: 7 Easy Bulletproof Steps for Security 》》
- How to Test DNS & WebRTC Leaks: 7 Sneaky Checks 》》
- VPN Myths in Ethical Hacking Labs: 7 Dangerous Mistakes 》》
- NordVPN OpenWrt Setup: 7 Steps for a Safer Lab 》》
- How Routers Break OPSEC Without You Noticing 》》
- Using VPN Routers For Ethical Hacking Labs 》》
- NordVPN vs ProtonVPN Router Speeds in Real Setups: Limits, Protocols, Stability, and the OPSEC Traps 》》
- NordVPN on GL.iNet Routers: Real-World Performance, Leaks, and OPSEC Failure Points 》》
- NordVPN on Cudy Routers: Real-World Performance, Stability, and OPSEC Failure Points 》》
- Cudy Router WireGuard Performance: Real-World Speed, Stability, and Tradeoffs 》》
- Saily eSIM Review: Secure Mobile Data Without the SIM Card Circus 》》
- Saily Ultra Review: A Premium eSIM Subscription Explained 》》
- Best VPN Routers for Ethical Hacking Labs: Complete Guide 》》
AdGuard Ecosystem
- AdGuard DNS on Linux: 7 Secure Setup Checks 》》
- AdGuard VPN CLI for Linux: 7 Essential Setup Checks 》》
- AdGuard for Linux: 7 Safe Installation & Setup Tips 》》
- NextDNS vs AdGuard DNS: 7 Honest Checks Before You Choose 》》
- AdGuard Not Working: 7 Smart Checks to Restore Blocking 》》
- AdGuard VPN vs PrivadoVPN: 7 Smart Checks Before You Buy 》》
- AdGuard Ad Blocker for iOS: 7 Essential Checks 》》
- AdGuard Ad Blocker for Safari: 7 Smart Checks 》》
- AdGuard Home vs Pi-hole: Which One Should You Run? 》》
- Is AdGuard Safe? 7 Honest Checks Before You Trust It 》》
- AdGuard Ad Blocker for Android: 7 Honest Mobile Tests 》》
- AdGuard DNS Ad Blocker vs App: 7 Honest Findings 》》
- AdGuard Home Review: 7 Honest Network-Wide Findings 》》
- AdGuard vs uBlock Origin: 7 Smart Blocking Differences 》》
- AdGuard DNS vs AdGuard Home: 7 Smart Differences 》》
- NordVPN DNS Leak: 7 Essential AdGuard DNS Checks 》》
- Proton VPN Custom DNS: 7 Real AdGuard Setup Lessons 》》
- AdGuard Ad Blocker and VPN Together: 7 Proven Findings 》》
- AdGuard DNS on Router: Complete 7-Step Setup Guide 》》
- Is AdGuard Worth It? 7 Ad Blocker Reasons I Think It Is 》》
- AdGuard VPN Subscription: 7 Key Pros and Cons 》》
- AdGuard Promo Code: Save Up to 80% on VPN, DNS and Ad Blocker 》》
- AdGuard DNS: 7 Essential Features I Tested 》》
Some links in this article are affiliate links. If you use them, I may earn a small commission — at no extra cost to you. I only recommend tools I’ve actually tested inside my own cybersecurity lab. Read the full disclaimer.
In many cases, these links unlock better deals than you’ll find on your own.
No paid reviews. No sponsored opinions. Just real testing and real setups.
If you decide to use them, you’re not just getting a discount — you’re helping keep this lab running.

