BIND¿Í rndc¸¦ ÀÌ¿ëÇÑ À¯µ¿IP¿¡ µ¿Àûµµ¸ÞÀÎ ¼³Á¤Çϱâ | ÀÛ¼ºÀÏ : 2005/09/04 20:51 |
![]() |
Á¶È¸¼ö : 15578 |
![]() | |||||||||
Á¦¸ñ : rndc ¸¦ ÀÌ¿ëÇÑ À¯µ¿IP¿¡ µ¿Àûµµ¸ÞÀÎ ¼³Á¤Çϱâ - Ŭ¶óÀ̾ðÆ®, È£½ºÆ® <img src='http://www.ziwoo.net/zb/upload/zb_ziwoo_pds_71_3.jpg'> [°³¿ä] °³ÀÎÀûÀ¸·Î ÇÊ¿äÇØ¼ ¸¸µé¾ú´Âµ¥ ³ª¸§´ë·Î À¯¿ëÇÒ °Í °°¾Æ¼ ¿Ã·Áº¾´Ï´Ù. Àß ÇϽôºеéÀº Çѵνð£ÀÌ¸é ¸¸µé ¼ö ÀÖ´Â ½ºÅ©¸³Æ®µéÀÌÁö¸¸, ¾ÆÁ÷ °³³äÀÌ ºÎÁ·ÇÑ ºÐÀ̳ª °øºÎÇϽô ºÐµé²²´Â Âü°í°¡ µÉ µí ½Í³×¿ä.. ÆÄÀÏ ¾÷·Îµå°¡ ¾ÈµÇ¹Ç·Î °ü·ÃÆÄÀÏÀº Á¦ ȨÆäÀÌÁö ÀÚ·á½Ç¿¡ ¿Ã·Á ³õ°Ú½À´Ï´Ù. Á¶±ÝÀü ¿Ï¼ºÇؼ 10¿©ºÐ°£¸¸ Å×½ºÆ® ÇØº¸¾ÒÀ¸¹Ç·Î »ç¼ÒÇÑ ½ºÅ©¸³Æ®ÀÇ ¿À·ùµîÀÌ ÀÖÀ»Áöµµ ¸ð¸£°Ú³×¿ä.. Ȥ½Ã ¹ß°ßµÇ¸é ¸®Çà ´Þ¾ÆÁֽðí¿ä.. ¾Æ´Â°Ô php¿Í javascript »ÓÀ̶ó ÀÌ·¸°Ô ¸¸µé¾ú±¸¿ä. Æ®·¹À̺ü¿¡ ½ï~ µé¾î°¡°Ô ¸¸µé¸é ÁÁÀ¸·Ã¸¸.. [¼³Á¤] nsupdate.hta ÆÄÀÏ¿¡ È£½ºÆ®¸í°ú ¼¹öÀÇ µµ¸ÞÀÎÀ» ¾Ë¸Â°Ô º¯°æÇϼ¼¿ä. È£½ºÆ®¸íÀº ÀÌ¹Ì ³×ÀÓ¼¹öÀÇ zoneÆÄÀÏ¿¡ µî·ÏÀÌ µÇ¾î ÀÖ¾î¾ß¸¸ ÇÕ´Ï´Ù. Áï IP¸¦ °»½Å¸¸ ÇÏÁö.. ½Å±Ô·Î µî·ÏÇÏÁø ¸øÇÕ´Ï´Ù. nsupdate.php ÀÇ ¾ÏȣŰºÎºÐÀ» ¼¹öÀÇ /etc/rndc.key ÆÄÀÏÀÇ ¾È¿¡ ÀÖ´Â ÀÎÄÚµùµÈ ¾ÏȣŰ³Ñ¹ö¿Í °°°Ô º¯°æÇϼ¼¿ä. rndc Ű »ý¼º¹æ¹ýµîÀº ¼³¸íÇÏÁö ¾Ê½À´Ï´Ù. °Ë»ö¿£Áø µîÀ» ÀÌ¿ëÇØ¼ º°µµÀÇ ¹®¼¸¦ ÂüÁ¶Çϼ¼¿ä. [Å×½ºÆ®È¯°æ] ¼¹ö OS : Redhat Linux 7.2 ¼¹ö ³×ÀÓµ¥¸ó : BIND 9.x Ŭ¶óÀÌ¾ðÆ® OS : windows XP [ÆÄÀϼ³¸í] nsupdate.hta - Ŭ¶óÀÌ¾ðÆ® ÆÄÀÏ - htm ÆÄÀÏÀ» È®ÀåÀÚ¸¸ hta ·Î º¯°æÇÏ¿© À©µµ¿ìÁî HTML ¾îÇø®ÄÉÀ̼ÇÀ¸·Î º¯°æ. - ÀÚ¹Ù½ºÅ©¸³Æ® <dynamic src>¸¦ ÀÌ¿ëÇÏ¿© ÀÏÁ¤ÇÑ ½Ã°£ °£°ÝÀ¸·Î Ŭ¶óÀ̾ðÆ®ÀÇ IP¸¦ ¼¹ö¿¡ Àü¼Û. nsupdate.php - È£½ºÆ® ÆÄÀÏ - Ŭ¶óÀÌ¾ðÆ®°¡ º¸³½ È£½ºÆ®.µµ¸ÞÀθíÀÇ IP¸¦ °»½ÅÇϵµ·Ï BIND¿¡ Àü´Þ. ±âŸ ¾ÆÀÌÄÜ ¹× À̹ÌÁö ÆÄÀÏ µî [nsupdate.hta ÆÄÀÏ ³»¿ë] <html> <head> <title>NS UPDATE</title> <meta http-equiv="content-type" content="text/html; charset=euc-kr"> <style>body,table,button,textarea{font-size:9pt}</style> <HTA:APPLICATION applicationName="NS UPDATE" id="nsupdate_client" border="dialog" maximizeButton="no" scroll="no" version="0.1" singleInstance="no" innerBorder="no" contextMenu="no" icon="nsupdate.ico" /> <script id="dynamic"></script> <script language="javascript"> <!-- // Domain Name var myHost = "woorizip.ziwoo.net"; var myDomain = "www.ziwoo.net"; window.resizeTo(250,230); dynamic.src="http://"+myDomain+"/nsupdate.php?mode=get_my_ip&my_host="+myHost; function start_ip(){ dynamic.src="http://"+myDomain+"/nsupdate.php?mode=start_ip&my_host="+myHost; document.all.nsicon.src="nsupdate2.gif"; document.all.status.innerHTML="Connecting.."; timmer(); } function timmer(){ var int_time = parseInt(document.F.int_time.value) * 1000 * 60; var_loop = setTimeout("start_ip()",int_time); } function stop_ip(){ if(confirm("Are you sure disconnect?")){ clearTimeout(var_loop); document.all.button_start.style.display = 'inline'; document.all.button_stop.style.display = 'none'; document.all.nsicon.src="nsupdate1.gif"; document.all.status.innerHTML="Disonnect"; } } //--> </script> </head> <body bgcolor="#cccccc" text="#000000" topmargin="0" leftmargin="0" onLOad="start_ip()"> <table width="250" height="50" bgcolor="FFFFFF"> <form name="F"> <tr><td align="center"><img id="nsicon" src="nsupdate1.gif"></td></tr> </table> <table align="center" bgcolor="CCCCCC"> <tr><td height="5"></td></tr> <tr><td>Status: <span id="status">Disconnect</span></td></tr> <tr><td>Host: <span id="my_host"></span></td></tr> <tr><td>IP Address: <span id="my_ip"></span></td></tr> <tr><td>Count: <span id="int_count">0</span></td></tr> <tr><td>Interval: <input type="text" name="int_time" value="10" size="2"> min</td></tr> <tr><td height="5"></td></tr> <tr> <td align="center"> <input id="button_start" type="button" value="Connect" onClick="start_ip();" style="display:inline"> <input id="button_stop" type="button" value="Disconnect" onClick="stop_ip();" style="display:none"> </td> </tr> </form> </table> </html> [nsupdate.php ÆÄÀÏ ³»¿ë] <? $my_host = $_GET["my_host"]; if($mode=="get_my_ip"){ ?> document.all.my_host.innerHTML = "<?=$my_host?>"; document.all.my_ip.innerHTML = "<?=$REMOTE_ADDR?>"; <? }elseif($mode=="start_ip"){ $fh=popen("/usr/bin/nsupdate -d -y rndc-key:CdBg+0jQPycv2ejgGAy/d4==","w"); $foo=fread($fh,2); fwrite($fh,"prereq yxdomain ".$my_host." \r\n"); $foo=fread($fh,2); fwrite($fh,"update delete ".$my_host." \r\n"); $foo=fread($fh,2); fwrite($fh,"update add ".$my_host." 0 A ".$REMOTE_ADDR."\r\n"); $foo=fread($fh,2); fwrite($fh,"send \r\n"); $foo=fread($fh,2); fwrite($fh,"quit \r\n"); $foo=fread($fh,8096); unset($fh); ?> document.all.my_ip.innerHTML = "<?=$REMOTE_ADDR?>"; document.all.button_start.style.display = 'none'; document.all.button_stop.style.display = 'inline'; document.all.int_count.innerHTML = parseInt(document.all.int_count.innerHTML)+1; document.all.nsicon.src="nsupdate3.gif"; document.all.status.innerHTML="Connected"; <? } ?> |
![]() |