Skip to main content
Version: Next

DNS Setup

NuFi is accessed through subdomains such as dashboard.nufi.com and grafana.nufi.com. After installation, you need to configure local DNS on the client PC so that these domains resolve to the NuFi server IP.

info

This configuration is performed on the client PC that will access NuFi, not on the NuFi server.

Prerequisites

Before you start, prepare the following information.

ItemDescriptionHow to check
NuFi server IPIP of the server (master node) where NuFi is installedRun ip addr show on the server
Network connectivityClient can reach the serverping <server IP>

If ping fails, check that both machines are on the same network and review firewall settings.

Per-OS Setup

1. Check the Current DNS Server

First, identify the existing DNS server IP that will be used as Acrylic's upstream.

Run PowerShell as Administrator.

From the Start menu, search for powershell → click Run as administrator

Get-DnsClientServerAddress -InterfaceAlias (Get-NetAdapter | Where-Object Status -eq 'Up' | Select-Object -First 1).Name | Select-Object -ExpandProperty ServerAddresses

Example output:

192.168.10.123

Use this IP in step 5. If no DNS server is found or you can't verify it, use 8.8.8.8 (Google public DNS).

2. Install Chocolatey

If it's already installed, skip to step 3.

# Check installation (a version number means it's already installed)
choco --version
# If not installed, run
Set-ExecutionPolicy Bypass -Scope Process -Force
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

3. Install Acrylic DNS Proxy

choco install acrylic-dns-proxy -y

4. Wildcard DNS Configuration

Replace <NuFi server IP> with the actual IP.

$acrylicHosts = "C:\Program Files (x86)\Acrylic DNS Proxy\AcrylicHosts.txt"
$content = Get-Content $acrylicHosts
$content = $content | Where-Object { $_ -notmatch "nufi" }
$content += "<NuFi server IP> *.nufi.com"
Set-Content $acrylicHosts $content -Encoding UTF8

5. Custom DNS Server Configuration (upstream)

Configure Acrylic to forward DNS requests other than *.nufi.com to the existing DNS server.

Replace <existing DNS server IP> with the IP you identified in step 1.

$acrylicConf = "C:\Program Files (x86)\Acrylic DNS Proxy\AcrylicConfiguration.ini"
(Get-Content $acrylicConf) `
-replace 'PrimaryServerAddress=.*', 'PrimaryServerAddress=<existing DNS server IP>' `
-replace 'SinkholeIPv6Lookups=No', 'SinkholeIPv6Lookups=Yes' |
Set-Content $acrylicConf

6. Restart the Acrylic Service

Restart-Service -Name "AcrylicDNSProxySvc"

7. Change Network Adapter DNS

Since Acrylic uses the existing DNS as its upstream, set the network adapter's DNS to Acrylic (127.0.0.1).

$adapter = Get-NetAdapter | Where-Object { $_.Status -eq 'Up' } | Select-Object -First 1
Set-DnsClientServerAddress -InterfaceIndex $adapter.ifIndex -ServerAddresses @("127.0.0.1")

8. Flush the DNS Cache

ipconfig /flushdns

9. Test

Verify the NuFi domain:

nslookup dashboard.nufi.com 127.0.0.1

Success when the NuFi server IP is printed as shown:

Server: Unknown
Address: 127.0.0.1

Non-authoritative answer:
Name: dashboard.nufi.com
Address: <NuFi server IP>

"Non-authoritative answer" is a normal response from the local DNS proxy.

Verify that regular domains also work:

nslookup google.com 127.0.0.1

Cleanup

When the DNS configuration is no longer needed, clean up in the following order.

warning

You must restore DNS first and then stop Acrylic. If you stop Acrylic first while DNS is still set to 127.0.0.1, you will lose internet connectivity.

# 1. Restore DNS first
$adapter = Get-NetAdapter | Where-Object { $_.Status -eq 'Up' } | Select-Object -First 1
Set-DnsClientServerAddress -InterfaceIndex $adapter.ifIndex -ResetServerAddresses
ipconfig /flushdns

# 2. Stop the Acrylic service
Stop-Service -Name "AcrylicDNSProxySvc"