ddclient로 Cloudflare를 DDNS로 사용하기

DDNS를 지원하지 않는 공유기를 사용중이라면, ddclient를 이용해 Cloudflare를 DDNS로 사용할 수 있다.

Cloudflare의 리소스대로 따라하면 잘 되지 않는다.

먼저, ddclient를 설치해야 한다. 설치는 프로젝트 홈페이지에서 직접 다운받아 설치할 수 있다. Debian 계열의 리눅스를 사용중이라면, apt install ddclient로도 설치할 수 있다.

설치하는 과정에 config파일을 만들기 위해 이것저것 정보를 물어보는데, 어차피 다 지우고 다시 입력할 것이기 때문에, 아무거나 입력해도 된다.

ddclient의 설정 파일은 /etc/ddclient.conf 에 있다. 물론, 시스템에 따라 다를 수 있다.

파일을 열고 아래와 같이 수정하면 된다.

ssl=yes
use=web
protocol=cloudflare
server=www.cloudflare.com
login=[Cloudflare 로그인 이메일]
password=[Cloudflare Global API Key]
zone=[도메인 이름]
[등록하려고 하는 호스트 네임]

Cloudflare Global API Key는 My Profile에서 알아낼 수 있다.

예를 들어, stack.news를 사용하고 싶으면 아래와 같이 설정 파일을 만들면 된다.

ssl=yes
use=web
protocol=cloudflare
server=www.cloudflare.com
login=[Cloudflare 로그인 이메일]
password=[Cloudflare Global API Key]
zone=stack.news
stack.news

test.stack.news를 사용하고 싶으면 아래와 같이 설정 파일을 만들면 된다.

ssl=yes
use=web
protocol=cloudflare
server=www.cloudflare.com
login=[Cloudflare 로그인 이메일]
password=[Cloudflare Global API Key]
zone=stack.news
test.stack.news

apt를 이용해 설치했으면, 자동으로 데몬에 등록이 된다.

직접 압축을 풀어 설치한 경우에는 crontab에 등록해서 사용할 수 있다.

정상적으로 되는지 확인은 Cloudflare에 로그인해서 알아볼 수 있으며, 터미널에 ddclient를 입력해 실행하거나, syslog를 열어서 로그를 확인할 수 있다.

FATAL: Error loading the Perl module JSON::Any needed for cloudflare update. 와 같은 에러가 발생하는 경우에는 apt install libjson-any-perl로 해결할 수 있다.

Cloudflare 프로토콜은 3.8.3 버전부터 지원한다.