πŸ”§ Client Configuration – DNSaaS Help Centre

Select your device or operating system below for step-by-step instructions to configure it with our DNS as a Service (DNSaaS).

πŸ“‹ Configuration Topics

🏠 Desktop OS Windows, macOS, Linux
πŸ“± Mobile Devices Android, iOS
🌐 Routers & Network DHCP, Manual, IPv6
☁️ Cloud & Servers VMs, Containers, Scripts
πŸ”’ Secure Transports DoT, DoH, DoQ, mTLS
πŸ› οΈ Troubleshooting Verify & Diagnose

πŸ’» Operating System Configuration

Configure your operating system to use DNS-over-HTTPS (DoH) with system-level token authentication.

πŸͺŸ Windows 11 / 10 Docker / DoH View Guide β†’ βœ… Verified 🐳 Docker
🍏 macOS dnsdist / System DNS View Guide β†’ βœ… Verified
🐧 Ubuntu Linux https_dns_proxy πŸ“– Full Guide β†’ βœ… Verified NEW
πŸ€– Android Private DNS (DoT) View Guide β†’ βœ… Verified
πŸ“± iOS Config Profile / App View Guide β†’ βœ… Verified
πŸ’» Chrome OS DoH / System DNS View Guide β†’ ℹ️ System-Level
πŸ“ Raspberry Pi OS dnsdist / systemd View Guide β†’ βœ… Verified
πŸ”§ OpenWrt https-dns-proxy View Guide β†’ ℹ️ System-Level

🌐 Browser Configuration

Configure your browser to use DNS-over-HTTPS (DoH) with token authentication. Click the guide link for your browser:

Chrome Google Chrome {?dns} View Guide β†’ βœ… Verified
Edge Microsoft Edge ?dns View Guide β†’ βœ… Verified
🦊 Mozilla Firefox /dns-query View Guide β†’ βœ… Verified
🦁 Brave ?dsn View Guide β†’ βœ… Verified
πŸ…ΎοΈ Opera ?dns View Guide β†’ βœ… Verified
πŸ”· Vivaldi {?dns} View Guide β†’ βœ… Verified
πŸ§… Tor Browser Not Supported View Guide β†’ ⚠️ Not Supported
🌿 Epiphany (GNOME Web) System DNS View Guide β†’ ℹ️ System-Level

⭐ Popular Step-by-Step Guides

πŸͺŸ Windows 11 / 10 View Guide β†’ 🐳 Docker
🍏 macOS View Guide β†’
🐧 Ubuntu Linux πŸ“– Full Guide β†’ NEW
πŸ€– Android View Guide β†’
πŸ“± iOS View Guide β†’
πŸ”§ OpenWrt Router View Guide β†’

πŸ–₯️ Desktop OS Configuration

πŸͺŸ Windows 11 / 10 (Docker)

πŸ“– For the complete Windows guide with Docker setup, click here for the full Windows configuration guide β†’

Step 1: Install Docker Desktop

Download and install Docker Desktop from docker.com. Ensure it's running before proceeding.

Step 2: Run the DNS Proxy Container

Open PowerShell as Administrator and run:

