ddclient로 CloudFlare에 자동 동적 IP(유동 IP) DDNS 설정하기 (우분투)

ddclient로 CloudFlare에 자동 동적 IP(유동 IP) DDNS 설정하기 (우분투)

들어가며

(※ Cloudflare가 API v1이 사용 불가능해지고 v4를 사용하고 있어 최신 버전의 ddclient가 필요하게 되었습니다. 3.9.0 버전을 다루고 있으니 참고하시기 바랍니다.)

안녕하세요. 곰곰입니다.

이번에 gom2.net(곰투넷)에서 blog.gomgom.io(곰곰이오 블로그)로 명칭도 개편하고, 도메인도 새로 구입하고 했는데요. 새롭게 도메인을 옮기면서 우분투 서버를 공유기 아래에서 포트포워딩 하는 것이 아니라, 개별적으로 동적 IP(유동 IP)를 받을 수 있도록 네트워크를 변경하여 블로그 서버를 개편하였습니다.

이러다보니 한 가지 문제점이 생겼는데요. 예전에는 CloudFlare로 변하는 IP를 아수스 공유기가 보내주었습니다. (혹시 그 방법이 알고싶으시다면 ASUS 공유기에서 개인도메인 CloudFlare DDNS 설정하기를 참고하세요.)

하지만 서버가 단독으로 회선을 받고 나서는 그럴 수 없었는데요. 이 문제를 해결하기 위해 열심히 구글링을 하던 도중, 해결책을 찾게 되었습니다.

바로 ddclient를 활용하여 서버가 직접 CloudFlare에 IP를 보내줄 수 있도록 하는 방법입니다.

▶ 준비물

Ubuntu로 돌아가는 서버 (물론 CentOS 등의 리눅스도 가능할 수 있으나, 이 블로그의 명령어가 우분투를 중심으로 기술되기에 적용에는 수정이 필요)

– 콘솔에 접근 (SSH, 모니터를 통해 직접 하든 어떤 방식으로든)

– 간단한 Linux 관련 지식

ddclient 설치하기

ddclient란 DDNS 작업을 해주는 리눅스 어플리케이션으로서, 도메인 네임 서버(DNS)에 때때로 변하는 유동 IP를 보내주는 역할을 해 줍니다. ddclient는 DDNS로 유명한 dyndns 등을 지원하고 있었는데, 최근 3.8.3 버전부터는 CloudFlare를 깔끔하게 지원하기 시작했습니다.

Ubuntu 18.04 LTS 기준으로 apt-get을 통해 ddclient를 설치할 경우, 3.8.3 버전이 설치되는데, 3.8.1 버전 이하는 CloudFlare가 미지원, 3.8.2 버전에서는 불안정한 부분이 있어 apt-get을 통해 ddclient를 설치한 후, 3.9.0 버전으로 수동으로 업그레이드 해 주는 방법을 시도해보자 합니다.

먼저, apt-get을 이용해 ddclient 및 필요한 라이브러리를 설치해 줍니다.

[ apt-get 명령어를 통해 설치를 시작합니다. ]
[ apt-get 명령어를 통해 설치를 시작합니다. ]

설치를 하시다보면, ddclient를 어떤 곳과 연동시킬지에 대해 물어보는데, 어차피 나중에 수정될 내용이므로 대충 대답해주셔도 됩니다. 내용을 비우실 수 있는 것은 다 비우셔도 됩니다.

[ 어차피 나중에 내용을 전면 수정해야 하므로 대충 대답해주셔도 괜찮습니다. ]
[ 어차피 나중에 내용을 전면 수정해야 하므로 대충 대답해주셔도 괜찮습니다. ]

설치가 완료될때까지 쭉 응답하시면, 설치가 곧 완료되는 것을 확인하실 수 있습니다.

 ddclient 3.9.0 설치하기 (혹시 필요한 경우 버전 숫자를 바꿔 이용)

ddclient는 소스포지에서 최근 버전의 파일을 제공하고 있습니다. 업그레이드는 ddclient 최신버전 다운 – 압축 해제 – 기존 파일에 덮어쓰기 방식으로 이루어집니다.

먼저 소스포지(여기)에서 최신 버전이 3.9.0이 맞는지 확인합니다. (아마 최신 버전이 3.9.0 이후가 되어도 이 팁은 적용될 겁니다.) 최신 버전을 확인하고 다음과 같은 명령어로 콘솔에서 다운로드를 진행합니다.

이후 압축을 해제합니다.

압축을 해제했으면 ddclient 프로그램을 기존에 설치된 곳에 복사해 줍니다.

ddclient를 apt-get으로 설치한 이후 버전을 수동으로 업그레이드 한 경우, ddclient의 설정 파일(ddclient.conf)의 위치가 바뀌었기 때문에, 기존 위치에서 설정 파일의 위치를 바꿔주어야 합니다.

 ddclient 설정 파일 수정 후 실행해 보기

