Ubuntu에서 Cloudflare DDNS를 설정하는 방법을 단계별로 설명합니다.
1. Cloudflare에서 DDNS 설정 준비
① Cloudflare 계정 생성 및 도메인 등록
- Cloudflare에 가입
- 자신의 도메인을 Cloudflare에 추가
- 네임서버를 Cloudflare로 변경 (기존 도메인 제공업체에서 설정)
- 이번에 설정할 A레코드를 추가해 놓기

② API 토큰 생성
- Cloudflare API Tokens로 이동
- “Create Token” 클릭
- “Edit zone DNS” 템플릿 선택 후 다음 정보 설정
- Permissions → “Zone” / “DNS” / “Edit”
- Zone Resources → “Include” / “Specific Zone” / (자신의 도메인 선택)
- “Continue to summary” → “Create Token” 클릭
- 생성된 API Token을 복사하여 저장





2. Ubuntu에서 Cloudflare DDNS 자동 업데이트 설정
① Cloudflare API를 이용한 DDNS 스크립트 작성
nano ~/cloudflare-ddns.sh
아래 내용을 입력 (자신의 정보로 변경)
#!/bin/bash
# 사용자 설정값
ZONE_ID="YOUR_ZONE_ID" # Cloudflare 대시보드에서 확인
RECORD_ID="YOUR_RECORD_ID" # Cloudflare API에서 확인
API_TOKEN="YOUR_CLOUDFLARE_API_TOKEN" # API 토큰 입력
EMAIL="YOUR_CLOUDFLARE_EMAIL" # Cloudflare 계정 이메일
DOMAIN="yourdomain.com" # 업데이트할 도메인
SUBDOMAIN="sub" # 설정할 서브도메인 (예: sub.domain.com)
# 현재 공인 IP 가져오기
IP=$(curl -s https://ipv4.icanhazip.com)
# Cloudflare API를 통해 레코드 업데이트
RESPONSE=$(curl -s -X PUT "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/$RECORD_ID" \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
--data "{\"type\":\"A\",\"name\":\"$SUBDOMAIN.$DOMAIN\",\"content\":\"$IP\",\"ttl\":120,\"proxied\":false}")
# 성공 여부 확인
if echo "$RESPONSE" | grep -q '"success":true'; then
echo "[$(date)] IP 업데이트 성공: $IP"
else
echo "[$(date)] IP 업데이트 실패: $RESPONSE"
fi
- ZONE_ID 및 RECORD_ID는 Cloudflare API에서 조회
curl -X GET "https://api.cloudflare.com/client/v4/zones" \
-H "Authorization: Bearer YOUR_CLOUDFLARE_API_TOKEN" \
-H "Content-Type: application/json"
→ id 값을 ZONE_ID에 설정
curl -X GET "https://api.cloudflare.com/client/v4/zones/YOUR_ZONE_ID/dns_records" \
-H "Authorization: Bearer YOUR_CLOUDFLARE_API_TOKEN" \
-H "Content-Type: application/json"
→ id 값을 RECORD_ID에 설정
② 스크립트 실행 권한 부여
chmod +x ~/cloudflare-ddns.sh
③ 수동 실행 테스트
~/cloudflare-ddns.sh
정상적으로 IP가 업데이트되는지 확인
3. 자동 실행 설정 (크론 잡 추가)
crontab -e
맨 아래 추가 (5분마다 실행)
*/5 * * * * ~/cloudflare-ddns.sh >> ~/cloudflare-ddns.log 2>&1
4. 설정 완료 및 확인
- Cloudflare 대시보드에서 IP가 정상적으로 업데이트되는지 확인
- ~/cloudflare-ddns.log 파일을 확인하여 자동 업데이트 로그 기록 확인
이제 Ubuntu에서 Cloudflare DDNS를 자동으로 설정하여 사용할 수 있습니다.