본문 바로가기

Maker Movement

DDNS(Google Domains), 집에 있는 라즈베리파이 설정

개요

대개의 경우 가정에서 사용하는 인터넷을 이용할 때,  KT등 인터넷 서비스 제공업체에서 컴퓨터 혹은 공유기에 동적 IP를 할당한다. 이 아이피를 사용, 외부에서 접근할 수 있지만 아이피가 변경될 수 있기에 매번 아이피를 확인해줘야 한다.


DDNS 서비스를 이용하면 매번 아이피를 확인해야 하는 불편함을 없앨 수 있다.



위의 그림은 작업할 내용에 대한 시스템 구성도이다. 현재 집에서 사용하는 인터넷 모뎀에 라즈베리 파이를 직접 연결하면 동적아이피가 할당 되는데, 여기에 도메인내 이름을 부여하고 외부에서 설정된 이름으로 접근한다. 이렇게 하면 라즈베리파이 장치에 할당된 아이피가 변경되어도 설정된 이름으로 계속 접근할 수 있다.


DDNS, Google Domains

DDNS(Dynamic DNS)는 DNS정보를 실시간으로 변경할 수 있는 체계이다. 동작 방식은 RFC-2136을 따르는 방식과 그렇지 않은  방식 두가지로 나뉜다. 두번째 방식에는 주로 웹서비스를 이용하는 등 다양한 것들이 있다. 


DDNS 서비스를 제공하는 곳은 많이 있다. 대표적인 곳이 NOIP사이트이다. 구글에서 운영하는 호스팅 서비스, Google Domains에서도 DDNS기능을 제공한다. 현재 이 곳에서 DNS 서비스를 받고 있기에, Google Domains를 통해 DDNS를 설정한다. 


DDNS 설정은 크게 2단계로 구성된다. 대부분이 이런 방식을 따른다.

  • DDNS 서버 설정 (서비스 제공하는 곳에서)
  • DDNS 클라이언트 설정 (대상 장치 혹은 대상 장치와 연결된 장치)


DDNS 서버 설정 (Google Domains)

관리화면에서 DNS탭으로 이동한다. 페이지 중간쯤, 종합레코드 부분에서 '동적DNS'를 선택하고 '하위도메인'입력란에 원하는 이름을 입력 후 '추가'버튼을 누르면 설정이 완료된다.

01



DDNS 클라이언트 설정

클라이언트 프로그램은 DDNS 서비스를 제공하는 곳에서 제공하기도 한다. 그러나 인터페이스 사양만 제공할 때도 있다. 대개의 경우 'ddclient' 프로그램을 사용하면 된다. 이 프로그램은 다양한 DDNS 인터페이스를 지원한다. 지원 목록은 여기서(https://sourceforge.net/p/ddclient/wiki/protocols/) 확인할 수 있다. 이 프로그램은 펄을 기반으로 제작되어 OS와 상관없이 동작할 것으로 생각되지만, 공식적으로 UNIX, Linux, FreeBSD 에서만 테스트 되었다고 적혀있다.


설치는 Linux의 경우 간단하다. 아래의 명령을 통해 설치한다. 그리고 설치할 때, 여러 항목을 물어보는데 모두 건너띄어도 된다. 설치 및 설정등 자세한 정보는 공식사이트서 확인한다.(https://sourceforge.net/projects/ddclient/)


apt-get install ddclient


설치가 된 후, 정확한 설정은 '/etc/ddclient.conf' 파일을 편집하면 된다. 아래는 Google Domains에 연결하는 설정이다.

protocol=googledomains

use=if

if=eth0

ssl=yes

login=**************

password=***************

xxxxx.z3.guru


설정내용중 login, password는 위에서 설정시 열었던 Google Domains 관리 페이지에서 확인 가능하다. 설정된 항목에 '사용자 인증 정보 보기' 를 클릭하면 인증정보가 보이는데, 이 값을 설정파일에 입력하면 된다. 여기서 주의할 점은 'ddclient.conf' 파일을 다른 계정에서 보이지 않도록 읽기 권한을 확인해야 한다. 맨 마지막 줄에 할당된 이름을 적는다.


DDNS 실시간 연동

모두 설정이 끝나면 'ddclient'를 실행하면 된다. 실행시 디버깅을 원한다면 여러 옵션을 줄 수 있는데, 아래처럼 명령어를 실행하면 된다.


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


또한 프로그램을 데몬으로 동작시켜 주기적으로 DDNS와 연동할 수 있다. 정상적으로 연동이 되면 Google Domains 관리 페이지에서 라즈베리파이 장치에 할당된 아이피가 설정된 것을 확인할 수 있다. 그리고 외부에서 설정된 이름으로 라즈베리파이 장치에 연결할 수 있다. 



마치며

'ddclient' 프로그램은 설치된 장치(컴퓨터)의 아이피 정보뿐만 아니라, 로컬망에 연결된 임의의 장치의 아이피도 DDNS 서버에 연동시킬 수 있다. 물론 해당 장치는 외부에서 접근할 수 있는 공용아이피를 할당 받아야 한다. 예를 들면 Airport 처럼 DDNS를 지원하지 않는 장치가 있을 경우, Airport에 연결된 컴퓨터에서 Airport장치를 DDNS에 연동시킬 수 있다.