Cloudflare 동적 DNS용 GhostlyDDns

GhostlyDDns로 Cloudflare 동적 DNS를 직접 관리하세요

최종 업데이트 2026. 1. 29.
가격
10 €약 ₩17,617

GhostlyDDns는 사용자의 기기에서 실행되는 소형 .NET CLI로, 공인 IP 변경 시 기존 Cloudflare A 및 AAAA 레코드를 업데이트합니다. 홈 서버, 사무실 네트워크, 연구실, 자체 호스팅 서비스에 적합하며 DNS 제어를 타 SaaS에 넘기지 않습니다.

개요

동적 DNS는 IP 변경 문제만 해결하며 모든 호스팅 문제를 해결하지는 않습니다

가정과 소규모 사무실 인터넷은 공인 IP가 수시로 변경됩니다. 동적 DNS는 도메인을 현재 주소에 연결해 VPN, 대시보드, 테스트 사이트, 자체 호스팅 앱의 접근성을 유지합니다. GhostlyDDns는 Cloudflare 영역에 집중해 기존 레코드를 업데이트합니다.

Cloudflare A 레코드 Cloudflare AAAA 레코드 로컬 실행 원격 측정 없음

적합성 확인

Cloudflare가 DNS 원본일 때 GhostlyDDns를 사용하세요

공인 주소가 변경될 수 있으나 도메인은 계속 작동해야 하는 네트워크에 적합합니다. 라우터나 호스팅 제공자가 필요한 Cloudflare 업데이트를 이미 처리한다면 추가 에이전트가 필요 없을 수 있습니다.

적합

GhostlyDDns가 도움이 되는 경우

  • Cloudflare DNS를 사용하며 유지할 A 또는 AAAA 레코드가 이미 있습니다.
  • 가정, 사무실, 연구실, 예비 네트워크의 공인 IP가 변경됩니다.
  • Cloudflare API 토큰을 타사 DDNS 서비스가 아닌 로컬에 저장하길 원합니다.
  • Windows, Linux, Linux ARM에서 동일한 구성 스타일이 필요합니다.
부적합

다른 DDNS 경로가 더 간단한 경우

  • 인터넷 제공자가 고정 공인 IP를 제공하며 DNS 변경이 거의 없습니다.
  • 라우터가 이미 권한이 제한된 자격 증명과 신뢰할 수 있는 로그로 Cloudflare를 안전하게 업데이트합니다.
  • 호스팅 대시보드, 팀 접근 제어, 알림, 관리 지원이 필요합니다.
  • 버전 1에서 도구가 Cloudflare 레코드를 새로 생성할 것으로 기대합니다.

Cloudflare 업데이트

GhostlyDDns는 공인 IP가 실제 변경될 때만 업데이트합니다

에이전트는 공인 IPv4 및 IPv6 주소를 확인하고 이전 값과 비교한 후, A 또는 AAAA 레코드 대상이 변경될 때만 Cloudflare API를 호출해 불필요한 트래픽을 줄입니다.

IPv4

A 레코드는 현재 IPv4 주소를 따릅니다

홈 VPN 엔드포인트, 소규모 대시보드, 리버스 프록시, 테스트 사이트 등 IPv4 서비스에는 A 레코드를 사용하세요.

IPv6

호스트에 IPv6가 있으면 AAAA 레코드가 IPv6를 따릅니다

기기가 안정적인 IPv6 경로를 가질 때만 IPv6를 활성화하고, 그렇지 않으면 IPv6 탐지를 비활성화하세요.

API

Cloudflare 호출은 변경 사항을 인지합니다

GhostlyDDns는 값을 먼저 비교하고 DNS 대상이 변경될 때만 Cloudflare를 업데이트합니다.

개인정보 보호 및 안전

로컬 실행으로 민감한 부분을 네트워크 근처에 유지하세요

GhostlyDDns는 호스팅된 제어판이 필요 없습니다. API 토큰은 에이전트가 실행되는 기기에만 저장되고 로그는 로컬에 유지되며, 업데이트 루프는 방화벽, 스케줄러, systemd 서비스 뒤에서 실행됩니다.

토큰 권한 범위

