ÀÌ°ÍÀº º¸¾È¿¡ °ü·ÃµÈ Ä¿³Î Á¶Á¤ ¿É¼Çµé°ú ÀÌ °ÍµéÀÌ ¹«¾ùÀ» ÇÏ´Â Áö¿¡ ´ëÇÑ ¼³¸í°ú ¾î¶»°Ô »ç¿ëÇÏ´Â Áö¿¡ ´ëÇÑ ¼³¸íÀÌ´Ù.
Ä¿³ÎÀÌ ¿©·¯ºÐ ÄÄÇ»ÅÍ ³×Æ®¿öÅ© ¾÷¹«¸¦ °ü¸®ÇϹǷÎ, Ä¿³ÎÀ» ¸Å¿ì ¾ÈÀüÇϵµ·Ï °ü¸®ÇÏ´Â °Í°ú Ä¿³Î ÀÚüÀÇ º¸¾ÈÀÌ ±úÁöÁö ¾Êµµ·Ï ÇÏ´Â °ÍÀº Áß¿äÇÑ °ÍÀÌ´Ù. ÃֽŠ³×Æ®¿öÅ· °ø°Ý¹ýÀÇ ÀϺθ¦ ¹æÁöÇϱâ À§Çؼ´Â Ä¿³ÎÀÇ ¹öÀüÀ» ÃÖ½ÅÀÇ °ÍÀ¸·Î °ü¸®ÇØ¾ß ÇÑ´Ù. »õ·Î¿î Ä¿³ÎÀº ftp://ftp.kernel.org/À̳ª µð½ºÆ®¸®ºä¼Ç Á¦ÀÛÀÚÀÇ »çÀÌÆ®¿¡¼ ãÀ» ¼ö ÀÖ´Ù.
¶ÇÇÑ ÁÖ·Î ¾²ÀÌ´Â ¸®´ª½º Ä¿³Î¿¡ ¾µ ¼ö ÀÖµµ·Ï ÅëÀÏµÈ ¾ÏÈ£È ÆÐÄ¡¸¦ Á¦°øÇÏ´Â ±¹Á¦ ±×·ìµµ ÀÖ´Ù. ÀÌ ÆÐÄ¡´Â (¹Ì±¹ÀÇ) ¼öÃâ Á¦ÇÑ Á¶Ä¡ ¶§¹®¿¡ ¸®´ª½º Ä¿³Î¿¡ ³¢¿ö ³ÖÀ» ¼ö ¾ø¾ú´ø ¿©·¯ °¡Áö ¾ÏÈ£È ¼ºê½Ã½ºÅÛÀ» Áö¿øÇØ ÁØ´Ù. Á¤º¸´Â http://www.kerneli.org¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Ù.
2.0.x Ä¿³Î¿¡¼´Â ´ÙÀ½ÀÇ ¿É¼ÇµéÀ» ¾µ ¼ö ÀÖ°í, Ä¿³Î ±¸¼º ´Ü°è (Kernel Configuration
Process)¿¡¼ º¼ ¼ö°¡ ÀÖÀ» °ÍÀÌ´Ù. ¾Æ·¡¿¡ ¼³¸íµÇ¾î ÀÖ´Â ´ëºÎºÐÀº
./linux/Documentation/Configure.help
¹®¼¿¡ ÀûÇô ÀÖ°í, ÀÌ ¹®¼´Â Ä¿³Î ÄÄÆÄÀÏ ¿É¼ÇÀ»
½ÇÇàÇÒ ¶§ make config
´Ü°è¿¡¼ µµ¿ò¸»·Î »ç¿ëµÇ°í ÀÖ´Ù.
¹æȺ®À̳ª ¸¶½ºÄ¿·¹À̵ùÀ» ¾²·Á¸é ÀÌ ¿É¼ÇÀº ÄÑÁ® ÀÖ¾î¾ß ÇÑ´Ù. ¸¸¾à ´Ü¼øÈ÷ Ŭ¶óÀ̾ðÆ®·Î ÄÄÇ»Å͸¦ »ç¿ëÇÏ´Â °æ¿ì´Â ÀÌ ¿É¼ÇÀ» ²ô´Â °ÍÀÌ ÁÁÀ» °ÍÀÌ´Ù.
¸¸¾à IP Æ÷¿öµùÀ» »ç¿ëÇÑ´Ù¸é, ¿©·¯ºÐÀÇ ¸®´ª½º ¹Ú½º´Â »ç½Ç»óÀ¸·Î ¶ó¿ìÅÍÀÇ ¿ªÇÒÀ» ÇÏ°Ô µÇ´Â °ÍÀÌ´Ù. ¸¸¾à »ç¿ëÇÏ´Â ÄÄÇ»ÅÍ°¡ ³×Æ®¿öÅ©¿¡ ¿¬°áµÇ¾î ÀÖ°í µ¥ÀÌŸ¸¦ ¾î¶² ³×Æ®¿öÅ©¿¡¼ ´Ù¸¥ ³×Æ®¿öÅ©·Î Æ÷¿öµù (Forwarding Àü´Þ)ÇÏ´Â °æ¿ì¶ó¸é, ¾Ö½á¼ ¼¼¿î ¹æȺ®À» ±ú ¹ö¸®´Â °á°ú¸¦ ¸¸µé ¼ö°¡ ÀÖ´Ù. º¸ÅëÀÇ ´ÙÀ̾˾÷ »ç¿ëÀÚ´Â ÀÌ ±â´ÉÀ» ²¨ ¹ö·ÈÀ¸¸é ÇÒ °ÍÀÌÁö¸¸, ´Ù¸¥ »ç¿ëÀÚµé Àº ÀÌ »óȲ¿¡¼ »ý±â´Â º¸¾È ¹®Á¦ÀÇ ¹ß»ý¿¡ ÁÖÀǸ¦ ±â¿ïÀÏ ÇÊ¿ä°¡ »ý±â°Ô µÈ´Ù. ¹Ý¸é¿¡ ¹æȺ® ÄÄÇ»ÅÍ ÀÚü´Â ÀÌ ±â´ÉÀ» ÄѼ »ç¿ëÇϱ⸦ ¹Ù¶ö °ÍÀÌ°í, ÁÖ·Î »ç¿ëÇÏ°í ÀÖ´Â ¹æȺ® Ç®±×¸²°ú ¼¯¿©¼ »ç¿ëµÇ°Ô µÈ´Ù. [21. KLDP ¹®¼]
´ÙÀ½ÀÇ ¸í·ÉÀ» ½á¼ ´ÙÀ̳»¹Í IP Æ÷¿öµùÀ» ½ÇÇàÇÒ ¼ö ÀÖ°í,
root# echo 1 > /proc/sys/net/ipv4/ip_forward
´ÙÀ½ÀÇ ¸í·ÉÀ¸·Î ²ø ¼ö ÀÖ´Ù.
root# echo 0 > /proc/sys/net/ipv4/ip_forward
¿°µÎ¿¡ µÑ °ÍÀº /proc¾È¿¡ ÀÖ´Â ÆÄÀÏÀº °¡»óÀÇ ¹öÃò¾ó ÆÄÀÏÀ̱⠶§¹®¿¡, ÆÄÀÏÀÇ ½ÇÁ¦ Å©±â°¡
Á¦´ë·Î ½Å°íµÇÁö ¾ÊÀ» ¶§°¡ ÀÖ´Ù.
SYN °ø°ÝÀº ¸ðµç »ç¿ë °¡´ÉÇÑ ÀÚ¿øÀ» ¼ÒºñÇÏ°Ô ÇÑ´Ù´Â ½ÄÀÇ ¹æ¹ýÀ¸·Î, °á°úÀûÀ¸·Î ¸®ºÎÆÃÀ» ÇÏ°Ô ¸¸µå´Â, ¼ºñ½º °ÅºÎ °ø°Ý¹ý (DoS, Denial of Service)ÀÇ ÇϳªÀÌ´Ù. ÄÑ ³õÁö ¾ÊÀ» ÀÌÀ¯°¡ ¾ø´Â ¿É¼ÇÀÌ´Ù. 2.1 Ä¿³Î ½Ã¸®Áî¿¡¼´Â ÀÌ ¿É¼ÇÀ» ÄÑ¸é ´Ü¼øÈ÷ ½Å ÄíÅ°ÀÇ Á¸À縦 Çã¿ëÇÒ »Ó, »ç¿ëÀ» Çã¶ôÇÏÁö´Â ¾Ê°Ô µÈ´Ù. ¿É¼ÇÀ» Äѱâ À§Çؼ´Â ´ÙÀ½ÀÇ ¸í·É¾î¸¦ ¾´´Ù.
root# echo 1 > /proc/sys/net/ipv4/tcp_syncookies
¸¸¾à ¿©·¯ºÐÀÇ ±â°è¸¦ ¹æȺ®À¸·Î »ç¿ëÇÏ´Â °æ¿ì, ¸¶½ºÄ¿·¹À̵ùÀ» »ç¿ëÇÏ´Â °æ¿ì, ¾Æ´Ï¸é ¿©·¯ºÐÀÇ ´ÙÀ̾ó-¾÷ ¿÷Å©½ºÅ×À̼ǿ¡ ´©±º°¡°¡ PPP ´ÙÀ̾ó-¾÷ ÀÎÅÍÆäÀ̽º¸¦ ÅëÇؼ µé¾î¿À´Â °ÍÀ» ¸·±â À§ÇÑ °æ¿ì¿¡ ÇÊ¿äÇÑ ¿É¼ÇÀÌ´Ù.
ÀÌ ¿É¼ÇÀº --¹ß½ÅÀÎ, ¼ö½ÅÀÎ, Æ÷Æ® ¹øÈ£ µîÀÇ-- ¹æȺ®ÀÌ ¹ÞÀº ÆÐÄÏÀÇ Á¤º¸¸¦ º¸¿©ÁØ´Ù.
ÀÌ ¿É¼ÇÀº ÄÑÁ®¾ß ÇÑ´Ù. ¼Ò½º¿¡¼ ¶ó¿ìÆ®µÅ¼ ¿À´Â ÇÁ·¹ÀÓµéÀº (Source routed frames) ±× ÆÐÄÏ ¾È¿¡ ¸ñÀûÁö·Î °¡´Âµ¥ ÇÊ¿äÇÑ ¸ðµç Áø·Î(Path) Á¤º¸¸¦ °¡Áö°í ÀÖ°í, ÀÌ·¯ÇÑ Á¾·ùÀÇ ÆÐÄÏÀ» ¶ó¿ìÅÍ°¡ ¹Þ°Ô µÇ¸é ¶ó¿ìÅÍ´Â ³»¿ëÀ» °Ë»çÇÏÁö ¾Ê°í ¹«Á¶°Ç Åë°ú 󸮸¦ ÇÑ´Ù. ÀÌ·¯ÇÑ »óȲÀº ÀáÀçÀûÀ¸·Î ħŻ ¼ö´ÜÀÌ µÇ´Â µ¥ÀÌŸ°¡ ¿©·¯ºÐ ½Ã½ºÅÛ¿¡ µé¾î¿À´Â °ÍÀ¸·Î ¹ßÀüµÉ ¼ö ÀÖ´Ù.
¿©·¯ºÐÀÇ ÄÄÇ»ÅÍ°¡ ¹æȺ®À¸·Î »ç¿ëµÇ°í ÀÖ°í ÀÌ ¹æȺ®ÀÌ º¸È£ÇÏ°í ÀÖ´Â ³×Æ®¿öÅ© »óÀÇ ¾î¶² ÄÄÇ»ÅÍ°¡ ³×Æ®¿öÅ© ¹Ù±ùÀÇ È£½ºÆ®·Î µ¥ÀÌŸ¸¦ º¸³¾ ¶§, ÀÌ ¹æȺ® ÄÄÇ»ÅÍ´Â ÀÌ È£½ºÆ®ÀÎ °Íó·³ "¸¶½ºÄ¿·¹À̵å (Masquerade, °¡Àå)"Çϵµ·Ï ÇÒ ¼ö ÀÖ´Ù. º¸±â¸¦ µé¸é, ¸¶½ºÄ¿·¹À̵ùÀ» ½ÇÇàÇÏ´Â ÄÄÇ»ÅÍ°¡ µ¥ÀÌŸ¸¦ Á¤ÇØÁø ¸ñÀûÁö·Î ÁÖ°í ¹ÞÀ¸¸é¼µµ ¸¶Ä¡ ÀÌ·± µ¥ÀÌŸ°¡ ¹æȺ® ÄÄÇ»ÅÍ¿¡¼ ¹ß¼ÛµÇ´Â °ÍÀΠô ²Ù¹Ì°Ô µÇ´Â °ÍÀÌ´Ù. ÀÌ¿¡ ´ëÇÑ Á¤º¸´Â http://www.indyramp.com/masq¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Ù. [22. KLDP ¹®¼]
À§ÀÇ ¸¶½ºÄ¿·¹À̵ù ¿É¼ÇÀº TCP³ª UDP Á¤º¸ÀÇ °æ¿ì¸¸À» ¸¶½ºÄ¿·¹À̵ù ÇØÁØ´Ù. ICMP ¸¶½ºÄ¿·¹À̵ù ¿É¼ÇÀ» ÄѸé ICMP ¸¶½ºÄ¿·¹À̵ù±îÁö µ¡ºÙ¿© ÇÏ°Ô µÈ´Ù.
ÀÌ ¿É¼ÇÀº ¿©·¯ºÐÀÇ ¸®´ª½º ¹æȺ®ÀÌ Áö¿ª È£½ºÆ®¿¡¼ ¹ß»ýµÇ´Â ³×Æ®¿öÅ© Æ®·¡ÇÈ°ú, Áö¿ª È£½ºÆ®¿¡¼ ¿ÜºÎÀÇ ¿ø°Ý È£½ºÆ®·Î º¸³»¾îÁö´Â ³×Æ®¿öÅ© Æ®·¡ÇÈÀ» "Æ®·»½ºÆä¾î·±Æ® ÇÁ¶ô½Ã ¼¹ö"¶ó´Â Áö¿ª ¼¹ö·Î (Åõ¸íÇÏ°Ô) º¸³»¾î ÁÖ°Ô ÇÑ´Ù. ÀÌ ¿É¼ÇÀ» ¾²¸é Áö¿ª ÄÄÇ»Å͵éÀ» , »ç½Ç»óÀ¸·Î´Â Áö¿ªÀÇ ÇÁ¶ô½Ã·Î ¿¬°áÀÌ µÇ´Â °ÍÀÌÁö¸¸, ¸¶Ä¡ ¿ÜºÎÀÇ ¸®¸ðÆ® ÄÄÇ»ÅÍ·Î ¿¬°áÀÌ µÇ´Â °Íó·³ »ý°¢ÇÏ°Ô ¸¸µç´Ù. IP-¸¶½ºÄ¿·¹À̵å ÇÏ¿ìÅõ¿Í http://www.indyramp.com/masq¸¦ º¸¸é ´õ ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Ù.
ÀÌ ¿É¼ÇÀº º¸Åë ²¨Á® ÀÖ´Ù. ÇÏÁö¸¸, ¸¸¾à ¿©·¯ºÐÀÌ ¹æȺ®À̳ª ¸¶½ºÄ¿·¹À̵ù È£½ºÆ®¸¦ ¸¸µç´Ù¸é ÀÌ ¿É¼ÇÀ» ÄÑ ³õ´Â °ÍÀÌ ÁÁ´Ù. µ¥ÀÌŸ°¡ ÇÑ È£½ºÆ®¿¡¼ ´Ù¸¥ È£½ºÆ®·Î Àü¼ÛµÉ ¶§, µ¥ÀÌŸ´Â Ç×»ó ÇÑ ¹¶Ä¡·Î º¸³»¾î Áö´Â °ÍÀÌ ¾Æ´Ï¶ó, ´ë°³´Â ¿©·¯ Á¶°¢À¸·Î ÂÉ°³¾îÁ®¼ º¸³»Áö°Ô µÈ´Ù. ÂÉ°³¾îÁ®¼ º¸³»¾îÁö´Â °æ¿ìÀÇ ¹®Á¦Á¡Àº Æ÷Æ® ¹øÈ£°¡ Á¦ÀÏ Ã³À½ º¸³»¾îÁö´Â Á¶°¢¿¡ ¸¸ ÀûÇôÁø´Ù´Â °ÍÀÌ´Ù. ÀÌ °ÍÀº ´©±º°¡°¡ ³ª¸ÓÁö µ¥ÀÌŸ Á¶°¢µéÀ» °³Á¶Çؼ ±×°¡ ¿øÇÏ´Â Á¤º¸¸¦ Áý¾î³ÖÀ» ¼ö°¡ ÀÖ´Ù´Â ¶æÀÌ µÈ´Ù. ¶ÇÇÑ ÀÌ ¿É¼ÇÀ» ¾²¸é, ¾ÆÁ÷ Ƽ¾îµå¶ø °ø°Ý¿¡ ´ëÇÑ ÆÐÄ¡¸¦ ºÙ¿© ³õÁö ¾ÊÀº ³»ºÎ È£½ºÆ®¸¦ ¾µ ¶§ Ƽ¾îµå¶ø °ø°ÝÀÌ ½ÇÇàµÇ´Â °ÍÀ» ¹æÁöÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
ÀÌ °ÍÀº 2.2.x Ä¿³Î¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â ¿É¼ÇÀ¸·Î, º¸´Ù °ÇÑ º¸¾ÈÀ» À§Çؼ NCP ÆÐÄÏÀ» ÀÎÁõ (sign)ÇÒ ¶§ »ç¿ëµÈ´Ù. º¸ÅëÀº ÀÌ ¿É¼ÇÀÌ ²¨Á® ÀÖÁö¸¸, ¿©·¯ºÐÀÌ ÇÊ¿äÇÏ´Ù¸é ¾µ ¼ö ÀÖ´Ù´Â °ÍÀ» ¿°µÎ¿¡ µÎ½Ã±â ¹Ù¶õ´Ù.
»ç¿ëÀÚ °ø°£ Ç®±×¸² (User-space program) ÆÐÄÏÀÇ Ã¹ 128 ¹ÙÀÌÆ®¸¦ ºÐ¼®Çؼ -- ÀÌ°ÍÀÇ ÇÕ¹ý¼ºÀ» ºÐ¼®ÇÏ´Â ¹æ¹ýÀ¸·Î -- ÆÐÄÏÀ» ¹Þ°Å³ª ȤÀº °ÅºÎÇØ¾ß ÇÏ´Â Áö¸¦ °áÁ¤ÇÏ°Ô ÇØÁÖ´Â ±ò²ûÇÑ ¿É¼ÇÀÌ´Ù.
2.2.x Ä¿³ÎµéÀº ¿É¼ÇÀÌ ´ëºÎºÐ ¶È°°Áö¸¸, »õ·Î¿î ¿É¼ÇÀÌ ¸î °¡Áö »õ·ÎÀÌ °³¹ßµÇ¾î ÀÖ´Ù. ¾Æ·¡¿¡
¼³¸íµÇ¾î ÀÖ´Â ´ëºÎºÐÀº Ä¿³ÎÀ» ÄÄÆÄÀÏÇÏ´Â ÁßÀÇ make config
´Ü°è¿¡¼ µµ¿ò¸» (Help
facility)·Î »ç¿ëµÇ´Â /linux/Documentation/Configure.help
¹®¼¿Í ³»¿ëÀÌ °°´Ù.
[23] »õ·Î Ãß°¡µÈ ¿É¼Çµé ¸¸ ¾Æ·¡¿¡ Àû¾î ³õ¾Ò´Ù. ´Ù¸¥ ÇÊ¿äÇÑ ¿É¼ÇÀ» ¾Ë°í
½ÍÀ¸¸é 2.0 ¼³¸íÀ» º¸±â ¹Ù¶õ´Ù. ¾Æ¸¶µµ 2.2 Ä¿³Î¿¡¼ °¡Àå ÀÇ¹Ì ÀÖ´Â º¯È´Â IP ¹æȺ® ÄÚµåÀÏ
°ÍÀÌ´Ù. IP ¹æȺ®À» ¼³Ä¡Çϱâ À§Çؼ 2.0 Ä¿³Î¿¡¼´Â ipfwadm
Ç®±×¸²ÀÌ
»ç¿ëµÇ¾úÁö¸¸, 2.2 Ä¿³Î¿¡¼´Â ipchains
Ç®±×¸²ÀÌ »ç¿ëµÇ°í ÀÖ´Ù.
´ëºÎºÐÀÇ »ç¿ëÀڵ鿡°Ô´Â ÀÌ ¿É¼ÇÀ» ²ô°í »ç¿ëÇÏ´Â °ÍÀÌ ¾ÈÀüÇÒ °ÍÀÌ´Ù. ÀÌ ¿É¼ÇÀº »ç¿ëÀÚ °ø°£ ÇÊÅ͸¦ ¼ÒÄÏ¿¡ ¿¬°áÇÏ´Â °ÍÀ» °¡´ÉÇÏ°Ô ÇØ ÁÖ°í, ÆÐÄÏ Åë°ú°¡ Çã¶ôµÇ°Å³ª °ÅºÎµÇ´Â °ÍÀ» °áÁ¤Çϴµ¥ »ç¿ëÇÑ´Ù. ÇÏÁö¸¸, ¿©·¯ºÐÀÌ »ó´çÈ÷ µ¶Æ¯ÇÑ ÇÊÅ͸¦ ¾µ ÇÊ¿ä°¡ ÀÖ°í ÇÊÅ͸¦ Á÷Á¢ ÇÁ·Î±×·¥ ÇÒ ¼ö ÀÖ´Â ´É·ÂÀÌ ÀÖ´Â »ç¶÷ÀÌ ¾Æ´Ï¶ó¸é ÀÌ ¿É¼ÇÀº ²¨ ³õ´Â °ÍÀÌ ÁÁ´Ù. ¶ÇÇÑ ÇÑ °¡Áö ¿°µÎ¿¡ µÑ ÀÏÀº ÀÌ ¹®¼°¡ ÀÛ¼ºµÈ ½ÃÁ¡¿¡¼´Â TCP¸¦ Á¦¿ÜÇÑ ¸ðµç ÇÁ·ÎÅäÄÝÀÌ Áö¿øµÈ´Ù´Â °ÍÀÌ´Ù.
Æ÷Æ® Àü¼ÛÀº IP ¸¶½ºÄ¿·¹À̵ù µî°ú °°ÀÌ ¹Ù±ù¿¡¼ ¹æȺ® ¾ÈÀÇ Æ÷Æ®µé·Î µé¾î¿À´Â ÆÐÄϵéÀ» Àü´Þ (Forword)ÇÑ´Ù. ¿¹¸¦ µé¾î¼, ¹æȺ®ÀÇ µÚ¿¡¼³ª ¸¶½ºÄ¿·¹À̵å ÇÏ´Â À§¿¡¼ À¥ ¼¹ö¸¦ ¿î¿µÇÏ¸é¼ ÀÌ À¥ ¼¹ö¸¦ ¹Ù±ù¿¡¼µµ Á¢±Ù °¡´ÉÇÏ°Ô Çã¶ôÇÏ´Â °æ¿ì µî¿¡ À¯¿ëÇÏ´Ù. ¿ÜºÎÀÇ Å¬¶óÀ̾ðÆ®°¡ ¹æȺ®ÀÇ 80¹ø Æ÷Æ®·Î ¾î¶² ¿äûÀ» º¸³»°í, ¹æȺ®Àº ÀÌ ¿äû »çÇ×À» À¥ ¼¹ö·Î Àü´ÞÇÏ°í, ±×·³ À¥ ¼¹ö´Â ÀÌ ¿äû »çÇ×À» ó¸®ÇÑ ÈÄ¿¡ °á°ú¸¦ ¹æȺ®À» ÅëÇؼ ¿ø·¡ÀÇ Å¬¶óÀ̾ðÆ®¿¡°Ô·Î ´Ù½Ã º¸³»°Ô µÈ´Ù. ¿ÜºÎÀÇ Å¬¶óÀ̾ðÆ®¿¡°Ô´Â ¸¶Ä¡ ¹æȺ® ÀÚü°¡ À¥ ¼¹ö¸¦ ¿î¿µÇÏ°í ÀÖ´Â µíÀÌ º¸ÀÌ°Ô µÇ´Â °ÍÀÌ´Ù. ¶ÇÇÑ ¹æȺ® µÚ¿¡ µ¿ÀÏÇÑ ¸ð¾ç°ú ±â´ÉÀÇ À¥ ¼¹öµéÀ» ¸¹ÀÌ °¡Áö°í ÀÖ´Ù¸é ºÎÇÏ Á¶Àý (Load Balanceing)À» ÇÏ´Â ¹æ¹ýÀ¸·Î ¾²ÀÏ ¼öµµ ÀÖ´Ù. ÀÌ ±â´É¿¡ ´ëÇÑ Á¤º¸´Â http://www.monmouth.demon.co.uk/ipsubs/portforwarding.html¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Ù. ´ë·«ÀûÀÎ Á¤º¸´Â ftp://ftp.compsoc.net/users/steve/ipportfw/linux21/¸¦ º¸±â ¹Ù¶õ´Ù.
ÀÌ ¿É¼ÇÀ» ½á¼ »ç¿ëÀÚ °ø°£ (user-space) Ç®±×¸²µéÀÌ ¾Æ¹« ¼ÒÄÏ¿¡´Ù°¡ ÇÊÅ͸¦ ºÎÂø½Ãų ¼ö
ÀÖ°Ô µÇ°í, °á°úÀûÀ¸·Î Ä¿³ÎÀÌ ¾î¶² Á¾·ùÀÇ µ¥ÀÌŸ¿¡ ´ëÇØ ¼ÒÄÏ Åë°ú¸¦ Çã°¡Çϰųª ºÒÇãÇÏ°Ô ÇÒ
¼ö ÀÖ°Ô µÈ´Ù. ¸®´ª½º ¼ÒÄÏ ¿©°ú (Linux Socket Filtering)´Â ÇöÀç TCP¸¦ Á¦¿ÜÇÑ ¸ðµç Á¾·ùÀÇ
¼ÒÄÏ¿¡¼ ÀÛµ¿µÉ ¼ö ÀÖ´Ù. ./linux/Documentation/networking/filter.txt
¸¦ Àо±â
¹Ù¶õ´Ù.
[24. ·¹µå ÇÞ]
¸®´ª½º¿¡´Â º¸¾È¿¡ µµ¿òÀÌ µÇ´Â ¸î °³ÀÇ ºí·Ï µð¹ÙÀ̽º¿Í ¹®ÀÚ µð¹ÙÀ̽º°¡ ÀÖ´Ù.
/dev/random
°ú /dev/urandomÀÇ
µÎ µð¹ÙÀ̽º´Â ·£´ý µ¥ÀÌŸ¸¦ ¾ðÁ¦¶óµµ
¸¸µé¾î ³¾ ¼ö ÀÖµµ·Ï Ä¿³Î¿¡¼ Á¦°øµÈ´Ù.
/dev/random
°ú /dev/urandom
µÑÀº º¸¾È»ó ¾ÈÀüÇÑ (secure) ³¼ö ¹ß»ý
±â´ÉÀÌ ÇʼöÀûÀÎ PGP ¿¼èÀÇ Á¦ÀÛ, ssh
¼öÇÏ µµÀü¿ë (challenge), ±×¸®°í ±âŸ
Ç®±×¸²µé µî¿¡ »ç¿ëµÉ ¼ö ÀÖÀ» ¸¸Å ÃæºÐÈ÷ ¾ÈÀüÇØ¾ß ÇÑ´Ù. °ø°ÝÀÚ°¡ -- ÀÌ µÎ ±â´É¿¡¼ ¹ß»ýµÈ
¼ýÀÚµéÀÇ Á¶ÇÕÀ» ¹Ì¸® ¾Ë°í ÀÖ´Ù°í Çؼ -- ±× ´ÙÀ½ÀÇ ³ª¿Ã ¼ýÀÚ¸¦ ¾Ë¾Æ³»´Â ÀÏÀÌ °¡´ÉÇؼ´Â
¾ÈµÈ´Ù. ÀÌ µÑ·ÎºÎÅÍ »ý¼ºµÇ´Â ¼ýÀÚµéÀÌ ÁøÁ¤ÇÑ Àǹ̷μÀÇ ³¼ö°¡ µÇµµ·Ï º¸ÀåÇÏ´Â ¸¹Àº
³ë·ÂµéÀÌ ½ñ¾Æ ºÎ¾îÁö°í ÀÖ´Ù.
µÎ µð¹ÙÀ̽ºÀÇ Â÷ÀÌÁ¡À̶ó¸é /dev/random
Àº ¹«ÀÛÀ§ÀÇ ¹ÙÀÌÆ®µé·Î ¸¸µé¾îÁö¸ç,
¹«ÀÛÀ§ÀÇ ¹ÙÀÌÆ®µéÀÌ ¸¸µé¾î ½×ÀÌ´Â µ¿¾ÈÀº ´ë±â »óÅ°¡ µÈ´Ù´Â Á¤µµÀÏ °ÍÀÌ´Ù. ÀϺÎ
½Ã½ºÅÛ¿¡¼´Â »õ·Î¿î »ç¿ëÀÚ »ý¼º ÀÔ·Â (user-generated entry)ÀÌ ½Ã½ºÅÛ¿¡ µî·ÏµÇ´Â ½Ã°£ÀÌ ¿À·¡
°É¸± ¼ö ÀÖ°í, ±× µ¿¾ÈÀº (»ç¿ëÀÌ) ¸·Çô ÀÖÀ» ¼ö ÀÖ´Ù´Â °ÍÀ» ¸»ÇÏ°í ½Í´Ù.
/dev/random
À» ¾²±â Àü¿¡´Â ½É»ç¼÷°íÇϱ⸦ ¹Ù¶õ´Ù. (¾Æ¸¶µµ Á¦ÀÏ ÁÁÀº ¹æ¹ýÀº Çü¼ºÀÌ
µÇ°í ÀÖ´Â »çÀÌ¿¡ -- "OK ÃæºÐÇÕ´Ï´Ù" ÇÏ´Â ¸Þ½ÃÁö°¡ ³ª¿Ã ¶§±îÁö -- »ç¿ëÀÚµéÀÌ Å°º¸µå¸¦
µÎµé±â°Ô ²û ÇÏ´Â °ÍÀÏ °ÍÀÌ´Ù)
/dev/random
Àº -- ÀÎÅÍ·´Æ® »çÀÌÀÇ ½Ã°£À» Àç¼ ¸¸µå´Â µîÀÇ -- ÁúÀÌ ³ôÀº
¿£Æ®·ÎÇÇÀÌ´Ù. À̰͵µ ·£´ý µ¥ÀÌŸ°¡ ÃæºÐÈ÷ ¸¸µé¾îÁú ¶§±îÁö ¸·°í ÀÖ°Ô µÈ´Ù.
/dev/urandom
Àº ºñ½ÁÇÏÁö¸¸, -- ¿£Æ®·ÎÇÇ°¡ ³·À» ¶§ÀÇ °æ¿ì -- ¾ÏÈ£ÇÐ ±â¹ý »ó
°ÇÏ´Ù°í ÇÒ ¼ö ÀÖ´Â Ç콬 °ªÀ» ¸¸µé¾î ÁØ´Ù. ºñ·Ï ÀÌ°ÍÀº (/dev/random
À¸·Î
¸¸µé¾îÁö´Â °ª¿¡ ºñÇϸé) »ó´ëÀûÀ¸·Î´Â ´ú ¾ÈÀüÇÏÁö¸¸, ´ëºÎºÐÀÇ Ç®±×¸²¿ëÀ¸·Î´Â ÃæºÐÇÏ´Ù.
´ÙÀ½°ú °°Àº ¹æ¹ý µîÀ¸·Î µð¹ÙÀ̽º·ÎºÎÅÍ ÀÐ¾î ³¾ ¼ö ÀÖ´Ù.
root# head -c 6 /dev/urandom | mimencode
ÀÌ°ÍÀº -- Æнº¿öµå¸¦ ¸¸µê¿¡ ÀûÀýÇÒ -- 8ÀÚÀÇ ³¼ö¸¦ ÄַܼΠÃâ·ÂÇÒ °ÍÀÌ´Ù.
mimencode
´Â ¸ÞŸ ¸ÞÀÏ ÆÐÅ°Áö¿¡¼ º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
¿¬»ê¹ý¿¡ ´ëÇÑ ¼³¸íÀº /usr/src/linux/drivers/char/random.c
¿¡ ÀÖ´Ù. ³»°¡ (µ¥À̺ê) ÀÌ
°ÍÀ» ¾²´Âµ¥ µµ¿ÍÁØ µð¾îµµ¾î ¿ÍÀÌ Âå, Á¸ ·çÀ̽º ±×¸®°í ¸®´ª½º Ä¿³Î ÆÀ ¿©·¯ºÐ¿¡°Ô °¨»çµå¸°´Ù.