docker run -d --name "https-dns-proxy" --restart unless-stopped -p 53:5053/udp -p 53:5053/tcp `
  -e RESOLVER_URL="https://dns1.oss.co.za/testclient123" `
  -e DNS_SERVERS="1.1.1.1,8.8.8.8" `
  bwmoran/https-dns-proxy -vvv
⚠️ Replace token_testclient123 with your actual token.

Step 3: Configure Windows DNS

Go to Settings β†’ Network & internet β†’ [Your Network] β†’ Edit DNS assignment. Set to Manual and enter 127.0.0.1 as the Preferred DNS.

Step 4: Test

Run nslookup google.com in PowerShell. You should see Server: localhost and IP addresses returned.

πŸ’‘ Service Management: Use docker start/stop/restart https-dns-proxy to control the proxy.

🍏 macOS (Ventura & Sonoma)

Step 1: Open System Settings

Click the Apple menu β†’ System Settings β†’ Network β†’ select your active connection (e.g., Wi-Fi).

Step 2: Go to DNS Settings

Click Details... β†’ select the DNS tab.

Step 3: Add DNS Servers

Click the + button under DNS Servers and enter your primary and secondary DNSaaS IP addresses. Remove any existing entries if they are not needed.

Step 4: Apply & Test

Click OK β†’ Apply. Open Terminal and run:
dig example.com
Verify the SERVER: line shows your configured DNS IP.

πŸ“ DoH/DoT: macOS does not natively support DoH/DoT in GUI. Use a third-party app or configure via networksetup for advanced setups.

🐧 Ubuntu Linux (22.04 LTS+)

πŸ“– For a complete, detailed guide with token-based DoH setup, click here for the full Ubuntu configuration guide β†’

Step 1: Open Network Manager

Go to Settings β†’ Network β†’ click the gear icon next to your active connection (Wired or Wi-Fi).

Step 2: Switch to Manual IPv4

In the IPv4 tab, change DNS from Automatic to Manual.

Step 3: Enter DNS Addresses

Add your primary and secondary DNSaaS IPs in the DNS field, separated by a comma.

Step 4: Apply & Restart

Click Apply and toggle the connection off/on. In Terminal, test with:
resolvectl status or dig example.com.

πŸ’‘ CLI alternative: Use nmcli for headless servers:
nmcli con mod "Your-Connection" ipv4.dns "203.0.113.1 203.0.113.2"
nmcli con down "Your-Connection" && nmcli con up "Your-Connection"
πŸ“– Full Ubuntu Guide with Token DoH β†’

πŸ“± Mobile Device Configuration

πŸ€– Android 12+ (Private DNS)

Step 1: Open Network & Internet

Go to Settings β†’ Network & Internet β†’ Private DNS (or search "Private DNS" in settings).

Step 2: Enter DNS-over-TLS Hostname

Select Private DNS provider hostname and enter your DNSaaS DoT endpoint (e.g., dns.yourdomain.com).

Step 3: Save & Verify

Tap Save. To test, open a browser and visit a site. For technical verification, use a network monitor app.

πŸ“Œ Android does not support manual IPv4 DNS without disabling DHCP on Wi-Fi. Use "Static IP" in Wi-Fi settings if you need to specify IP addresses.

🍎 iOS 16+ (Wi-Fi DNS)

Step 1: Open Wi-Fi Settings

Go to Settings β†’ Wi-Fi β†’ tap the (i) info icon next to your connected network.

Step 2: Configure DNS

Scroll to Configure DNS β†’ change from Automatic to Manual.

Step 3: Add DNS Servers

Tap Add Server and enter your primary DNSaaS IP. Add a secondary if needed. Remove any existing servers.

Step 4: Save & Test

Tap Save. Use Safari to browse. For terminal-like testing, you can use the iSH Shell app with nslookup.

🌐 Router & Network-wide Configuration

πŸ“Ά Configure DHCP on a Router (Generic)

Step 1: Access Router Admin

Open a browser and enter your router's IP (usually 192.168.1.1 or 192.168.0.1). Log in with admin credentials.

Step 2: Find DNS Settings

Look for Internet, WAN, or DHCP settings. The exact location varies by brand (look for "DNS Server" or "DNS Address").

Step 3: Set Static DNS

Change DNS Assignment from Get Automatically from ISP to Use These DNS Servers. Enter your primary and secondary DNSaaS IPs.

Step 4: Save & Reboot

Save settings and reboot the router. All connected devices should now use your DNSaaS. Test from a client with nslookup.

πŸ’‘ For IPv6, look for similar fields labelled IPv6 DNS and enter your DNSaaS IPv6 addresses.

☁️ Cloud & Server Configuration

Scripted Setup for Servers (Ansible & CLI)

Linux (systemd-resolved)

sudo resolvectl set-dns eth0 203.0.113.1 203.0.113.2
sudo resolvectl set-dnsovertls eth0 yes

Windows Server (PowerShell)

Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses "203.0.113.1", "203.0.113.2"

macOS (networksetup)

sudo networksetup -setdnsservers Wi-Fi 203.0.113.1 203.0.113.2

πŸ”’ Secure Transports (DoT/DoH/DoQ)

Your DNSaaS supports encrypted DNS. Below are examples for common tools:

ProtocolExample Configuration
DNS-over-TLS (DoT)stubby or Android Private DNS: dns.yourdomain.com
DNS-over-HTTPS (DoH)Browser or app: https://dns.yourdomain.com/dns-query
mTLSUse client certificates with curl --cert client.pem --key key.pem https://dns.yourdomain.com/...

πŸ› οΈ Troubleshooting & Validation

Verify your DNS Server

nslookup example.com (Windows/macOS/Linux) – Check the Server field.

Check DNS Transport

Use tcpdump -i any port 53 or tshark to confirm queries are going to your DNSaaS IP and not elsewhere.

Common Issues

  • Cannot reach DNS: Firewall or routing issue. Ping the DNS IP.
  • Certificate errors (DoT/DoH): Ensure system date/time is correct and CA bundle is up to date.
  • Authentication failures: Check API key/token or mTLS certificate validity.
πŸ“ž If issues persist, contact support with the output of nslookup -debug yourdomain.com and your client OS version.

This Help Centre is for DNSaaS Client Configuration. All guides assume you have your DNS server IPs/endpoints ready. For account-specific details, refer to your welcome email.