[Server] 미니 홈서버 구축하기 13편 - 우분투 DDNS 설정하기 (구글 도메인)

2021. 1. 31. 08:06Server

가정용으로 제공되는 IP 주소는 대부분 유동 IP입니다. 즉 IP 주소가 유동적으로 변경되는데, 서버를 운영하는 데에 있어 결코 좋은 환경은 아닙니다. 그렇기에 유동적으로 변경되는 IP 주소를 DDNS 기술을 이용하여 도메인을 연결해주는 작업을 해보도록 하겠습니다.

DNS와 DDNS

DNS

네트워크에 연결되어있는 모든 서비스들은 서버와 통신하거나 요청을 주고받을 때 IP 주소를 통하여 데이터를 주고받습니다. 하지만 이러한 IP 주소는 단지 숫자로만 이루어져 있기 때문에 개발자나 사용자가 사용하기에는 불편함이 있습니다. DNS (Domain Name System)는 일종의 IP 주소를 대신해주는 이름입니다. naver.com이나 google.com 등의 URL 주소 같은 것이 바로 IP 주소를 대신해주는 DNS입니다.

위와 같이 구글의 DNS인 google.com에 ping을 날리면 172.217.175.14라는 IP 주소로 연결되는 것을 볼 수 있습니다.

 

DDNS

DDNS는 Dynamic DNS 혹은 동적 DNS라고 불리는 기술입니다. 서버의 IP 주소를 실시간으로 감지하고 자동으로 DNS 서버의 IP 주소를 갱신해주는 기술입니다. 즉 유동 IP를 도메인을 통해 고정 IP처럼 사용하는 방식이라고 생각하시면 됩니다. 이는 비싼 가격을 지불하고 고정 IP를 구매하는 것보다 저렴하게 사용할 수 있기에 매우 유용합니다.

준비물

시작하기 앞서 약간의 준비물이 필요합니다. 개인이 사용할 도메인 주소가 필요한데, 도메인 주소는 주로 1년 12달러 (약 13,000원) 정도로 구매하실 수 있습니다. 해당 가격은 추후 변경될 수 있으며, 자세한 정보나 구매는 아래의 링크를 참고해 주세요.

https://domains.google/

 

Google Domains – Register Your Domain Name – Google Domains

Find your place online with a domain from Google, powered by Google reliability, security and performance.

domains.google

제가 알기로는 Google Domain은 현재 한국 서비스를 지원하고 있지 않습니다. 하지만 구매에 제약이 있는 것 또한 아니기 때문에, Visa 등 해외 결제가 되는 카드가 있다면 쉽게 구매하실 수 있습니다.

**본 포스트는 Google Domain을 기준으로 작성되었으며, 일부분 다른 부분이 있을 수 있습니다.**

DDNS 설정하기

DDNS 유저 정보 확인하기.

Google Domain을 구입하고 난 후, 왼쪽 탭에서 DNS를 찾아 들어갑니다.

 

이어서 Synthetic records 부분을 찾아서, Subdomain forward라고 되어있는 드롭박스를 눌러 Dynamic DNS를 선택해 줍니다.

그 후 subdomain에 원하는 subdomain을 입력한 후, add를 눌러줍니다.

그럼 위와 같은 화면이 보이게 되는데, View credentials를 누른 후 나타나는 Username과 Password를 따로 기록해둡니다.

 

ddclient 설치

ddclient는 DNS를 실시간으로 갱신해주는 프로그램입니다.

sudo apt-get install ddclient

위의 명령어를 입력하여 설치합니다.

 

설치하다 보면 위와 같은 화면이 나오게 되는데, other을 선택하고 넘어간 후, 모두 그냥 엔터를 눌러 스킵합니다.

 

모든 설치가 끝난 후,

sudo vi /etc/ddclient.conf

위의 명령어를 입력하여 ddclient의 설정 파일을 열어줍니다.

 

# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf

ssl=yes
use=cmd
cmd='curl ipecho.net/plain'
protocol=googledomains, \
login='mylogin', password='mypassword' your.domain.com

그리고 위의 내용에 아까 기록했던 정보들과 도메인을 기록한 후, 저장합니다. ('기호를 포함합니다.) 

 

sudo ddclient -daemon=0 -debug -verbose -noquiet

이후, 위와 같은 명령어를 입력합니다.

만약 콘솔창에 Done이나 Okay 등의 문구가 뜬다면, 성공적으로 완료된 것입니다.

이제 도메인을 이용하여 SSH나 NextCloud등에 접속하실 수 있습니다.

변경된 DNS가 적용될 때까지 대부분 몇 초, 몇 분이면 되지만, 최대 2일이 걸릴 수 있습니다.

만약 바로 접속이 안된다면, 조금 기다리신 후 다시 시도해 보세요.

 

다음에는 도메인에 SSL을 활성화해보도록 합시다.

참고

https://jiashun-zheng.medium.com/resolve-dns-with-dynamic-ip-for-google-domain-with-ddclient-7fc484120bc1

 

Resolve DNS with dynamic IP for google domain with ddclient.

Very often you will get a dynamic IP from your ISP, so whenever the IP changes you need to notify your domain service provider that you…

jiashun-zheng.medium.com

반응형