본문으로 건너뛰기
버전: Next

DNS 설정

NuFi는 dashboard.nufi.com, grafana.nufi.com 등 서브도메인 기반으로 서비스에 접속합니다. 설치 후 클라이언트 PC에서 이 도메인들이 NuFi 서버 IP로 해석되도록 로컬 DNS를 설정해야 합니다.

정보

이 설정은 NuFi 서버가 아닌, 접속할 클라이언트 PC에서 진행합니다.

사전 확인

시작하기 전에 다음 정보를 준비합니다.

항목설명확인 방법
NuFi 서버 IPNuFi가 설치된 서버(마스터 노드)의 IP서버에서 ip addr show 실행
네트워크 연결클라이언트 → 서버 간 통신 가능ping <서버 IP>

ping이 안 되면 같은 네트워크에 있는지, 방화벽 설정을 확인하세요.

OS별 설정

1. 현재 DNS 서버 확인

Acrylic의 upstream으로 설정할 기존 DNS 서버 IP를 먼저 확인합니다.

PowerShell을 관리자 권한으로 실행합니다.

시작 메뉴에서 powershell 검색 → 관리자 권한으로 실행 클릭

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

출력 예시:

192.168.10.123

여기서 나온 IP를 5단계에서 사용합니다. DNS 서버가 없거나 확인이 안 되면 8.8.8.8 (Google 공용 DNS)을 사용합니다.

2. Chocolatey 설치

이미 설치되어 있으면 3번부터 진행합니다.

# 설치 확인 (버전이 나오면 이미 설치된 상태)
choco --version
# 설치되어 있지 않으면 실행
Set-ExecutionPolicy Bypass -Scope Process -Force
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

3. Acrylic DNS Proxy 설치

choco install acrylic-dns-proxy -y

4. 와일드카드 DNS 설정

<NuFi 서버 IP>를 실제 IP로 변경합니다.

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

5. 커스텀 DNS 서버 설정 (upstream)

Acrylic이 *.nufi.com 이외의 DNS 요청을 기존 DNS 서버로 전달하도록 설정합니다.

<기존 DNS 서버 IP>를 1단계에서 확인한 IP로 변경합니다.

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

6. Acrylic 서비스 재시작

Restart-Service -Name "AcrylicDNSProxySvc"

7. 네트워크 어댑터 DNS 변경

Acrylic이 upstream으로 기존 DNS를 사용하므로, 네트워크 어댑터의 DNS를 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. DNS 캐시 초기화

ipconfig /flushdns

9. 테스트

NuFi 도메인 확인:

nslookup dashboard.nufi.com 127.0.0.1

아래와 같이 NuFi 서버 IP가 출력되면 성공입니다.

Server: Unknown
Address: 127.0.0.1

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

"Non-authoritative answer"는 로컬 DNS 프록시의 정상 응답입니다.

일반 도메인도 정상 동작하는지 확인합니다:

nslookup google.com 127.0.0.1

정리

DNS 설정이 더 이상 필요하지 않을 때 아래 순서대로 정리합니다.

경고

반드시 DNS 복원을 먼저 한 후 Acrylic을 중지해야 합니다. DNS가 127.0.0.1인 상태에서 Acrylic을 먼저 중지하면 인터넷 연결이 끊깁니다.

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

# 2. Acrylic 서비스 중지
Stop-Service -Name "AcrylicDNSProxySvc"