ddclient 설정 파일의 위치까지 변경했으면, 이제 ddclient.conf 파일을 수정해주면 끝이 납니다. 여러분들이 편한 에디터를 사용하셔서 파일 내용을 모두 지운 뒤 아래 내용을 붙여넣어 줍니다.

ddclient.conf 파일의 수정 예시는 다음과 같습니다. 아래 내용을 여러분들에 맞도록 수정하셔서 사용하시면 되겠습니다.

예를 들면 이러한 방식으로 적으실 수 있겠습니다.

다 적으셨으면, 저장하시고 다음과 같은 명령어로 실행을 해보시기 바랍니다.

이후 CloudFlare에 들어갔을 때, IP 주소가 바뀌어 있다면 설정 파일이 잘 적용된 것입니다. (적용까지 1~2분정도 걸릴 수 있음)

[ 잘 적용되면 이 부분의 IP가 현재 IP와 일치하게 바뀝니다. (ifconfig 명령어 등 활용하여 현재 IP 확인 후 비교) ]
[ 잘 적용되면 이 부분의 IP가 현재 IP와 일치하게 바뀝니다. (ifconfig 명령어 등 활용하여 현재 IP 확인 후 비교) ]

(옵션(?)) ddclient 재부팅 시 자동으로 실행되게 하기

간편하게 우분투에서는 재부팅시 크론탭(crontab)을 활용하여 명령어가 실행되게 할 수 있습니다. 아래 명령어를 통해 crontab 목록을 실행해 봅니다.

crontab 목록에 다음과 같이 입력하고 저장해 줍니다.

[ 다음과 같이 재부팅시 실행될 수 있도록 입력해 줍니다. ]
[ 다음과 같이 재부팅시 실행될 수 있도록 입력해 줍니다. ]

재부팅 시, 혹시 IP가 변했을 때 IP가 잘 변한다면 설정이 잘 된 것입니다.

끝마치며

DDNS 작업을 한 번 잘 설정해 두면, 앞으로 여러분들의 컴퓨터에 외부에서 접속할 때 훨씬 접속이 용이해질 수 있습니다.

CloudFlare와 관련된 자료가 국내에는 많이 존재하지 않는 만큼, 여러분들에게 이 부족할 수 있는 정보가 조금이나마 도움이 될 수 있으면 좋겠습니다.

두서 없는 글 잘 읽어주셔서 감사합니다.

※ 참고자료 : Dynamic DNS for CloudFlare with ddclient (Thanks, many!!)
https://jenssegers.com/84/dynamic-dns-for-cloudflare-with-ddclient

이런 글들은 어떠신가요?

PuTTY(또는 KiTTY등 PuTTY기반 SSH)에서 한글 쉘 사용하기... ▶ 들어가며 PuTTY는 최근 SSH(Secure SHell)을 구동할 수 있는 다양한 클라이언트들이 나와있음에도 불구하고, 강한 능력과 가벼운 프로그램으로 인해 오늘날에도 많이 쓰이고 있는 SSH 클라이언트입니다. 다만, 이 클라이언트가 지속적으로 업데이트 되고 ...
웹 서버 프로토콜(HTTP/SSL/SPDY/HTTP2) 전송 상태 확인하기... ▶ 들어가며 웹서버를 구축하며 웹 서버의 보안 또는 HTTP 통신 프로토콜에 신경을 쓰는 것은 굉장히 중요합니다. HTTP(하이퍼텍스트 전송 규칙; HTTP에 대해 자세한 정보가 필요하시면 여기(나무위키)나 여기(위키피디아)를 참고하세요.)는 첫 상용...
WordPress (또는 과거 PHP 프로그램) 에서 UTC 시각이 잘못 표시될 때... ▶ 문제점 - WordPress 설정에서 UTC 시각이 표현되야 하는 부분에서 UTC 시각이 아닌 현지 시각이 표시되는 문제가 발견됨 - 이는 워드프레스 게시글 발행 시간이 한국 같은 경우에는 9시간 전으로 표시되는 등, 시각 표시가 이상해지...
라즈베리 파이2B에 설치한 Ubuntu MATE 간단한 최적화 하기... ▶ 들어가며 안녕하세요. 곰곰입니다.저번 블로그 글(워드프레스 Nginx 라즈베리파이로 서버 설치 또는 이전)에서 라즈베리파이2에 Nginx + PHP5 + MariaDB를 설치하기 위하여 라즈베리파이용 Ubuntu MATE를 설치하였습니다. Ubuntu MA...

2 thoughts on “ddclient로 CloudFlare에 자동 동적 IP(유동 IP) DDNS 설정하기 (우분투)

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다