2025. 4. 25. 17:21ㆍNetwork
실제 도메인 연결은 국내외 수많은 호스팅 업체가 존재하며 도메인에 따라서 가격도 천차만별이다.
물론 유료 호스팅을 사용하면 원하는 도메인을 설정할 수 있으며 당연히 안정성면에서도 뛰어나지만 비용이 드는 만큼 각자의 상황에 맞게 생성해 사용하면 된다.
우리에게는 가장 유명한 ipTime DDNS가 존재하는데 Duckdns 역시 사용법이 간단하며 간단한 테스트 용도 및 개인적인 사용용도로는 충분하다고 본다.
1. 본인 아이피(IP) 주소 확인
도메인 연결하기에 앞서 본인의 IP주소를 먼저 확인해 보자.
해당 IP는 외부에서 접속 시 필요한 IP로 도메인 연결 시 필요한 정보다.
아이피 확인 - my ip address
IP 주소를 확인하는 가장 쉽고 빠른 방법 이 사이트(findip.kr)에 접속하는 것이 IP주소를 확인하는 가장 쉽고 빠른 방법이다. 27.0.238.116 가 현재 접속한 기기의 공인 IP(Internet Protocol) 주소다 IP주소는
www.findip.kr

2. Duckdns 무료 도메인 생성
2.1 Duckdns 로그인
오늘은 Duckdns라는 무료 DDNS서비스를 사용해 도메인을 생성해 보자.
아래 링크를 통해 접속해 보면 도메인명에서 볼 수 있는 귀여운 오리 그림과 함께 심플한 화면이 등장한다.
접속링크 : https://www.duckdns.org/
로그인은 원하는 연동 방식을 선택하여 로그인 가능하다.

로그인 이후 ›››reCaptcha‹‹‹를 클릭하면 정상적으로 로그인된다.
token 정보는 추후 API를 통한 개인의 도메인 관리에 필요한 고유정보임으로 확인해 두도록 하자.


‼️참고로 error : reCaptcha too low, please try again 오류가 나는 경우 새로고침 후 다시 진행하면 된다.
2.2 도메인 생성 및 연결
DDNS 서비스라 duckdns.org 가 포함된 [서브도메인].duckdns.org 방식으로 사용가능하며 최대 5개까지 도메인 생성(연결)이 가능하다.
[sub domain] 부분에 원하는 도메인 명을 입력 후 add domain 버튼을 통해 생성 가능하다

‼️아래와 같이 오류가 나는 경우 기존 사용 중인 도메인이 있기 때문에 도메인을 변경하여 생성하면 된다.
도메인 등록이 완료되면 current ip 부분에 본인이 접속한 공인 IP가 자동 입력되는데 1.IP확인 부분에서 확인한 정보와 동일한지 확인해 보면 된다.
추후 수정/삭제하려면 update ip / delete domain 버튼을 통해 수정 가능하다.

2.3 도메인 연결 확인
도메인을 연결한 후 일정 시간이 지나면 등록처리가 되며 외부에서 접속이 가능하다.
아래처럼 ping명령어를 통해 간단하게 확인도 가능하며 별도의 접속가능한 서버 또는 페이지가 존재하는 경우 도메인을 통해 확인가능하다.
현재 집 공유기(ipTime) 접속페이지에 접속가능하도록 적용해 도메인 연결이 정상적으로 된 것을 확인할 수 있다.
//ping <본인의 Duckdns 도메인>
ping lovelettee.duckdns.org


3. API를 이용한 DNS 관리
3.1 Spec API
Duckdns는 DNS관리를 API형태로도 제공하고 있다.
홈페이지에 일일이 접속해 관리하는 것보다 활용도가 높기 때문에 여러모로 편리한 부분이 존재하며 사용법 또한 간단하여 쉽게 사용할 수 있다.
자세한 내용은 홈페이지의 Spce부분에서도 확인가능하다.

그럼 API의 호출 및 사용방법에 대해 확인해 보자.
3.1.1 HTTP API Specification
HTTP의 GET방식을 이용한 방식으로 Key=Value 형태의 파라미터(Parameter) 형태로 아래와 같이 전송가능하다.
https://www.duckdns.org/update?domains={YOURVALUE}&token={YOURVALUE}[&ip={YOURVALUE}][&ipv6={YOURVALUE}][&verbose=true][&clear=true]
- API 파라미터(Parameter) 정보
| 키(Key) | 필수여부(Required) | 값(Value) |
| domains | 필수 | 본인의 서브도메인명 ( .duckdns.org 를 제외한 도메인명 입력) |
| token | 필수 | 로그인시 확인가능한 본인의 Token 정보 ( `-` 를 포함한 전체정보 입력) |
| ip | 선택 | 연결하고자 하는 공인IP정보(입력하지 않는경우 본인이 접속한 공인IP자동입력) |
| ipv6 | 선택 | 연결하고자 하는 IPv6 형태의 IP주소 입력 |
| verbose | 선택 (Default : false) | 최종 확인정보에 디테일 정보 추가 여부 |
| clear | 선택 (Default : false) | IPv4, IPv6 정보 제거 |
최종적으로 호출 시 아래와 같은 형태가 될 것이다.
https://www.duckdns.org/update?domains=lovelettee&token=xxxxxxx-xxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx&ip=xxx.xxx.xxx.xxx

