DMS 기본 DDNS 중에 CloudFlare가 없다.
검색해 보니 역시나 누가 만들어놨다.
하나씩 그대로 따라하기만 하면된다.
1. DSM 접속
2. 터미널 활성화
3. DSM에 SSH 터미널 접속
4. root 로 로그인
5. 터미널에 붙여넣기 ( github에 있는 cloudflaredns.sh 파일 다운로드 & DSM ddns 수정 )
wget https://gist.github.com/tehmantra/f1d2579f3c922e8bb4a0/raw/706f8db7d8506e62b17a5568951544e5c5ee0644/cloudflaredns.sh -O /sbin/cloudflaredns.sh
chmod +x /sbin/cloudflaredns.sh
cat >> /etc.defaults/ddns_provider.conf << 'EOF'
[CloudFlare]
modulepath=/sbin/cloudflaredns.sh
queryurl=https://www.cloudflare.com/api_json.html?a=rec_edit&tkn=__PASSWORD__&email=__USERNAME__&z=__HOSTNAME__&content=__MYIP__
EOF
6. CloudFare 의 API Key 복사 ( My Settins - Account - Global API Key )
7. 터미널에 붙여넣기 ( 현재 설정된 dns 정보 보기 )
url https://www.cloudflare.com/api_json.html \
-d 'a=rec_load_all' \
-d 'tkn=YOUR_API_KEY_HERE' \
-d 'email=YOUR_ACCOUNT_HERE' \
-d 'z=YOUR_ROOT_DOMAIN_HERE'
7-1. json으로 나온 데이터 쉽게 보기 위해 json viewer 사용 ( Online JSON Viewer )
7-2 데이터중 DDNS를 사용할 호스트의 rec_id, display_name 필드 필요
8. /sbin/cloudflaredns.sh 파일에서 아래 라인 수정
__RECID__="VALUE_OF_rec_id_FIELD"
__RECNAME__="VALUE_OF_display_name_FIELD"
9. DSM의 DDNS에 가면 CloudFlare가 생성되어 있음.
10. 호스트에 Root Domain, 사용자에 이메일, 패스워드에 (6)에서 찾은 API Key 입력
11. 터미널에서 아래 명령으로 로그 확인
tail -f /var/log/cloudflareddns.log
12. REMEMBER to disable the telent service after done. (잊지말고 텔넷서비스를 꺼라!)
댓글