[첫화면으로]DynDNS

마지막으로 [b]

http://www.dyndns.org - 서비스 홈페이지

유동IP 에 도메인이름을 부여할 수 있게 해 줌. 학교에서 집에 있는 컴퓨터에 접속하기 위해서 사용함.

내 컴퓨터의 IP 주소가 변경되면 그 사실을 알려서 내 정보를 갱신해야 한다.

아래는 Alcatel Speed Touch Pro 외장형 ADSL 모뎀에 접속해서 내 IP 를 가져오는 스크립트

#! /bin/bash
TEMP=$HOME/.send_my_ip
LOG=$TEMP/log.txt
LOG_DDCLIENT=$TEMP/log_ddclient.txt

# ping 을 날려서 모뎀을 한 번 동작시킨다. (접속이 끊겨 있는 경우를 대비)
ping -c 3 147.46.80.1 > /dev/null

# 기존의 라우터 정보를 백업
mv -f $TEMP/ip_new $TEMP/ip_old

# 새 라우터 정보를 다운
rm -f $TEMP/index.html*

( cd $TEMP ; wget http://10.0.0.138/cgi/router/index.html )

# index.html 로부터 현재의 IP 주소 추출
grep "21" $TEMP/index.html | sed 2,\$d | sed s/^M//g | sed s/"  <TD ALIGN=CENTER >"//g | sed s/"<\/TD>"//g > $TEMP/ip_new

# 라우터 정보 비교
diff $TEMP/ip_new $TEMP/ip_old > $TEMP/ip_diff

if [ -s $TEMP/ip_diff ]
then

# 메일로 보낸다
  cat $TEMP/ip_diff | mail -s `cat $TEMP/ip_new` raymundo@kebi.com

# IP가 바뀌었을 때에는 dyndns 갱신
#  /usr/local/sbin/ddup --ip `cat $TEMP/ip_new` --host 내가등록한호스트명.dyndns.org
$TEMP/ddclient -daemon=0 -verbose -debug -noquiet -ip `cat $TEMP/ip_new` > $LOG_DDCLIENT

# log 남기기.. 사용하지 않음
#  cp -f $LOCAL/ip_log_new.txt $LOCAL/ip_log_old.txt
#       if !(grep "0.0.0.0" $LOCAL/ip_log_new.txt)
#       then
                echo ""
                echo -n "`date` : " >> $LOG
                echo -n " from [" >> $LOG
                cat $TEMP/ip_old | tr -d '\n' >> $LOG
                echo -n "] to [" >> $LOG
                cat $TEMP/ip_new | tr -d '\n' >> $LOG
                echo "]" >> $LOG
#       fi
fi

rm -f $TEMP/index.html*

정보 갱신을 위해서 ddup 라는 유틸리티를 사용했는데, 이게 요즘 제대로 동작하지 않는다. 그래서 ddclient 라는 것으로 변경. ([여기]에서 자신의 OS 에 맞는 정보갱신 클라이언트를 다운받을 수 있음)

Upload:ddclient.tar.gz

아래는 ddclient.conf 화일의 일종
use=ip
protocol=dyndns2                               # default protocol
server=members.dyndns.org:8245                  # default server (bypassing proxies)
login=내dyndns계정
password=내dyndns암호
server=members.dyndns.org:8245,         \
protocol=dyndns2                        \
내가등록한호스트명.dyndns.org

use=web 으로 할 경우, 자신의 IP 주소를 알려주는 웹사이트에 접속해서 IP 를 얻어올 수 있으니, 위의 쉘스크립트를 따로 쓸 필요가 없지만... 어찌된 일인지 내 환경에서는 올바른 IP 주소를 알아내지 못했다.


AnygateGW300A 인터넷 공유기를 샀더니만 제작사 측에서 이런 서비스를 제공한다. (와우~) 더 이상 DynDNS 를 쓸 필요가 없어짐.


컴퓨터분류

마지막 편집일: 2003-10-7 3:02 am (변경사항 [d])
2051 hits | Permalink | 변경내역 보기 [h] | 페이지 소스 보기