DNS ÁúÀÇ TimeOutÀÇ Áø½ÇÀº.. (2¹øÂ°) | ÀÛ¼ºÀÏ : 2010/11/04 21:54 |
![]() |
Á¶È¸¼ö : 20184 |
![]() | |||||||||||||||||||||||||||||||||||||
Á¦ ¸ñ : DNS ÁúÀÇ TimeOutÀÇ Áø½ÇÀº.. (2¹øÂ°) ÀÛ¼ºÀÚ : ÁÁÀºÁøÈ£(truefeel, http://coffeenix.net/ ) ÀÛ¼ºÀÏ : 2010.11.4(¸ñ) ¹ü³ÃÀÌ´ÔÀÌ dig°ú nslookupÅøÀ» »ç¿ëÇÏ¿©, resolv.conf¿¡¼ ÁöÁ¤ÇÑ DNS ¼¹ö°¡ Á×¾úÀ» °æ¿ì timeout½Ã°£Àº ¾î¶»°Ô µÇ´ÂÁö Å×½ºÆ®¸¦ Çϼ̴Ù. Å×½ºÆ®ÇÑ ±ÛÀº 'DNS ÁúÀÇ TimeOutÀÇ Áø½ÇÀº..'( http://coffeenix.net/board_view.php?bd_code=1714 )¿¡ Á¤¸®µÇ¾î ÀÖ´Ù. ±× ÈÄ, Á¦°¡ Ãß°¡ ÀÓ¹«(?)¸¦ ³Ñ°Ü¹Þ¾Ò´Ù. ^^. ÀÌ ±ÛÀ» Àбâ Àü¿¡ ¹Ýµå½Ã ¹ü³ÃÀÌ´ÔÀÇ ±ÛÀ» ÀоîºÁ¾ß ÇÑ´Ù. ![]() ¡Ø À̹ÌÁö Ãâó : ±¸±Û 'domain lookup' À̹ÌÁö °Ë»ö 1. dig, nsloookup¿¡¼´Â ¿Ö timeoutÀÌ 1ÃÊÀΰ¡? resolv.conf¿¡ 2´ëÀÇ DNS¼¹ö¸¦ ÁöÁ¤À» Çß´Ù°í °¡Á¤ÇÏÀÚ. ±×¸®°í, ±× Áß Ã¹¹øÂ° ¼¹ö°¡ ÀÀ´äÀÌ ¾ø´Ù°í ÇÏÀÚ.
/usr/include/resolv.h¿¡¼ µðÆúÆ® timeoutÀº 5ÃÊÀÌ´Ù.
±×·±µ¥, ¿Ö digÀ̳ª nslookupÀº Å×½ºÆ® °á°ú 1ÃÊ·Î ³ª¿ÔÀ»±î? bind³»ÀÇ À¯Æ¿¸®Æ¼ÀÎ dig, nslookupÀº resolv.hÀÇ ¼³Á¤°ªÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù. dig¼Ò½ºÀÇ dig.h ¸¦ ´ÙÀ½°ú °°ÀÌ Á¤ÀǵǾî ÀÖ´Ù. ÀÌ ¼öÄ¡°¡ ¹Ù·Î timeout¼³Á¤ °ª. nslookupµµ °°Àº header¸¦ »ç¿ëÇÑ´Ù.
Áï, resolv.conf¿¡ ¼øÂ÷ÀûÀ¸·Î ³ª¿µÈ ³×ÀÓ¼¹ö¿¡¼ ù°°¡ ÀÀ´äÀÌ ¾ø´Ù¸é 1Ãʰ£ ÀÀ´äÀ» ±â´Ù¸°´Ù. ±× ÈÄ ´ÙÀ½ ¼¹ö·Î ³Ñ±ä´Ù. ¸¸¾à 3´ë¸¦ ³ª¿ÇßÀ» ¶§, ¾ÕÀÇ 2´ë°¡ ¹®Á¦¶ó¸é, 1ÃÊ + 1ÃÊ = ÃÑ 2ÃÊ timeout ÈÄ 3¹øÂ° ¼¹ö·Î ¿äûÀ» ³Ñ±æ °ÍÀÌ´Ù. resolv.conf¿¡ ³ª¿ °¡´ÉÇÑ ¼¹ö ´ë¼ö´Â resolv.h¿¡¼ MAXNS·Î Á¤ÀǵǾî ÀÖ´Ù. 3´ë. ±× ÀÌ»óÀÇ ¼³Á¤Àº ¹«½ÃµÈ´Ù. 2. ¸¸¾à resolv.conf¿¡ ÁöÁ¤ÇÑ ¸ðµç ¼¹ö°¡ ÀÀ´äÀÌ ¾ø´Ù¸é? resolv.conf¿¡ ³ª¿ÇÑ ¸ðµç ¼¹ö°¡ ÀÀ´äÀÌ ¾ø´Ù¸é dig.h³»ÀÇ UDP_TIMEOUT °ª µ¿¾È ÀÀ´ä´ë±â¸¦ ÇÑ ÈÄ retry¸¦ ÇÑ´Ù.
Á¤¸®ÇÏ¸é ´ÙÀ½°ú °°´Ù. 1) resolv.conf¿¡ ³ª¿µÈ ¼¹ö°£ ¿äû ´ë±â´Â 1ÃÊ(SERVER_TIMEOUT) 2) ³ª¿µÈ ¸ðµç ¼¹ö ¿äû ÈÄ retry½Ã ´ë±â´Â 5ÃÊ(UDP_TIMEOUT) À̸¦ resolv.conf¿¡ 1´ëºÎÅÍ 3´ë±îÁö ÁöÁ¤µÇ¾î ÀÖ°í, ¸ðµÎ ÀÀ´äÀÌ ¾øÀ» ¶§¸¦ °¡Á¤ÇÏÀÚ. 1) resolv.conf¿¡ ÁöÁ¤ÇÑ ¼¹ö°¡ 1´ëÀÏ ¶§
2) 2´ëÀÏ ¶§
3) 3´ëÀÏ ¶§
3. resolv.confÀÇ options »ç¿ë DNS¼¹öÀÇ ÀÀ´ä ½Ã°£(options timeout:n)°ú retryȽ¼ö(options attempts:n)¸¦ /etc/resolv.conf¿¡ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. timeoutÀ» 5ÃÊ -> 1ÃÊ·Î, retry¸¦ 2¹ø -> 3¹øÀ¸·Î º¯°æÇÑ ¿¹ÀÌ´Ù.
±×·¯³ª digÀ̳ª nslookup¿¡¼´Â resolv.confÀÇ options ¼³Á¤À» »ç¿ëÇÏÁö ¾ÊÀ¸¹Ç·Î Àǹ̰¡ ¾ø´Ù. Áï, ÇÁ·Î±×·¥¿¡ µû¶ó(Á÷Á¢ °³¹ßÇÑ °Íµµ Æ÷ÇÔ) resolv.confÀ» »ç¿ëÇÒ ¼öµµ ÀÖ°í, ±×·¸Áö ¾ÊÀ» ¼öµµ ÀÖÀ¸´Ï resolv.conf ¼³Á¤¸¸ ¹Ï¾î¼´Â ¾ÈµÈ´Ù. 4. gethostbyname() ÇÔ¼ö, ping ÇÁ·Î±×·¥ Å×½ºÆ® gethostbyname()ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â CÇÁ·Î±×·¥À̶ó¸é Áö±Ý±îÁö ¼³¸íÇÑ resolv.h¿Í resolv.confÀ» µû¸£°Ô µÈ´Ù. ´ëÇ¥ÀûÀÎ °ÍÀÌ pingÀÏ °ÍÀÌ´Ù. °£´ÜÇÑ ¿¹¸¦ µé¾îº¸ÀÚ. resolv.conf´Â ´ÙÀ½°ú °°´Ù.
- resolv.conf°¡ ¼³Á¤µÈ ¼¹ö´Â 10.10.10.123 À̶ó°í ÇÏÀÚ. - gethostbyname()ÇÔ¼ö·Î google.comÀ» lookup ÇÑ °æ¿ì´Ù. resolv.conf¿¡ ÁöÁ¤ÇÑ DNS¼¹ö¿¡¼ ICMPÀÀ´äÀ» ¹ÞÀ» ¼ö ÀÖ´À³Ä ¾ø´À³Ä¿¡ µû¶ó¼ ´ë±â½Ã°£(timeout½Ã°£)Àº ´Þ¶óÁö°Ô µÈ´Ù. 1) ICMP udp port domain unreachable ÀÀ´äÀÌ ¿Ã ¶§ ´ÙÀ½Àº resolv.conf¿¡ ÁöÁ¤ÇÑ 2´ë ¸ðµÎ°¡ DNSÀÀ´äÀ» ¸®ÅÏÇØÁÖÁö ¸øÇßÀ» ¶§ÀÇ ÆÐŶÀ» °£´ÜÈ÷ Ç¥ÇöÇÑ °ÍÀÌ´Ù.
![]() 10.10.10.251·Î google.comÀ» ¿äûÇß´Ù. ±×·±µ¥, DNS ¼¹ö´Â µ¿ÀÛÇϰí ÀÖÁö ¾Ê¾Ò´Ù. ´ë½Å DNS°¡ ¿î¿µÁßÀÌÁö ¾Ê´Ù´Â ¸íÈ®ÇÑ ICMPÀÀ´äÀ» ¹Þ¾Ò´Ù. µû¶ó¼ ´ë±â½Ã°£(timeout)ÀÌ ÇÊ¿ä¾øÀÌ ¹Ù·Î ´ÙÀ½ ¼¹öÀÎ 10.10.10.252¸¦ ¿äûÇß´Ù. ÀÌ·¸°Ô 2¹øÀÇ retry°úÁ¤À» °ÅÃÆ´Ù. ±× ÈÄ resolv.conf¿¡ search·Î ¼³Á¤µÈ µµ¸ÞÀÎÀ» µ¡ºÙ¿©¼ google.com.coffeenix.net¸¦ ã´Â °úÁ¤À» µ¿ÀÏÇÏ°Ô ¹Ýº¹ÇÑ´Ù. ¿©±â¼ ¾Ë ¼ö ÀÖ´Â °ÍÀº ´ÙÀ½°ú °°´Ù. ¨ç ICMPÀÀ´äÀÌ ¿Â´Ù¸é, timeout¾øÀÌ ¹Ù·Î ´ÙÀ½ ¼¹ö·Î ¿äûÀ» ÇÑ´Ù. ¨è searchÀÇ µµ¸ÞÀÎÀ» Ãß°¡·Î µ¡ºÙ¿©¼ ¿äûÀ» ÇÑ´Ù. ¨é resolv.h¿¡ ¼³Á¤µÈ retry¸¦ µû¸¥´Ù. 2) ICMP ÀÀ´äÀÌ ¾øÀ» ¶§
ICMPÀÀ´äÀÌ ¾øÀ¸´Ï timeoutµ¿¾È ´ë±âÇÏ´Ù°¡ ´ÙÀ½ ¼¹ö·Î ¿äûÀ» Çß´Ù. ³ª¸ÓÁö´Â ¾Õ¿¡¼ ¼³¸íÇÑ °Í°ú °°Àº °úÁ¤ÀÌ´Ù. 5. °á·Ð : È¿°úÀûÀÎ resolv.conf ¼³Á¤ resolv.conf¿¡ 2°³ IPÀÌ»óÀÇ nameserver¸¦ ÁöÁ¤ÇßÀ» °æ¿ì¸¦ °¡Á¤ÇÏ¿©, °á·ÐÀ» ³»º¸°Ú´Ù. ¸¸¾à resolv.conf¿¡ ÁöÁ¤ÇÑ Ã¹¹øÂ° ³×ÀÓ¼¹ö(¶Ç´Â ³×ÀÓ¼¹ö VIP) ÀÚü°¡ Á״´ٸé ICMP ÀÀ´äÀ» ¸ø¹ÞÀ» °ÍÀÌ´Ù. µû¶ó¼ ÀÀ´ä½Ã°£À» ÁÙÀ̰íÀÚ ÇÑ´Ù¸é resolv.conf¿¡¼ timeout½Ã°£À» ÁÙ¿©ÁÖ´Â°Ô ´õ ³ªÀº ´ëºñÃ¥ÀÌ µÉ °ÍÀÌ´Ù.
ÇÏÁö¸¸ resolv.conf ¼³Á¤À» »ç¿ëÇÏÁö ¾Ê´Â ÇÁ·Î±×·¥µµ ÀÖ´Ù. ¸ðµç°Ô, resolv.conf ¼³Á¤´ë·Î µÉ °ÍÀ̶ó´Â ¹ÏÀ½Àº Àý´ë ±Ý¹°. |
![]() |