Synology DDNS에서 DNSEver 사용하는 2가지 방법 (사용자 DDNS 업체 사용하기)

무료 클라우드 서비스가 많이 있다.
일반적으로 사용하기에 충분한 용량를 제공하고 편리한 어플리케이션도 제공하고 있다.
그러나 개인적인 파일을 외부에 올리고 싶지 않고 HDD에 저장해서 보관하자니 클라우드 서비스 처럼 편하게 보고 싶었다.
그래서 NAS를 구매하게 되었는데, Synology DS214play를 사용하고 있다.

그런데 DDNS 설정에서 "서비스 제공업체" 목록에 사용하고 있는 업체가 없었다.
해결 방법이 있어서 공유한다.

DNSEver.com를기준으로 2가지 방법을 제안한다.

첫번째 방법:: 외부 액세스 > DDNS 기본 기능 사용하기

UI에서 선택 가능하도록 vi /etc.defaults/ddns_provider.conf 실행 후 맨 하단에 아래 내용을 추가한다.

[DNSEver]
        modulepath=/sbin/ddns_dnsever.sh
        queryurl=kr.dnsever.com

그리고 IP변경 사항을 적용하기 위해 vi /sbin/ddns_dnsever.sh 실행 후 아래 내용을 추가한다.

#!/bin/sh

# DNSEver Update
eval set -- "$@"
wget=$(wget -O - --http-user=$1 --http-passwd=$2 http://dyna.dnsever.com/update.php?host[$3]=$4)

# DNSEver Update Status
result=$(echo $wget | sed -n 's/.*host.*code=\"\([^\"]\+\).*/\1/p')
if [ $result == "" ]
    then
    result=$(echo $wget | sed -n 's/.*code=\"\([^\"]\+\).*/\1/p')
fi

# Synology Status
# 응답 코드 정보: https://support.dnsever.com/hc/ko/articles/219666247-%EB%8B%A4%EC%9D%B4%EB%82%98%EB%AF%B9-DNS-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C
case $result in
    700|701|720)
        echo "good";;
    721)
        echo "nochg";;
    201)
        echo "nohost";;
    320)
        echo "abuse";;
    202|301|304)
        echo "notfqdn";;
    101|102|103|104)
        echo "badauth";;
    203)
        echo "911";;
    302|303|305)
        echo "badagent";;
esac

이제 DSM > 제어판 > 외부 액세스 > DDNS > 추가 접속하면 "서비스 제공업체"에 확인 가능하다.

두번째 방법 :: 작업 스케줄러 사용하기

1. File Station > 생성 > 새 공유 폴더 생성 에서 script 이름으로 생성
2. 메인 메뉴 > 텍스트 편집기 > 파일 > 새로 만들기 후 아래 내용 입력
#!/bin/sh

# DNSEver Update
/usr/bin/wget -O - --http-user=아이디 --http-passwd=인증코드 http://dyna.dnsever.com/update.php?host[도메인]=아이피 > /volume1/script/ddns_dnsever.log

그리고 1번에서 생성한 script디렉토리에 ddns_dnsever.sh 파일 이름으로 저장한다.
3. DSM > 제어판 > 작업 스케줄러 > 생성 > 사용자 정의 스크립트의 일반 탭에서 아래 항목을 입력한다.
작업: DDNS
사용자 정의 스크립트: /volume1/script/ddns_dnsever.sh
스케줄 탭에서 실행 주기를 설정한다.

이제 모든 설정이 끝났다. 지정한 시간에 실행 결과는 script 디렉토리의 ddns_dnsever.log 파일을 확인하면 된다.


2가지 방법을 모두 소개했는데, 본인에게 편한 방법을 사용하면 된다.
첫번째 방법은 DSM에서 제공하는 기능을 이용하여 자체 로그가 기록되는 장점이 있지만 DSM 업데이트 시 해당 파일이 변경될 경우 다시 이 작업을 해줘야 하는 단점이 있다.
두번째 방법은 SSH 접속하지 않고 DSM에서 적용 가능하며 업데이트에 영향을 받지 않는 장점이 있지만 로그 관리는 직접해줘야 하는 단점이 있다.

bash
4월 30, 2014
3

Menu

Search

Popular Posts

디자이너를 위한 최고의 영화 (디자이너에게 영감을 주는 영화)

개인적으로 직접 조립하고 만드는걸 좋아했는데 만들기전에 만들어질 모습을 스케치하는 것을 즐겼습니다. 스케치 할때 머리 속에 있는 멋진 모습…

Bash 입문자를 위한 핵심 요약 정리 (Shell Script)

Bash 입문자를 위한 기본적인 문법과 알고 있으면 좋은 것들만 정리했다. (이런 것도 있구나 싶을 정도만 이해하도록 간단한 설명과 예제로 …

PHP7 공개 전 참고 사이트 소개

PHP7 공개가 2015년 10월이라고 한다. 그래서 인지 모르겠지만 부쩍 PHP7에 대한 글들을 많이 찾아볼 수 있어 참고해볼 만한 …

Contact Me