[도메인] 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 이런식으

로 주소를 사용하시는것도 가능합니다..

테스트 하시는 도중 다른분이 (첫째)에 나온 주소에 접속했다면 그분 주소로 바뀔테니..

저 주소를 영영 사용하시려고 생각은 마시구요 ^^

응용해서 많은 좋은 팁들이 나오길 기대합니다.

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.