🎯 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 |