DNSZi에서 Dynamic DNS (리눅스 DDNS 자동 업데이트 설정)관리 하는 법

우리나라 인터넷 서비스 업체에서 일반 가정에 제공하는 공인 IP는 유동IP 입니다 최근 모바일 기기의 발달로 일반 가정에서 사설 서버를 구축 하는 사람들이 늘어 났습니다. 가정 내에서 이용기엔 공유기 내부 아이피만 알고 있으면 되기 때문에 크게 문제가 되지 않지만, 외부에서 접속하기 위해서는 서버에 연결된 IP가 고정적이어야 하는데 매번 ip가 변경이 된다면 접속하기 곤란 할 것입니다. 다행이도 이러한 문제를 해결 할 수 있는 방법이 있습니다. DNS를 관리해주는 사이트에서 DDNS서비스를 통해 IP가 변경이 되어도 자동으로 변경된 IP를 연동하는 방식으로 고정 IP효과를 낼 수 있습니다. 제가 주로 이용하는 DNSZi에서 서비스하는 리눅스에서 DDNS 설정 방법을 소개하도록 하겠습니다.

1. DNSZi 웹사이트에서 할 일

먼저 DNSZi 웹사이트에서 해야 할 일 이 있습니다. 아래 이미지와 같이 도메인 관리에서 호스트IP 관리 (A레코드) 탭으로 들어가서 A레크드를 추가 해야 합니다.


A레코드는 공란(아무것도 입력하지 않음)도 등록할 수 있습니다. 원하는 A레코드를 입력하고 IP 주소에는 서버 또는 공유기에 들어오는 외부IP주소를 입력 합니다. 그리고 DDNS 설정에서 드랍메뉴에서 O를 선택 해주고 해당 A레코드를 추가해줍니다.

 

다음으로, 고급관리 탭으로 이동하세요.


고급관리 탭으로 이동하면, 바로 Dynamic DNS 관리 메뉴가 보입니다. 이곳에서 인증키를 발급받아야 합니다. 인증키 생성을 클릭 후, 인증키가 생성이 되면 바로 인증키 저장을 눌러주세요. 그리고 바로 밑에 리눅스용 DDNS 자동 업데이트 방법을 눌러주면 위 이미지와 같이 상세한 내용이 나옵니다. 이것을 서버에서 사용 할 겁니다.

 

위 명령어는 5분 마다 해당 도메인의 ip를 확인 해서 만약 ip가 다를 경우 자동으로 DNS서버의 ip를 변경 해주는 역할을 하게 됩니다. #curl 또는 #wget 중에서 하나만 사용하면 됩니다.

2. 리눅스 서버에서 할 일

사용된 서버 OS: CentOS7

 

저는 #wget을 사용하는 방법으로 설정 하도록 하겠습니다. 서버를 관리하는 터미널을 통해 들어간 후, 아래와 같이 따라하면 설정은 간단하게 끝이 납니다.

 

먼저 vi 명령어로 /etc/crontab 열어 편집을 하도록 하겠습니다.

# vi /etc/crontab

 

편집화면이 열리면, 제일 하단에 DNSZi사이트에서 #wget사용시에 해당하는 내용을 복사해 붙여 넣어 주세요.

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs
 
# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
*/5 * * * * /usr/local/bin/wget -q -O - 'http://ddns.dnszi.com/set.html?user=username&auth=인증키&domain=domain.com&record='
*/5 * * * * /usr/local/bin/wget -q -O - 'http://ddns.dnszi.com/set.html?user=username&auth=인증키&domain=domain.com&record=www'


위와 같이 붙여넣기를 했으면, :wq!를 입력해 저장 후 나옵니다. 그러면 리눅스에서 DDNS설정이 끝이 났습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다