Openwrt : Duck Dns 설정.

한동안 Openwrt 에 대한 글이 주르륵 올라갈 예정인데, 그 첫 타자로 Duckdns 를 택했다.

다음 글들을 참고했다.

Openwrt : DDNS Client
Openwrt : DDNS Client DuckDNS

먼저 Duck Dns 로 이동하여 계정을 만든다. 사용하고자 하는 IP 에서 Duck Dns 에 접속했다면, 내게 주어진 숙제는 도메인 이름을 고르는 일 뿐. 도메인명을 고르고 나면, 전체 이름은 xxxx.duckdns.org 가 된다.

여기서 필요한 재료는 모두 두가지이다.

  • 내가 만든 도메인명
  • 그리고 token

luci 로 해도 되고, CLI 로 해도 되지만, 적어도 이번 판은 CLI 가 편하다.

설치

공유기로 접속한 후, 다음 명령으로 몇가지 필요한 꾸러미를 설치한다.

opkg update
opkg install ddns-scripts
opkg install ca-certificates
opkg install wget
opkg install luci-app-ddns

설정

다음, /etc/config/ddns 파일을 편집해야 한다. 원래 있던 파일을 지워도 괜찮긴 하지만, 혹시 모르니 다른 이름으로 저장해놓고, 다음 내용을 대신 채워 넣는다. (즉, 원래 내용은 지워야 한다.)

config service "duckdns"
	option enabled		'1'
	option interface	'wan'
	option username		'도메인명'
	option domain		'도메인명.duckdns.org'
	option password		'토큰'
	option ip_source	'network'
	option ip_network	'wan'
	option check_interval	'1'
	option check_unit	'hours'
	option update_url	'http://www.duckdns.org/update?domains=[USERNAME]&token=[PASSWORD]'
	option use_https	'1'

‘도메인명’ 과 ‘토큰’에, Duck Dns 의 내용을 그대로 넣어준다.
option update_url 은 그냥 저대로 입력한다. USERNAME 에 도메인명을, PASSWORD 에 token 을 넣는게 아니고, 그냥 넣는다.

또, 원래 항목은 아래처럼 되어 있지만,

http://www.duckdns.org/update?domains=[USERNAME]&token=[PASSWORD]&ip=[IP]

ip 부분을 빼버리라는 설명이 있어서 그대로 했는데, 잘 되는 듯 하다.

그리고 이 다음이 좀 애매하긴 한데, ca-certificates 꾸러미는 설치하지 말고, 대신 파일을 직접 받아쓰라고 권장하고 있다. (확인은 했으나 좀 애매한 부분이 있다. 일단 ca-certificates 는 설치하도록 한다.)

wget  --no-check-certificate -O /etc/ssl/certs/ca-certificates.crt http://curl.haxx.se/ca/cacert.pem

실행

/etc/init.d/ddns enable # 공유기 재시동시에도 자동 시작되도록.
/etc/init.d/ddns start # 지금 당장 시작. (또는 stop, restart)

여기까지로 끝.
Luci 의 Service - Dynamic DNS 항목으로 가서, Log 를 보면 제대로 성공했는지 아닌지 확인할 수 있다.


WAN 포트로 공인 IP 를 받는 경우, 외부 서비스(Duck Dns 등)를 통하지 않고 스크립트를 사용해서 바로 IP 를 확인한 후, ddns 에 연결해 줄 수도 있다.
그런데, 굳이 필요하진 않을 듯. 안 그래도 잘 되고, 사실 공유기가 바뀌지 않는 한 IP 가 잘 유지되기에, 이럴 필요는 없을 듯 하다. (내 환경은 이런데, 다른 ISP 하에서는 또 다르겠지.)

안녕하세요. 글 남겨주셔서 고맙습니다.