일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 벤치마크
- youtube
- 파이어폭스
- Firefox
- 윈도우즈
- 자바스크립트
- 리눅스
- MFC
- Hirano Aya
- 平野綾
- xml
- Microsoft
- 맞춤법
- 프린터
- php
- 오카자키 리츠코
- Okazaki Ritsuko
- 백업
- 옥션
- 한국어
- 마비노기
- KBS한국어능력시험
- gentoo
- vbscript
- 프로그램
- USB메모리
- 岡崎律子
- synology
- KBS
- VMware
Archives
- Today
- Total
ARCHIVE ...
Synology에서 DDNS로 DNSEver사용하기 본문
준비
DSM에서 제어판>터미널에서 SSH서비스 활성화를 체크해서 SSH서비스를 시작한다. putty로 NAS에 root 사용자로 접속하여 작업을 한다.(root는 admin사용자와 password가 같다.)/etc.defaults/ddns_provider.conf 수정
# Input: # 1. DynDNS style request: # modulepath = DynDNS # queryurl = [Update URL]?[Query Parameters] # # 2. Self-defined module: # modulepath = /sbin/xxxddns # # Our service will assign parameters in the following order when calling module: # ($1=username, $2=password, $3=hostname, $4=ip) # # Output: # When you write your own module, you can use the following words to tell user what happen by print it. # You can use your own message, but there is no multiple-language support. # # good - Update successfully. # nochg - Update successfully but the IP address have not changed. # nohost - The hostname specified does not exist in this user account. # abuse - The hostname specified is blocked for update abuse. # notfqdn - The hostname specified is not a fully-qualified domain name. # badauth - Authenticate failed. # 911 - There is a problem or scheduled maintenance on provider side # badagent - The user agent sent bad request(like HTTP method/parameters is not permitted) # badresolv - Failed to connect to because failed to resolve provider address. # badconn - Failed to connect to provider because connection timeout. # [DYNDNS.org] modulepath=DynDNS queryurl=members.dyndns.org/nic/update?hostname=__HOSTNAME__&myip=__MYIP__&system=dyndns&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG [TwoDNS.de] modulepath=DynDNS queryurl=update.twodns.de/update.php?hostname=__HOSTNAME__&myip=__MYIP__ [NoIP.com] modulepath=DynDNS queryurl=dynupdate.no-ip.com/nic/update?hostname=__HOSTNAME__&myip=__MYIP__ [able.or.kr] modulepath=DynDNS queryurl=able.or.kr/ddns/src/update.php?hostname=__HOSTNAME__&myip=__MYIP__&ddnsuser=__USERNAME__&pwd=__PASSWORD__ [3322.org] modulepath=DynDNS queryurl=www.3322.org/dyndns/update?hostname=__HOSTNAME__&system=dyndns [selfHOST.de] modulepath=DynDNS queryurl=carol.selfhost.de/nic/update?hostname=__HOSTNAME__&myip=__MYIP__ [Dynamic DO!.jp] modulepath=Ddojp queryurl=free.ddo.jp/dnsupdate.php?dn=__HOSTNAME__&pw=__PASSWORD__&ip=__MYIP__ [ChangeIP.com] modulepath=DynDNS queryurl=nic.ChangeIP.com/nic/update?hostname=__HOSTNAME__&myip=__MYIP__&system=dyndns [DNSPod.com] modulepath=DNSPod queryurl=dnsapi.cn/Record.Modify?login_email=__USERNAME__&login_password=__PASSWORD__&format=xml&domain_id=__DOMAINID__&record_id=__RECORDID__&sub_domain=__SUBDOMAIN__&record_type=A&record_line=__RECORDLINE__&value=__MYIP__&mx=__MX__&ttl=__TTL__ [Zoneedit.com] modulepath=Zoneedit queryurl=dynamic.zoneedit.com/auth/dynamic.html?host=__HOSTNAME__&dnsto=__MYIP__ [Freedns.org] modulepath=Freedns queryurl=freedns.afraid.org/dynamic/update.php?user=__FreednsSHA1__&host=__HOSTNAME__&address=__MYIP__ [Oray.com] modulepath=DynDNS queryurl=ddns.oray.com/ph/update?hostname=__HOSTNAME__&myip=__MYIP__ [Synology] modulepath=Synology queryurl=myds.synology.com register_module=synology [DNSEver] modulepath=/sbin/dnseverddns.sh queryurl=kr.dnsever.com
/sbin/dnseverddns.sh 파일 생성
로그파일이 admin계정에 dnsever.log로 파일이 만들어진다. 로그파일이 필요 없다면 2번째 줄의 logfile값에 /dev/null을 넣으면 생성되지 않는다. ip가 업데이트되면 DSM에 로그가 남기 때문에 로그파일을 만들 필요는 없다.#!/bin/sh logfile="/volume1/homes/admin/dnsever.log" eval set -- "$@" echo -e "$(date)\tParameter($@) : $1, $2, $3, $4" >> $logfile wget=$(wget -O - --user=$1 --password=$2 \ http://dyna.dnsever.com/update.php?host[$3]=$4) result=$(echo $wget | sed -n 's/.*host.*code=\"\([^\"]\+\).*/\1/p') if ["$result" == ""]; then result=$(echo $wget | sed -n 's/.*code=\"\([^\"]\+\).*/\1/p') fi 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 $wget >> $logfile echo "badauth";; 203) echo "911";; 302|303|305) echo "badagent";; esac echo -e "\tResult : $result\r\n" >> $logfile
설정
설정하기 전에 SSH서비스를 중지시킨다. 호스트이름은 도메인 이름, 사용자 이름은 DNSEver ID, 패스워드는 인증코드를 넣으면 잘 작동한다.
문제점
사용상의 문제는 없으나 시놀리지 자체적으로 DDNS가 문제가 있어 보인다. 설정을 하고 로그를 보면 알겠지만 IP가 바뀌지 않았는데도 한번씩 ip를 변경한다. 뭐, 업데이트 해준다는데 문제는 없지만 간혹 가다가 ip를 0.0.0.0으로 업데이트를 시도한다는 것이 문제. 더 자세한 사항은 아래 링크를 따라가보면 알 수 있다. DSM쪽의 문제인 거 같다. Synology Forum : myds.synology.com down and DDNS not working
Comments