[도메인] nsupdate 를 이용한 유동 IP에 도메인 먹이는 프로그램
———————————————————-
유동 IP에 도메인 먹이기..
———————————————————-
comfuture at studyfriend.net
우선 자신이 운영하는 리눅스 기반 dns 서버가 있다는 가정하에 설명합니다.
bind 8 에서 테스트 했구요..
원리는 nsupdate를 사용하는 겁니다.
nsupdate를 사용해서 실시간으로 도메인을 발급하려면
named.conf 파일에서 해당 도메인에 대해 allow-update 를 활성화 시켜주셔야 합니
다.
zone “yourdomain.com” {
type master;
file “zone-yourdomain.com”;
allow-update { 123.123.123.123; };
};
yourdomain.com 은 여러분이 가지고계신 도메인 이름이구
123.123.123.123 은 해당 아이피주소라는건 아시겠져?? ㅡㅡ;
자.. 그럼 쉘상에서 nsupdate 라는 프로그램으로 업데이트를 바로 할 수가 있습니다. 사
용 방법은 kldp.org 가서 자세히 읽어보시고..
nsupdate를 이용하면 변경 즉시 효과가 나타난다는 점입니다.. dns 서버를 내렸다 올
릴 필요가 없져… 그리고 dns서버를 내릴때 지금까지 메모리에서 업데이트 한 내용을
zone 파일에 기록해준답니다.
그럼.. php를 가지고 실시간으로 업데이트를 하는걸 만들어보자면..
## adddomain.php
## $domain 은 쿼리로 입력받는 변수입니다.
## 추가하고자 하는 도메인 이름 $domain.yourdomain.com ^^
$fh=popen(“/usr/bin/nsupdate”,”w”);
$foo=fread($fh,2);
fwrite($fh,”prereq yxdomain yourdomain.com. \\r\\n”);
$foo=fread($fh,2);
fwrite($fh,”update delete $domain.yourdomain.com. \\r\\n”);
// delete를 하는 이유는.. nsupdate가 자동 갱신을 해주지 않기 때문입니다.
// 그냥 add를 하시면 두개 레코드가 모두 들어가서 오류가 나겠져..
// 이부분을 깔끔하게 정리하셔야 할겁니다.
$foo=fread($fh,2);
fwrite($fh,”update add $domain.yourdomain.com. 0 IN
A “.$REMOTE_ADDR.”\\r\\n”);
$foo=fread($fh,2);
fwrite($fh,”\\r\\n”);
$foo=fread($fh,2);
fwrite($fh,”^D\\r\\n”);
$foo=fread($fh,8096);
unset($fh);
echo “$domain.yourdomain.com is Forwarded to $REMOTE_ADDR”;
?>
사용방법은 웹상에서 http://yourdomain.com/adddomain.php?domain=kim
이런식으로 입력하면..
kim.yourdomain.com 은 주소를 입력한 사람의 현재 ip주소로 바로 변경이 되게 되져..
다음번에 컴터를 켜서 아이피가 바꼈으면 다시 저 주소에 접속하는것만으로 도메인을 유
지할 수 있습니다. 보통 유동 도메인 주는 사이트처럼 트레이에 떠있는 프로그램을 깔 필
요가 없구요..
컴을 켤때 한번씩 접속하라구 하시던가.. 시작프로그램에 주소를 입력해두시면 되는거
져
위의 프로그램으로 바로 사용할수 없다는건 아실겁니다..
아무나 변경할 수 있기에.. 로그인 과정등이 필요하겠져..
그냥 알고리즘이랑 팁 개념에서 올려봤습니다..
잘 정리해서 돈 벌어먹으려고도 생각해봤는데.. 이미 웹에서 업데이트 해주는 회사도 본
거같고..
그냥 정보공유하는 차원에서 올립니다..
친절하게두 테스트할 수 있는 url을 올리도록 하져..
첫째.
http://studyfriend.net/dns/test.php 에 접속합니다.
둘째.
http://test.knowhowtv.com 에 접속하시면 여러분의 아이피주소에
접속하려고 애쓰고
있는 웹브라우져를 발견하게 될겁니다..
물론 웹서버를 돌리지 않고 계실테니 에러가 날테고..
뭐 윈엠프 방송 하시는 분들은.. http://test.knowhowtv.com:8000/listen.pls 이런식으
로 주소를 사용하시는것도 가능합니다..
테스트 하시는 도중 다른분이 (첫째)에 나온 주소에 접속했다면 그분 주소로 바뀔테니..
저 주소를 영영 사용하시려고 생각은 마시구요 ^^
응용해서 많은 좋은 팁들이 나오길 기대합니다.