가장 최소한의 유용한 Cloudflare API 토큰을 사용하세요

토큰 권한은 GhostlyDDns가 필요한 영역과 DNS 편집 권한으로 제한하세요. 단순 DDNS 작업에 계정 전체 토큰을 재사용하지 마세요.

로컬 구성

YAML 파일을 비밀처럼 보호하세요

구성 파일에 Cloudflare API 토큰이 포함될 수 있으니, 파일 권한을 엄격히 관리하고 스크린샷, 티켓, 공개 로그에 복사하지 마세요.

SaaS 제어 없음

업데이트 루프는 배치한 위치에서 실행됩니다

GhostlyDDns는 외부 제어판이 필요 없으며, 스케줄러, 방화벽, 로그, 재시도 정책은 사용자의 환경에 포함됩니다.

운영 점검

정상 실행이 아닌 실패만 모니터링하세요

정상 실행 시 조용한 성공이 예상됩니다. 비정상 종료 코드, 반복되는 Cloudflare 실패, 응답이 중단된 탐지 지점을 주의 깊게 확인하세요.

설정 흐름

안정적인 순서는 영역, 토큰, 스케줄러 순입니다

DDNS 설정은 사전 준비가 중요합니다. 레코드를 생성하고, Cloudflare 토큰 권한을 영역으로 제한한 후, 테스트 실행을 거쳐 운영체제에 맞는 스케줄러에 에이전트를 등록하세요.

01

레코드 생성

먼저 Cloudflare에 A 또는 AAAA 레코드를 추가하고, 프록시 모드를 선택한 뒤 테스트 시 임시 호스트명을 사용하세요.

02

토큰 권한 설정

지정한 영역의 DNS만 편집 가능한 Cloudflare API 토큰을 생성하세요.

03

드라이 체크 실행

실제 업데이트 전에 dry 명령으로 구성, 레코드 이름, 탐지기, Cloudflare 접근 권한을 확인하세요.

04

에이전트 스케줄링

타이머로 한 번 실행하거나 서비스로 계속 실행한 후, 초기 IP 변경 시 로그와 종료 코드를 확인하세요.

구성

하나의 YAML 파일에 토큰, 레코드, 간격, IP 탐지, 로그를 정의합니다

구성을 간단하고 검토 가능하게 유지하세요. 토큰은 안전하게 보관하고, 폴링 간격은 필요에 맞게 설정하며, 실제 IPv6 경로가 있을 때만 IPv6를 활성화하고, 공인 IP를 따를 Cloudflare 레코드를 모두 나열하세요.

핵심 CLI 명령어

반복 작업을 활성화하기 전에 드라이 런을 사용하세요. 첫 설정을 무작정 운영 변경으로 전환하지 않고 업데이트 내용을 확인할 수 있습니다.

CLI
ghostly-ddns init-config --path ./config.yaml
ghostly-ddns dry --config ./config.yaml
ghostly-ddns once --config ./config.yaml
ghostly-ddns run --config ./config.yaml
ghostly-ddns --help
ghostly-ddns --version

예제 YAML 구성

정확한 값은 Cloudflare 영역과 레코드 이름에 따라 다르지만, 구성은 일반 코드 리뷰에 적합할 정도로 간결합니다.

YAML
cloudflare:
  api_token: CF_API_TOKEN

update:
  interval_seconds: 120

ip_detection:
  detect_ipv4: true
  detect_ipv6: false
  v4_endpoints:
    - https://api.ipify.org
    - https://ipv4.icanhazip.com
  v6_endpoints:
    - https://api6.ipify.org

logging:
  retention_days: 30

records:
  - name: home.example.com
    type: A
    proxied: true
    ttl: auto

배포

GhostlyDDns를 소규모 인프라 서비스처럼 실행하세요

Linux는 systemd 서비스와 타이머로 에이전트 재시작과 감사를 쉽게 할 수 있습니다. Windows는 작업 스케줄러로 주기 실행 가능하며, 로그는 쉽게 찾을 수 있고 구성 파일은 제한된 권한으로 보호해야 합니다.

Linux systemd 타이머

