유동IP를 Dynamic DNS로 변경

퍼온곳:http://blog.naver.com/jjzhyh586/20019167405

유동IP를 이용하여 서버를 운영하고 싶은 경우 이용하는 것이 DDNS이다.
w3ip.com를 비롯하여 여러 사이트에서 기본 기능외에 다양한 추가기능을 제공하고 있다. 하지만 나와 같이 고정IP를 이용해 DNS을 운영하는 경우 BIND8부터 제공하는 NSUPDATE명령을 통해 DNS를 실시간으로 수정할 수 있다.
예를 들어 운영하고자 하는 유동IP로 되어 있는 PC에서 아래 PHP소스로 구성된 URL를 호출하는 것만으로 도메인에 자동 등록처리된다.

<?
    // $domain 은 쿼리로 입력받는 변수입니다.
    // 추가하고자 하는 도메인 이름 $domain.yourdomain.com  ^^
    $fh=popen(“/usr/bin/nsupdate”,”w”);
    $foo=fread($fh,2);
    fwrite($fh,”prereq yxdomain yourdomain.com.
    “);
    $foo=fread($fh,2);
    fwrite($fh,”update delete $domain.yourdomain.com.
    “);
    // delete를 하는 이유는.. nsupdate가 자동 갱신을 해주지 않기 때문입니다.
    // 그냥 add를 하시면 두개 레코드가 모두 들어가서 오류가 나겠져..
    // 이부분을 깔끔하게 정리하셔야 할겁니다.

    $foo=fread($fh,2);
    fwrite($fh,”update add $domain.yourdomain.com. 0 IN A ” . $REMOTE_ADDR . ”
    “);
    $foo=fread($fh,2);
    fwrite($fh,”
    “);
    $foo=fread($fh,2);
    fwrite($fh,”^D
    “);

    $foo=fread($fh,8096);
    unset($fh);

    echo “$domain.yourdomain.com is Forwarded to $REMOTE_ADDR”;
?>

Leave a Comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.