6. DNS Cache ¼³Ä¡

¿ÜºÎ ³×ÀÓ ¼­¹ö¸¦ »ç¿ëÇÏÁö ¾Ê°í Á÷Á¢ dns cache¸¦ ¿î¿µÇÒ¶§ÀÇ ÀåÁ¡Àº ³»ºÎ¸Á(¶Ç´Â ¸®´ª½º ¹Ú½º ÀÚü)ÀÌ ¿ä±¸ÇÏ´Â µµ¸ÞÀÎ ³×ÀÓ resolvingÀ» ó¸®Çϰí À̰ÍÀ» ij½¬¿¡ ÀúÀåÇß´Ù°¡ ´ÙÀ½¹ø ÁúÀÇ¿¡ ºü¸£°Ô ÀÀ´äÇÒ¼ö Àֱ⠶§¹®ÀÌ´Ù.

dnscache´Â BIND ¿Í´Â ´Þ¸® cache Àü¿ë µ¥¸óÀ¸·Î À¯¿¬ÇÑ ¼³Á¤°ú ´õ ºü¸¥ ÀÀ´ä ¼Óµµ¸¦ º¸ÀδÙ. ƯÈ÷ µµ¸ÞÀÎÀ» °¡Áö°í ÀÖÁö ¾ÊÀ¸¸ç ÀÎÅÍ³Ý °øÀ¯ÀÇ ¿ëµµ·Î¸¸ »ç¿ëµÈ´Ù¸é À̰͸¸ ¼³Ä¡ÇÏ¸é µÈ´Ù (ÀÌ °æ¿ì pdnsd[1]¸¦ »ç¿ëÇÒ¼öµµ ÀÖ´Ù).

6.1. ¼­ºñ½º µð·ºÅ丮

dnscache ¼­ºñ½º µð·ºÅ丮´Â dnscache-conf ¸¦ »ç¿ëÇÏ¿© ´ÙÀ½°ú °°ÀÌ ¸¸µç´Ù. 192.168.1.1 Àº ³»ºÎ¸Á¿¡ ¿¬°áµÈ ip ÁÖ¼ÒÀÌ´Ù.

dnscache-conf dns dnslog /var/dnscache 192.168.1.1

6.2. ¼­ºñ½º ½ÃÀÛ

svscan À¸·Î ÇÏ¿©±Ý »õ·Î ¸¸µç ¼­ºñ½º¸¦ ½ÃÀÛÇϵµ·Ï /service¿¡ ¸µÅ©¸¦ °É¾îÁØ´Ù.

ln -s /var/dnscache /service

ÀÌÁ¦ 5ÃÊ À̳»¿¡ dnscache µ¥¸óÀÌ ½ÃÀÛµÉ °ÍÀÌ´Ù.

6.3. ¼³Á¤

ÀÌÁ¦ ÇØ´ç ³×Æ®¿öÅ©·Î ºÎÅÍÀÇ ÁúÀÇ¿¡ ÀÀ´äÇϵµ·Ï ÆÄÀÏÀ» Çϳª ¸¸µé¾î ÁØ´Ù. ¿ì¸®´Â 192.168.1.* ÀÇ ÁúÀǸ¦ Çã¿ëÇϵµ·Ï ÇÒ°ÍÀ̹ǷÎ:

touch /var/dnscache/root/ip/192.168.1

¸¸¾à Á¢¼ÓÀ» Çã¿ëÇÒ ³×Å©¿öÅ© ´ë¿ªÀ̳ª IP°¡ ´õ ÀÖ´Ù¸é °°Àº ¹æ¹ýÀ¸·Î ¼³Á¤ÇØ ÁÖ¸éµÈ´Ù.

6.4. resolv.conf ¼öÁ¤

¸¶Áö¸·À¸·Î ¸®´ª½º ¹Ú½º ÀÚü°¡ dnscache¸¦ »ç¿ëÇϵµ·Ï /etc/resolv.conf ¸¦ ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù.

nameserver 192.168.1.1

ÀÌÁ¦ºÎÅÍ 192.168.1.x·Î ºÎÅÍ µé¾î¿À´Â ¸ðµç µµ¸ÞÀÎ resolving Äõ¸®¿¡ ÀÀ´äÇϰí ij½³ÇÏ°Ô µÇ¹Ç·Î, Ŭ¶óÀÌ¾ðÆ®µéÀÌ 192.168.1.1À» ³×ÀÓ¼­¹ö·Î »ç¿ëÇϵµ·Ï ¼³Á¤À» ¼öÁ¤ÇÑ´Ù. ·Î±×´Â /var/dnscache/log/main/current ¿¡ ³²´Â´Ù.