정상 호출 시 OK, 실패 시 KO로 응답값이 출력된다.
추가적으로 verbose=true 입력 시 아래와 같은 상세한 정보를 확인가능하다.
OK
127.0.0.2 [The current IP address for your update - can be blank]
2002:DB7::21f:5 bff:febf:ce22:8 a2 e [The current IPV6 address for your update - can be blank]
UPDATED [UPDATED or NOCHANGE]
3.1.2 Special no-parameter request format
기존 HTTP GET 호출방식 이외에도 Path Variable 방식의 호출도 가능하며 호출형태는 다음과 같다.
해당 호출방식도 Domain 및 Token은 [필수입력]이며, IP정보는 [선택사항]이고 verbose 및 clear는 사용할 수 없다.
특수문자(?, &) 사용이 제한된다던지 특별한 경우가 아니라면 직관적인 3.1.1의 호출방식을 사용해 호출하도록 하자.
https://duckdns.org/update/{YOURDOMAIN}/{YOURTOKEN}[/{YOURIPADDRESS}]
URL의 특정경로에 값을 설정하여 호출하는 방식으로 사용하면 되며 아래와 같은 형태로 호출하면 된다.
https://www.duckdns.org/lovelettee/xxxxxxx-xxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx/xxx.xxx.xxx.xxx

3.1.3 TXT Record API
추가로 TXT Record를 등록 가능한데, TXT Record란? 도메인 관리자가 DNS서버에 메모를 남길 수 있는데 현재는 해당 기능을 통해 스팸방지와 도메인 소유권 확인용도로 많이 사용된다.
TXT Recode의 자세한 설명은 Cloudflare에 자세하게 설명되어 있으니 해당 페이지에서 확인하고 여기서는 사용법에 대해서 알아보자. [링크 : TXT Record란?]
사용법은 기존 HTTP Get 방식의 호출방식에서 ip값을 제외하고 txt값이 추가된 것만 다르다.
이것 역시 verbose=true로 상세정보 확인이 가능하며, clear=true호출을 통해 기존 등록된 정보를 삭제할 수도 있다.
💡참고로 2차 도메인 이상을 사용할 경우 TXT Record는 모든 하위 도메인에 동일하게 적용됨.
(Ex. xxx.duckdns.org에서 등록할 경우 하위 yyy.xxx.duckdns.org 도메인도 동일하게 적용)
https://www.duckdns.org/update?domains={YOURVALUE}&token={YOURVALUE}&txt={YOURVALUE}[&verbose=true][&clear=true]
https://www.duckdns.org/update?domains=lovelettee&token=xxxx...&txt="Hi=Hellow"

위와 같이 정상 등록 후 서버에서 확인해 보면 정상적으로 TXT 값이 출력되는 것을 확인할 수 있다.
dig lovelettee.duckdns.org TXT

3.2 Duckdns Install
Duckdns의 Install 설정은 동적으로 DNS정보의 업데이트가 필요한 경우 API를 활용하여 각 서버 및 라우터 등 서비스에서 등록하여 사용하는 방식에 대한 설명으로 홈페이지의 install 부분에서 확인가능하다.
💡필요에 따라 동적 IP이거나 주기적으로 IP 등이 업데이트되어야 하는 경우 각 시스템에서 API를 호출하여 DDNS를 관리하는 방식으로 사용된다.

각각 시스템 및 라우터 등 항목의 적용방법은 install부분의 항목선택 시 자세하게 나와 있으니 해당 부분은 참고해서 사용하면 된다.
아래는 linux 시스템에 Cron으로 등록하는 방법에 대한 예시이다.

'Network' 카테고리의 다른 글
| 프록시 서버(Proxy Server) 개념 정리 (0) | 2025.05.20 |
|---|---|
| 로컬 RootCA 인증서를 통한 localhost SSL서버 구성 (0) | 2022.05.12 |
| 로컬 환경 SSL RootCA인증서 생성 (feat. 'Self Signed Certificate') (0) | 2022.05.12 |

