'dnsever'에 해당되는 글 2건

  1. 2014.08.19 DNSEver DDNS Update for Windows
  2. 2014.06.22 DNSEver DDNS 로그 남기는 스크립트








 안녕하세요!

수정합니다..... 잘 되네요..... 업데이트 한다고 너무 했더니 서버에서 인증이 막혔었건거 같아요... ㅠㅠ

요게 리눅스용입니다..ㅎ 

 2014/06/22 - [OS/Linux] - DNSEver DDNS 로그 남기는 스크립트

그리고 이번에 생각해 본 Windows 용 소스(?)는 이와 같습니다.

@echo off
TITLE DNSEVER DDNS UPDATE SCRIPT
pushd %~dp0

SET USER=DNSEVER ID
SET PASSWORD=DDNS 인증코드
SET DDNS_HOST=%~n0
SET WGET="C:\Windows\System32\ddns\wget.exe"

%WGET% --http-user=%USER% --http-passwd=%PASSWORD% "http://dyna.dnsever.com/update.php?host[%DDNS_HOST%]&"
del "update.php@*"

 

입니다......

자 그럼 실제로 시스템에 적용해 보겠습니다.

첫번째 첨부파일을 받은 후 압축을 풀고 폴더 체로 C:\Windows\System32 에 옮겨주세요 됩니다......

 

ddns.zip
다운로드

그럼 C:\Windows\System32\ddns 가 되겠죠?

그다음 두번째 첨부파일을 받아 첨부파일처럼 정확한 주소로 이름을 변경한 뒤 적당한 곳에 두세요 

blog.hjlove.co.kr.cmd
다운로드

ddns.mydomain.co.kr 이런식으로요

그다음 ip가 변경되었다 싶으면 실행을 하거나

작업 스케줄러를 이용해 4시간에 한번 정도로 업데이트 해주시면 됩니다~

 

그럼 오늘 포스팅은 여기서 마무리 하겠습니다...^^

 



 

1

Posted by 현종이닷
,








[수정본] IP까지 남기도록 수정

파일 위치 : /usr/local/sbin/ddns_update.sh

 vi : /usr/local/sbin/ddns_update.sh

 

#!/bin/sh

 

 #* 변수 정의*#

mkdir -p /tmp/ddns/ 

dt=$(date +%y%m%d)

#* 도메인의 몸통만 적어주세요 예: wisegiga *#

NICK=''
#* 업데이트할 DDNS 주소를 입럭해 주세요 *#

DDNS_HOST=''
#* DNSEver 아이디와 DDNS 인증코드를 입력해 주세요 *#

USER=''
PASSWORD=''

#* 변경금지 변수 *#

WGET='/usr/bin/wget'
OPTS=-"O /tmp/ddns/ddns_${NICK}.tmp -o /dev/null"
curl -s ifconfig.me > "/tmp/ddns/tmp_ip_${NICK}"
IP=$(cat "/tmp/ddns/tmp_ip_${NICK}")

#* 로그가 남을 폴더를 지정해 주세요 $ 뒷부분은 수정 금지! *#
LOGDIR="/root/DDNS/${NICK}/"

mkdir -p ${LOGDIR}

${WGET} ${OPTS} --http-user=${USER} --http-passwd=${PASSWORD} "http://dyna.dnsever.com/update.php?host[${DDNS_HOST}]&"
sed -n '4p' /tmp/ddns/ddns_${NICK}.tmp | sed -n 's/.*code=\"\([^\"]\+\).*/\1/p' > /tmp/ddns/tmp_${NICK}

  case $(cat /tmp/ddns/tmp_${NICK}) in
    "720")
        echo -e "DDNS Update Success at $(date) -- $DDNS_HOST (${IP})" >> ${LOGDIR}/DDNS_Log_$dt
    ;;
    "201")
        echo -e "No Update Host Name at $(date) -- $DDNS_HOST (${IP})" >> ${LOGDIR}/DDNS_Log_$dt
    ;;
    "721")
        echo -e "Already Updated at $(date) -- $DDNS_HOST (${IP})" >> ${LOGDIR}/DDNS_Log_$dt
    ;;
    "304")
        echo -e "DDNS not registered or Not Your Domain at $(date) -- $DDNS_HOST (${IP})" >> ${LOGDIR}/DDNS_Log_$dt
    ;;
  esac

#* 임시 폴더 정리*#

rm -rf /tmp/ddns/ddns_${NICK}.tmp
rm -rf /tmp/ddns/tmp_${NICK} 

 

#* 스크립트 종료 *#

에디터 종료는 :wq

 

권한 설정  

chmod 750 /usr/local/sbin/ddns_update.sh

 

크론텝에 추가 for 4시간에 한번씩 실행

crontab -e

 

* */4 * * *        usr/local/sbin/ddns_update.sh

 

만일 크론텝이 안된다면

 

mkdir -p ${LOGDIR}

밑에 while ( : ) do

맨 밑에

sleep 4h

done

을 추가해 주시면 됩니다

 

 

Posted by 현종이닷
,