가능하면 전용 서비스 계정을 사용하고 구성을 보호된 디렉터리에 보관하세요.

systemd
[Unit]
Description=Run GhostlyDDns

[Service]
Type=oneshot
ExecStart=/usr/local/bin/ghostly-ddns once --config /etc/GhostlyDDns/config.yaml

[Timer]
OnBootSec=60
OnUnitActiveSec=120
Unit=ghostly-ddns.service

[Install]
WantedBy=timers.target

Windows 작업 스케줄러

몇 분마다 동일한 CLI 명령을 실행하고 정상 운영 중 비정상 종료 코드를 모니터링하세요.

Task Scheduler
schtasks /Create ^
  /SC MINUTE /MO 5 ^
  /TN "GhostlyDDns" ^
  /TR "C:\GhostlyDDns\ghostly-ddns.exe once --config C:\GhostlyDDns\config.yaml" ^
  /RL HIGHEST ^
  /F

에디션

DDNS 에이전트 실행 환경에 맞는 빌드를 선택하세요

각 라이선스는 선택한 에디션의 GhostlyDDns 1.x 업데이트를 포함합니다. 소규모 사무실은 Windows, VPS나 홈 서버는 Linux, 저전력 장치는 Linux ARM을 선택하세요.

데스크톱 또는 사무실

Windows

Windows 기기가 항상 온라인 상태를 유지하며 소규모 네트워크용 Cloudflare 레코드를 최신 상태로 유지해야 할 때 사용하세요.

Windows 에디션 열기
서버

Linux

무인 서비스가 이미 실행 중인 VPS, 홈 서버, 연구실 장비, 리버스 프록시 호스트에 사용하세요.

Linux 에디션 열기
저전력

Linux ARM

항상 켜져 있고 저부하로 작은 DDNS 에이전트를 실행할 수 있는 ARM64 장치에 사용하세요.

Linux ARM 에디션 열기

시작하기

운영 DNS 자동화 전 테스트용 레코드 하나로 시작하세요

임시 서브도메인을 만들고 GhostlyDDns를 dry 모드로 실행해 토큰 권한을 확인한 후, 실제 레코드에 동일한 설정을 적용하세요.

자주 묻는 질문

GhostlyDDns 자주 묻는 질문

Cloudflare 레코드, API 토큰, IPv6, 스케줄, 로그, 공급자 DDNS 기능이 충분한 경우에 대한 간단한 답변입니다.

GhostlyDDns가 자동화하는 작업은?

GhostlyDDns는 공인 IPv4 또는 IPv6 주소 변경 시 기존 Cloudflare A 및 AAAA 레코드를 업데이트하며, Cloudflare DNS를 대체하거나 호스팅 플랫폼을 생성하지 않습니다.

GhostlyDDns가 새로운 Cloudflare 레코드를 생성하나요?

버전 1은 이미 존재하는 레코드를 업데이트하는 용도입니다. 먼저 Cloudflare에 DNS 레코드를 생성한 후 GhostlyDDns가 대상 IP를 최신 상태로 유지합니다.

Cloudflare API 토큰은 어디에 저장해야 하나요?

GhostlyDDns가 실행되는 기기에 토큰을 저장하고 YAML 파일을 엄격한 권한으로 보호하세요. 토큰은 지정된 영역의 DNS만 편집할 수 있어야 합니다.

GhostlyDDns가 IPv6 레코드를 업데이트할 수 있나요?

예. 호스트에 실제 라우팅된 IPv6 주소가 있을 때 IPv6 탐지를 활성화하세요. GhostlyDDns는 탐지된 IPv6 주소 변경 시 AAAA 레코드를 업데이트할 수 있습니다.

공급자 DDNS가 충분한 경우는?

라우터나 호스팅 제공자가 이미 안전하게 Cloudflare를 업데이트하고 필요한 레코드를 지원하며 신뢰할 수 있는 로그를 제공한다면 공급자 DDNS로 충분할 수 있습니다.

에이전트 실행 주기는?

가정 및 사무실 네트워크에서는 2~5분 간격이 일반적입니다. 빠른 장애 전환이 필요 없으면 더 긴 폴링 간격을 사용하세요.