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 스크립트 작성
1 | nano ~ /cloudflare-ddns .sh |
아래 내용을 입력 (자신의 정보로 변경)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #!/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에서 조회
1 2 3 | -H "Authorization: Bearer YOUR_CLOUDFLARE_API_TOKEN" \ -H "Content-Type: application/json" |
→ id 값을 ZONE_ID에 설정
1 2 3 | -H "Authorization: Bearer YOUR_CLOUDFLARE_API_TOKEN" \ -H "Content-Type: application/json" |
→ id 값을 RECORD_ID에 설정
② 스크립트 실행 권한 부여
1 | chmod +x ~ /cloudflare-ddns .sh |
③ 수동 실행 테스트
1 | ~/cloudflare-ddns.sh |
정상적으로 IP가 업데이트되는지 확인
3. 자동 실행 설정 (크론 잡 추가)
1 | crontab -e |
맨 아래 추가 (5분마다 실행)
1 | * /5 * * * * ~ /cloudflare-ddns .sh >> ~ /cloudflare-ddns .log 2>&1 |
4. 설정 완료 및 확인
- Cloudflare 대시보드에서 IP가 정상적으로 업데이트되는지 확인
- ~/cloudflare-ddns.log 파일을 확인하여 자동 업데이트 로그 기록 확인
이제 Ubuntu에서 Cloudflare DDNS를 자동으로 설정하여 사용할 수 있습니다.