6.5. ij½¬ ¸Þ¸ð¸® Á¶Àý

¸®´ª½º ¹Ú½º µÚÂÊ¿¡ Ŭ¶óÀÌ¾ðÆ®°¡ ¸Å¿ì ¸¹°í, ³×ÀÓ resoving 󸮸¦ ¸Å¿ì ¸¹ÀÌ ÇÏ´Â °æ¿ì dnscache°¡ »ç¿ëÇÒ cache ¸Þ¸ð¸®¸¦ ´õ ´Ã·ÁÁÙ¼ö Àִµ¥ ¸¸¾à 10 Mbyte Á¤µµ¸¦ »ç¿ëÇϵµ·Ï ÇÒ°ÍÀ̶ó¸é ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.

echo 10000000 > /service/dnscache/env/CACHESIZE
echo 10485760 > /service/dnscache/env/DATALIMIT

dnscache°¡ ÀÌ¹Ì ½ÇÇàÁßÀ̶ó¸é Àç½Ãµ¿ÇÑ´Ù.

svc -t /service/dnscache

6.6. ¿ÜºÎ DNS ij½¬ »ç¿ëÇϱâ

DNS Cache°¡ ¹æÈ­º®µÚ¿¡ À§Ä¡Çϰí ÀÖÀ¸¸ç ƯÁ¤ DNS ¼­¹ö·ÎÀÇ Äõ¸®¿ÜÀÇ UDP ÆÐŶÀº dropµÇµµ·Ï ¼³Á¤µÇ¾î Àְųª, ·ÎÄà DNS CacheÀÇ Äõ¸®°¡ ´À·Á¼­ ¿ÜºÎ DNS ¼­¹ö¸¦ »ç¿ëÇϵµ·Ï ÇÏ·Á¸é?

1.03 ¹öÀüÀÌÈÄÀÇ ºÎÅÍ´Â ´ÙÀ½°ú °°ÀÌ ÇÒ ¼ö ÀÖ´Ù.

echo 1 > /service/dnscache/env/FORWARDONLY

ÀÌÁ¦ ·çÆ® ¼­¹öµéÀÇ IP°¡ ÀûÇô ÀÖ´Â "/service/dnscache/root/servers/@"ÀÇ ³»¿ë¿¡ ¿ÜºÎ DNS¼­¹öÀÇ IP¸¸À» Àû¾îÁØ´Ù. ÀÌÁ¦ ºÎÅÍ dnscache´Â resolve ¿äûÀÌ ÀÖÀ»¶§ ´äÀ» ÀÚ½ÅÀÌ °¡Áö°í ÀÖÁö ¾ÊÀ»¶§´Â ¿©±â¿¡ Àû¾îÁØ ¿ÜºÎ DNS ¼­¹ö¿¡ Äõ¸®ÇÏ°í ±× °á°ú¸¦ ij½¬, ÀÀ´äÇÏ°Ô µÈ´Ù.

dnscache°¡ ½ÇÇàÁßÀÌ ¿´´Ù¸é Àç½ÃÀÛ ÇØÁÖ¾î¾ß ÇÑ´Ù.

svc -t /service/dnscache

6.7. BIND¿Í dnscache¸¦ °°ÀÌ ¿î¿µÇϱâ

´ÙÀ½Àå¿¡¼­¿Í °°ÀÌ dnscache´Â DNS ¼­¹ö¿Í µ¿ÀÏÇÑ ¼­¹ö¿¡¼­ ¿î¿µÇÒ ¼ö ÀÖÀ¸¹Ç·Î, ¿ª½Ã BIND¿Íµµ °°ÀÌ ¿î¿µÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½°ú °°ÀÌ BIND°¡ ƯÁ¤ IP¿¡¸¸ ¹ÙÀεùµÇµµ·Ï /etc/named.conf¸¦ ¼³Á¤ÇØ ÁÖ¸é µÈ´Ù. ¿¹¸¦ µé¾î IP ÁÖ¼Ò°¡ 1.2.3.4¶ó¸é:

options {
	interface-interval 0;
	listen-on { 1.2.3.4; };
};

BIND¸¦ Àç½ÃÀÛÇÑ´Ù.

ÁÖ¼®

[1]

pdnsd ¿ª½Ã caching Àü¿ë ¼­¹ö·Î ij½¬ÇÑ ³»¿ëÀ» µð½ºÅ©¿¡ ÀúÀåÇØ ³õ°Å³ª ÇÏ´Â µîÀÇ ¸î°¡Áö Àç¹ÌÀÖ´Â ±â´ÉÀ» °¡Áö°í ÀÖ´Ù.