🎯 DuckDNS 무료 도메인 + 자동 IP 갱신 실무 배포 전과정

2025. 6. 15. 02:30·프로젝트

🎯 DuckDNS 무료 도메인 + 자동 IP 갱신 실무 배포 전과정


✅ 1. DuckDNS 서브도메인 생성 및 토큰 확보

  • duckdns.org 접속
  • 구글/깃허브로 로그인
  • 원하는 서브도메인(teamnotfound) 입력 후 [add domain]
  • “token” 값을 복사해서 메모장 등 안전한 곳에 저장

✅ 2. 서버에서 duckdns 폴더 및 스크립트 구성

  • SSH로 EC2(또는 서버)에 접속
  • 홈디렉토리에서 폴더 생성
mkdir ~/duckdns
cd ~/duckdns

✅ 3. duck.sh 스크립트 직접 작성 & 권한 부여

  • vi, nano 등으로 duck.sh 파일 생성
nano duck.sh
  • 아래처럼 작성(도메인/토큰 값 본인걸로!)
echo url="https://www.duckdns.org/update?domains=내도매인&token=토큰번호ip=" | curl -k -o ~/duckdns/duck.log -K -
  • 실행 권한 부여
chmod 700 duck.sh

✅ 4. duck.sh 수동 테스트 및 로그 확인

  • 직접 실행
./duck.sh
  • 결과 확인
cat ~/duckdns/duck.log

 

  • OK가 나오면 정상!
    → KO나 빈 값이면 도메인/토큰 오타, curl 설치 여부 등 확인

 


✅ 5. 자동 IP 갱신(crontab 등록) 및 주의사항

  • 크론 등록
crontab -e

 

  • nano(1번) 선택이 가장 편함
  • 맨 아래에 아래 한 줄 추가
*/5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1
  • 저장 후 종료(ctrl+O, Enter, ctrl+X)
  • 꿀팁: crontab -l로 등록 내역 확인 가능

✅ 6. 최종 동작 체크 & 실무 노하우

  • DuckDNS 대시보드에서 내 도메인(teamnotfound)의 IP가 서버 퍼블릭IP와 일치하는지 실시간 확인
  • 브라우저에서 http://teamnotfound.duckdns.org로 접속, 서비스 페이지 뜨는지 테스트
  • 권한/경로 실수가 가장 흔한 실수 → 항상 chmod 700, 경로 확인, 쉘스크립트 오타 점검
  • EC2는 반드시 보안그룹에서 80/443포트 오픈할 것!

⚠️ 실수 방지/장애 팁

  • “OK”가 안나오면 대부분 경로 오타, 토큰 오타, 실행권한 문제
  • duck.sh를 root가 아닌 일반 ubuntu 계정으로 등록하는 것 권장
  • 서버 재부팅 후에도 cron이 잘 돌아가는지 반드시 체크
  • 퍼블릭IP가 바뀌면 5분 후 자동 반영, 도메인 갱신 지연 시 duck.sh 직접 실행해보기

💡 정리/실무 요약

  • DuckDNS로 무료 서브도메인 발급 →
  • 서버에서 duck.sh로 IP 자동 업데이트 →
  • 5분마다 crontab으로 동적DNS 완성 →
  • 브라우저에서 내 도메인으로 실시간 접속 가능
  • 실무 배포/학습/테스트 환경 모두 OK

'프로젝트' 카테고리의 다른 글

EC2 재부팅 시 IP 변경 문제와 DuckDNS 전파 지연 해결 전략  (0) 2025.06.15
✅ 실무형 배포 시 인증서 발급~CSRF & 동기화 무한지옥까지 완벽 정리  (0) 2025.06.15
Gunicorn + Nginx 연동 프로세스별 정리  (1) 2025.06.15
Gunicorn이란? vs Nginx란? 아니죠 함께가야죠  (1) 2025.06.14
Django + Docker + CI/CD 자동배포 구축기(GitHub Actions, EC2 실전 완성)  (0) 2025.06.14
'프로젝트' 카테고리의 다른 글
  • EC2 재부팅 시 IP 변경 문제와 DuckDNS 전파 지연 해결 전략
  • ✅ 실무형 배포 시 인증서 발급~CSRF & 동기화 무한지옥까지 완벽 정리
  • Gunicorn + Nginx 연동 프로세스별 정리
  • Gunicorn이란? vs Nginx란? 아니죠 함께가야죠
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (801) N
      • Python (32)
      • 프로젝트 (115)
      • 과제 (25)
      • Database (40)
      • 멘토링 (11)
      • 특강 (37)
      • 기술블로그 (41)
      • 기술블로그-Fastapi편 (33)
      • 기술블로그-Django편 (154)
      • 기술블로그-Flask편 (36)
      • AI 분석 (5)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (77)
      • Fastapi (16)
      • 연예 (14)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    hotcoffeecase
    gpterror
    smartphonedurability
    chatgpterror
    homebartrend
    btsdischarge
    youngprofessionals
    chinanightlife
    뷔
    basalcellcarcinoma
    travel ban
    life reflection
    titaniumcase
    global politics
    bts
    americaparty
    RM
    college reunions
    self-growth
    lawsuitculture
    trumpmuskclash
    newpoliticalparty
    classaction
    americanlaw
    urbantrends
    btscomeback
    btsreunion
    btsjungkook
    remittance
    livebroadcast
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
🎯 DuckDNS 무료 도메인 + 자동 IP 갱신 실무 배포 전과정
상단으로

티스토리툴바