¸®´ª½º 2.4 NAT ÇÏ¿ìÅõ Rusty Russell, mailing list netfilter@lists.samba.org v1.0 Tue Mar 21 17:06:19 EST 2000 ÀÌ ¹®¼­´Â 2.4 ¸®´ª½º Ä¿³Î¿¡¼­ ¾î¶»°Ô ¸¶½ºÄõ·¹À̵ù, Åõ¸íÇÑ ÇÁ·Ï½Ã, Æ÷Æ® Æ÷¿öµå ±×¸®°í ´Ù¸¥ ³Ý¿öÅ© Áּҹٲٱ⸦ ¾î¶»°Ô ÇÏ´ÂÁö¸¦ ¼³¸íÇÑ´Ù. ______________________________________________________________________ ¸ñÂ÷ 1. ¼Ò°³AID CDATA intro(LABEL)LABEL 2. ¾îµð¿¡ °ø°ø À¥ »çÀÌÆ®¿Í ¸®½ºÆ®°¡ ÀÖÀ»±î¿ä ? 2.1 NAT °¡ ¹»±î¿ä ? 2.2 ¿Ö NAT¸¦ »ç¿ëÇÒ·Á°í ÇÒ±î¿ä ? 3. µÎ°¡Áö ÇüÅÂÀÇ NAT 4. 2.0, 2.2 Ä¿³Î·ÎºÎÅÍÀÇ ºü¸¥ Àüȯ 4.1 ³ª´Â ´ÜÁö ¸¶½ºÄõ·¹À̵ù Çϱ⸸ ¿øÇÑ´Ù... µµ¿ÍÁÒ.. 4.2 ipmasqadmÀº ¾î¶»ÇÏÁÒ ? 5. NAT Á¶ÀýÇϱâ 5.1 iptables »ç¿ëÇÒ¶§ÀÇ ´Ü¼øÇÑ ¼±Åà 5.2 ¾î¶°ÇÑ ÆÐŶÀ» Á¶ÀÛÇÒ °ÍÀÎÁö, ¼¶¼¼ÇÑ ¼±Åà 6. ÆÐŶÀ» ¾î¶»°Ô Á¶ÀÛÇÒÁö¸¦ ¾Ë·ÁÁÖ±â 6.1 ½ÃÀÛÁ¡ NAT 6.1.1 ¸¶½ºÄõ·¹À̵ù 6.2 ¸ñÀûÁö NAT 6.2.1 ¹æÇâ Àç¼³Á¤ 6.3 Mappings In Depth 6.3.1 ¹üÀ§·Î ´Ù¼öÀÇ ÁÖ¼Ò¸¦ ¼±ÅÃÇϱâ 6.3.2 Creating Null NAT Mappings 6.3.3 ±âº»ÀûÀÎ NAT Çൿ¾ç½Ä 6.3.4 Implicit Source Port Mapping 6.3.5 NAT °¡ ½ÇÆÐÇßÀ» °æ¿ì ¾î¶²ÀÏÀÌ »ý±æ±î¿ä ? 6.3.6 º¹¼öÀÇ ¼³Á¤, Áߺ¹, Ãæµ¹ 6.3.7 Áö¿ªÀûÀ¸·Î »ý¼ºµÈ Á¢¼ÓÀÇ ¸ñÀûÁö¸¦ º¯°æÇϱâ 7. Ư¼öÇÑ ÇÁ·ÎÅäÄÝ 8. NAT ¿¡ ´ëÇÑ °æ°í 9. °¨»çÀÇ ¸»¾¸ ______________________________________________________________________ 1. ¼Ò°³ ¾äÀüÇÑ µ¶ÀÚ ¿©·¯ºÐ, ȯ¿µÇÕ´Ï´Ù. ¿©·¯ºÐÀº ȯ»óÀûÀÎ (±×¸®°í °¡²û ¹«½Ã¹«½ÃÇÑ) NATÀÇ ¼¼»óÀ¸·Î ºüÁ®µé°Ô µÇ ¾ú½À´Ï´Ù. ³×Æ®¿öÅ© ÁÖ¼Ò ¹ø¿ª(Network Address Translation, NAT), ±×¸®°í ÀÌ ÇÏ¿ìÅõ´Â 2.4 ¸®´ª½º Ä¿³ÎÀÇ ¼¼¹ý Á¤È®ÇÑ °¡À̵尡 µÇ¾î ÁÙ °ÍÀÔ´Ï´Ù. ¸®´ª½º 2.4¿¡¼­ ÆÐŶÀ» Á¶ÀÛÇÏ´Â ±â¹Ý±¸Á¶¸¦ '³ÝÇÊÅÍ(netfilter)¶ó°í ÇÕ ´Ï´Ù. ÀÌ°ÍÀÇ ÃÖ»óÀ§¿¡ NAT°¡ ÀÖ°í ÀÌ°ÍÀº ÀÌÀü Ä¿³Î·Î ºÎÅÍ ¿ÏÀüÈ÷ ÀçÀÌÇà µÇ¾ú½À´Ï´Ù. 2. ¾îµð¿¡ °ø°ø À¥ »çÀÌÆ®¿Í ¸®½ºÆ®°¡ ÀÖÀ»±î¿ä ? ¼¼°³ÀÇ °ø°ø À¥ »çÀÌÆ®°¡ ÀÖ½À´Ï´Ù. o Thanks to Penguin Computing . o Thanks to The Samba Team and SGI . o Thanks to Jim Pick . °ø°øÀÇ ³ÝÇÊÅÍ ¸ÞÀϸµ ¸®½ºÆ®´Â Samba's Listserver . 2.1. NAT °¡ ¹»±î¿ä ? Á¤»óÀûÀ¸·Î ÆÐŶÀº ±×°ÍÀÇ ½ÃÀÛÁ¡¿¡¼­ ºÎÅÍ ¸ñÀûÁö±îÁö ¸¹Àº ´Ù¸¥ ¸µÅ©¸¦ °æÀ¯ÇÏ°Ô µË´Ï´Ù. ³»°¡ÀÖ´Â ¿À½ºÆ®·¼¸®¾Æ¿¡¼­´Â ¾à 19°³¸¦ °ÅÄ¡´Â ±º¿ä. ÀÌ µé ¸µÅ©Áß ¾î¶²°Íµµ ¿©·¯ºÐÀÇ ÆÐŶÀ» ½ÇÁ¦·Î º¯°æÇÏÁö´Â ¾Ê½À´Ï´Ù. ´ÜÁö ÀÌ °ÍÀ» Á¦ ¹æÇâÀ¸·Î º¸³»Áֱ⸸ ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¸µÅ©Áß NAT¸¦ »ç¿ëÇÏ´Â °÷À» ¸¸³ª¸é ÀÌ ÆÐŶÀº ±× ½ÃÀÛÁ¡À̳ª ¸ñÀû Áö°¡ Áö³ª´Â µ¿¾È º¯È­µÇ°Ô µÈ´Ù. ÁüÀÛÇÏ°ÚÁö¸¸, ÀÌ°ÍÀº ½Ã½ºÅÛÀÌ ÀÛµ¿ÇÏ ´Â ¹æ½ÄÀÌ ¾Æ´Ï´Ù. ±×·¡¼­ NAT´Â ¾ðÁ¦³ª crock °°Àº °ÍÀÌ´Ù. ÀϹÝÀûÀ¸·Î NAT¸¦ ½ÇÇàÇÏ´Â ¸µÅ©´Â ÆÐŶÀ» ¾î¶»°Ô Á¶ÀÛÇß´ÂÁö¸¦ ±â¾ïÇϸç ÀÀ´ä ÆÐŶ ÀÌ Áö³ª°¥¶§ ±× ÀÀ´äÆÐŶÀ» ¿ø·¡´ë·Î µÇµ¹·Á ¸ðµç ÀÛµ¿ÀÌ °¡´É Çϵµ·Ï ÇÑ ´Ù. 2.2. ¿Ö NAT¸¦ »ç¿ëÇÒ·Á°í ÇÒ±î¿ä ? ¿Ïº®ÇÑ ¼¼»ó¿¡¼­´Â ¿©·¯ºÐÀº »ç¿ëÇÏ·Á ¾ÊÀ» °ÍÀÔ´Ï´Ù. ±×·¯³ª ÁÖ ÀÌÀ¯´Â ´ÙÀ½°ú °°½À´Ï´Ù. ÀÎÅͳݿ¡ ¸ðµ©À¸·Î ¿¬°á ¿©·¯ºÐÀÌ ¸ðµ©Á¢¼ÓÇÏ¿´À»¶§ ´ëºÎºÐÀÇ ISPµéÀº ÇϳªÀÇ IP ÁÖ¼Ò¸¦ ºÎ¿©ÇÕ´Ï´Ù. ¿©·¯ºÐÀº ¾î¶°ÇÑ ½ÃÀÛÁ¡ÀÇ ÁÖ¼Ò¿¡¼­µµ ÆÐŶÀ» º¸³¾ ¼ö ÀÖ½À´Ï´Ù¸¸ ÀÌ ½ÃÀÛÁ¡ÀÇ IP ÁÖ¼Ò¿¡¼­ º¸³»Áø ÆÐŶ¿¡°Ô¸¸ ÀÀ´äÀÌ ÀÖÀ» °ÍÀÔ´Ï´Ù. ¿©·¯ºÐÀÌ ¿©·¯°³ÀÇ ´Ù¸¥ ±â°è(Ȩ ³×Æ®¿ö±×¿¡¼­Ã³·³)¿¡¼­ ÀÌ ÇϳªÀÇ ¸µÅ©¸¦ ÅëÇÏ¿© ÀÎÅͳݿ¡ Á¢¼ÓÇϱ⸦ ¿øÇÑ´Ù¸é NAT°¡ ÇÊ¿äÇÒ °ÍÀÔ´Ï´Ù. ÀÌ°ÍÀÌ ¿äÁò NAT¸¦ »ç¿ëÇÏ´Â °¡Àå ÈçÇÑ ÀÌÀ¯ÀÌ°í ¸®´ª½º ¼¼»ó¿¡¼­´Â ¿Ö³ÄÇϸé ù¹ø° ÆÐŶÀÇ ½ÃÀÛÁ¡ ÁÖ¼Ò¸¦ ¹Ù²Ù´Â °ÍÀ̱⠶§¹®ÀÔ´Ï´Ù. º¹¼öÀÇ ¼­¹öµé °¡²û ¿©·¯ºÐÀÇ ³×Æ®¿öÅ©·Î °¡´Â ÆÐŶÀÇ ¹æÇâÀ» ¹Ù²Ù°íÀÚ ÇÒ °ÍÀÔ´Ï´Ù. Á¾Á¾ ÀÌ°ÍÀº (À§¿¡¼­ ±â¼úÇßµíÀÌ) ¿©·¯ºÐÀº ÇϳªÀÇ IP ÁÖ¼Ò¸¦ °¡Áö°í ÀÖÁö¸¸ ¿©·¯ºÐÀÇ ÇϳªÀÇ ½ÇÁ¦ IP ÁÖ¼Ò µÚ¿¡ ¿©·¯»ç¶÷ÀÌ Âü¿©ÇÏ°íÀÚ ÇÒ ¶§ÀÔ´Ï´Ù. ¿©·¯ºÐÀÌ µé¾î¿À´Â ÆÐŶÀÇ ¸ñÀûÁö¸¦ ´Ù½Ã °íÃÄÁÜÀ¸·Î ÀÌ·¯ÇÑ°ÍÀ» ÇÒ¼ö ÀÖ½À´Ï´Ù. ÀÌ°ÍÀÇ ÀϹÝÀûÀÎ º¯ÇüÀº ºÎÇϺлêÀ¸·Î, ¿©·¯´ëÀÇ ±â°è°¡ ¹°·ÁÀÖÀ»¶§ ÆÐŶÀ» À̵鿡°Ô·Î ³ª´©¾î ÁÖ´Â °ÍÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ÇüÅÂÀÇ NAT¸¦ ÀÌÀü ¹öÀüÀÇ ¸®´ª½º¿¡¼­´Â Æ÷Æ® Æ÷¿öµùÀ̶ó°í ÇÏ¿´½À´Ï´Ù. Åõ¸íÇÑ ÇÁ·Ï½Ã (Transparent Proxying) °¡²û ¿©·¯ºÐÀÇ ¸®´ª½º ¹Ú½º¸¦ Áö³ª°¡´Â ÆÐŶÀÌ ¸®´ª½º ¹Ú½º ÀÚüÀÇ ÇÁ·Î±×·¥À¸·Î ÇâÇϵµ·Ï ÇÏ´Â °ÍÀ» ÁÁ¾ÆÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌ°ÍÀ» »ç¿ëÇÏ´Â °ÍÀº Åõ¸íÇÑ ÇÁ·Ï½Ã¸¦ ¸¸µå´Â °ÍÀ¸·Î ÀÌ ÇÁ·Ï½Ã´Â ¹Ù±ù¼¼»ó°ú ¿©·¯ºÐÀÇ ³×Æ®¿öÅ©»çÀÌ¿¡ Á¸ÀçÇÏ´Â ÇÁ·Î±×·¥À¸·Î ÀÌ µÑ»çÀÌÀÇ Åë½ÅÀ» ¼ÓÀÌ´Â °ÍÀÔ´Ï´Ù. ÀÌ°ÍÀÌ Åõ¸íÇÏ´Ù´Â °ÍÀº ¿©·¯ºÐÀÇ ³×Æ®¿öÅ©´Â ÀÌ ÇÁ·Ï½Ã°¡ ÀÛµ¿ÇÏÁö ¾Ê±â Àü±îÁö´Â ÇÁ·Ï½Ã¸¦ ÅëÇؼ­ Åë½ÅÀÌ ÀÌ·ç¾îÁø´Ù´Â °ÍÀ» ¾Ë¼ö ¾ø±â ¶§¹®ÀÔ´Ï´Ù. Squid´Â ÀÌ·±½ÄÀ¸·Î À嵿Çϵµ·Ï ¼³Á¤µÉ¼öÀÖ°í ÀÌ°ÍÀ» ÀÌÀüÀÇ ¸®´ª½º ¹öÀü¿¡¼­´Â Åõ¸íÇÑ ÇÁ·Ï½Ã ¶Ç´Â ¹æÇâÀç¼³Á¤(redirection)À̶ó°í ºÒ·¶½À´Ï´Ù. 3. µÎ°¡Áö ÇüÅÂÀÇ NAT ³ª´Â NAT¸¦ µÎ°¡ÁöÀÇ ´Ù¸¥ ÇüÅ·Π±¸ºÐÇÏ¿´½À´Ï´Ù.: ½ÃÀÛÁ¡ NAT(Source NAT) (SNAT) and ¸ñÀûÁö NAT(Destination NAT) (DNAT). Source NAT Àº ù ÆÐŶÀÇ ½ÃÀÛÁ¡ÁÖ¼Ò¸¦ º¯°æÇÒ¶§ÀÌ´Ù. Áï, µé¾î¿À´Â Á¢¼ÓÀ» º¯°æÇÏ´Â °ÍÀÌ´Ù. Source NAT´Â ¾ðÁ¦³ª ¶ó¿ìÆÃÈÄ¿¡ ÀÌ·ç¾îÁö°í ÆÐŶÀÌ ¹Ù±ùÀ¸·Î ³ª°¡±â Á÷Àü¿¡ ÀÌ·ç¾î Áø´Ù. ¸¶½ºÄõ·¹À̵ùÀº SNAT ÀÇ Æ¯º´ÇÑ ÇüÅÂÀÌ´Ù. Destination NAT Àº ù ÆÐŶÀÇ ¸ñÀûÁö ÁÖ¼Ò¸¦ º¯°æÇÒ¶§ÀÌ´Ù. Áï, Á¢¼ÓÀÌ ¾îµð·Î ÇâÇÏ´ÂÁö¸¦ º¯°æÇÒ¶§ ÀÌ´Ù. Destination NATÀº ¾ðÁ¦³ª ¶ó¿ìÆÃÀÌÀü¿¡ ÀÌ·ç¾îÁö°í ÆÐŶÀÌ Ã³À½À¸·Î µé¾î¿ÔÀ»¶§ ÀÌ·ç¾î Áø´Ù. Æ÷Æ® Æ÷¿öµù, ºÎÇϺлê, ±×¸®°í Åõ¸íÇÑ ÇÁ·Ï½Ã°¡ ¸ðµÎ°¡ DNATÀÇ ÇüÅÂÀÌ´Ù. 4. 2.0, 2.2 Ä¿³Î·ÎºÎÅÍÀÇ ºü¸¥ Àüȯ ¾ÆÁ÷ 2.0 (ipfwadm)¿¡¼­ 2.2 (ipchains)·ÎÀÇ ÀüȯÀÇ ¼îÅ©¿¡ ºüÁ® ÀÖ´Â »ç¶÷¿¡°Ô´Â ¹Ì¾ÈÇÏ´Ù. ÁÁÀº ´º½º¿Í ³ª»Û ´º½º°¡ ÀÖ´Ù. ÀÌÀü´ë·Î ipchains¿Í ipfwadmÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ·¸°Ô ÇϱâÀ§Çؼ­´Â ´Ü¼øÈ÷ ³ÝÇÊÅÍÀÇ ¹èÆ÷ÆÇ¿¡ Æ÷ÇÔµÇÀÖ´Â 'ipchins.o' ³ª 'ipfwadm.o' Ä¿³Î ¸ðµâÀ» »ðÀÔÇϱ⸸ ÇÏ¸é µÈ´Ù. À̵éÀº ¼­·Î ȣȯµÇÁö ¾Ê´Â´Ù. ±×¸®°í ¾î¶² ´Ù¸¥ ³ÝÇÊÅÍ ¸ðµâ°úµµ ÇÔ²² »ç¿ëµÉ ¼ö ¾ø´Ù. ÀÌµé ¸ðµâÀÌ Çѹø ¼³Ä¡µÇ°í ³ª¼­´Â ´ÙÀ½°ú °°Àº Â÷ÀÌÁ¡ ¿Ü¿¡´Â Á¤»óÀûÀ¸·Î ipchains¿Í ipfwadmÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. o ipchains ÀÇ -M -S ³ª ipfwadm ÀÇ -M -s ¿Í °°Àº ¸¶½ºÄõ·¹À̵ù ŸÀӾƿô ¼ÂÆÃÀº ÀÛµ¿ÇÏÁö ¾Ê½À´Ï´Ù. ¿Ö³ÄÇϸé ÀÌ Å¸ÀӾƿôÀº NAT ÀÇ ³»ºÎ±¸Á¶ÀÇ ½Ã°£º¸´Ù ±æ±â ¶§¹®ÀÔ´Ï´Ù. ±×·¸´õ¶óµµ »ó°ü¾øÁÒ. o verbose ¸¶½ºÄõ·¹ÀÌµå ¸®½ºÆÃÀÇ init_seq, delta, previous_delta ´Â ¾ðÁ¦³ª o ÀÛµ¿ÇÏÁö ¾Ê½À´Ï´Ù. Ä«¿îÅÍ°¡ '0'À¸·Î µÇÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù. ÇØÄ¿µéÀº ´ÙÀ½¿¡µµ ÁÖÀÇÇÏ¿©¾ß ÇÕ´Ï´Ù. o ¸¶½ºÄõ·¹À̵ù Áß¿¡µµ 61000-65095 Æ÷Æ®¸¦ ¹¶Ä¥¼ö ÀÖ½À´Ï´Ù. ¸¶½ºÄõ·¹À̵ù ÄÚµå´Â ÀÌ ¹üÀ§¸¦ °ÔÀÓÀ¸·Î ¿©±é´Ï´Ù. ±×·¯¹Ç·Î ÇÁ·Î±×·¥Àº ÀÌ°ÍÀ» »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. o (ÀÌÀü¿¡ ±â·ÏµÇ¾ú´ø) Åõ¸íÇÑ ÇÁ·Ï½Ã¿¡¼­ ½ÇÁ¦ ¿¬°á ¸ñÀûÁö¸¦ ¾Ë¾Æ³»´Â o (ÀÌÀü¿¡ ±â·ÏµÇ¾îÀÖÁö ¾Ê´ø) Åõ¸íÇÑ ÇÁ·Ï½ÃÀÇ È¯»óÀ» Á¾½Ä½ÃÅ°´Â bind- to-foreign-address ÇØÅ·Àº ´õÀÌ»ó Àû¿ëµÇÁö ¾Ê½À´Ï´Ù. 4.1. ³ª´Â ´ÜÁö ¸¶½ºÄõ·¹À̵ù Çϱ⸸ ¿øÇÑ´Ù... µµ¿ÍÁÒ.. ÀÌ°ÍÀº ´ëºÎºÐÀÇ »ç¶÷µéÀÌ ¿øÇÏ´Â °ÍÀÌÁÒ. ¿©·¯ºÐÀÌ ÀÚµ¿À¸·Î ÇÒ´çµÇ´Â IP PPP dialupÀ» »ç¿ëÇÑ´Ù¸é(¾î¶²°ÍÀÎÁö ¸ð¸¥´Ù¸é, ¿©·¯ºÐÀÌ »ç¿ëÇÏ´Â °Ô ÀÌ°Å´Ù.), ¿©·¯ºÐÀÇ ¸ðµç ³»ºÎ ³×Æ®¿öÅ©·ÎºÎÅÍ ¿À´Â ÆÐŶÀº PPP dialup ¹Ú½º·ÎºÎÅÍ ¿À´Â °ÍÀ¸·Î º¸¿©Áöµµ·Ï Ç϶ó°í ¿©·¯ºÐÀÇ ÄÄÇ»ÅÍ¿¡°Ô À̾߱âÇϱ⸦ ¿øÇÒ °ÍÀÌ´Ù. # ÇÒ´çµÇ´Â IP ÁÖ¼Ò¸¦ ¹ÞÀºÈÄ (POSTROUTING) NAT Å×ÀÌºí¿¡ (-t nat) ¹ÛÀ¸·Î ÇâÇÏ´Â # ppp0 (-o ppp0) ÀÇ ¸ðµç ÆÐŶµéÀÌ ¸¶½ºÄõ·¹ÀÌµå µÇµµ·Ï Á¢¼ÓÇϵµ·Ï (-j # MASQUERADE) »õ·Î¿î ±ÔÄ¢À» Ãß°¡Çϸé (-A) µÈ´Ù. iptables -A POSTROUTING -t nat -o ppp0 -j MASQUERADE # IP forwarding À» ÄÒ´Ù. echo 1 > /proc/sys/net/ipv4/ip_forward ¿©±â¼­ ¾î¶°ÇÑ ÆÐŶ ÇÊÅ͸µµµ ÇÏÁö¾ÊÀº°Í¿¡ ÁÖÀÇÇϼ¼¿ä. ÆÐŶ ÇÊÅ͸µÀ» À§Çؼ­´Â ÆÐŶ ÇÊÅ͸µ ÇÏ¿ìÅõ¸¦ º¸¼¼¿ä. 4.2. ipmasqadmÀº ¾î¶»ÇÏÁÒ ? »ç¿ëÀÚ ÀÔÀå¿¡¼­ ÀÌ°ÍÀÌ ÈξÀ ÀûÀýÇϹǷΠ³ª´Â ÀÌÀü°Í°úÀÇ È£È¯¼º¿¡ ´ëÇÏ¿© ¸¹ÀÌ °ÆÁ¤ÇÏÁö ¾Ê½À´Ï´Ù. Æ÷Æ® Æ÷¿öµùÇϱâÀ§Çؼ­ °£´ÜÈ÷ 'iptables -t nat'¸¦ »ç¿ëÇÏ¸é µË´Ï´Ù. ¿¹·Î ¸®´ª½º 2.2 ¿¡¼­´Â ´ÙÀ½°ú °°ÀÌ ÇÏ¿´À» °ÍÀÔ´Ï´Ù. # ¸®´ª½º 2.2 # 1.2.3.4ÀÇ 8080Æ÷Æ®·Î °¡´Â TCP ÆÐŶÀ» 192.168.1.1ÀÇ 80 Æ÷Æ®·Î °¡µµ·Ï Æ÷¿öµù ipmasqadm portfw -a -P tcp -L 1.2.3.4 8080 -R 192.168.1.1 80 ÀÌÁ¦´Â ´ÙÀ½°ú °°ÀÌ ÇÏ¿©¾ß ÇÕ´Ï´Ù. # ¸®´ª½º 2.4 # ¶ó¿ìÆà Àü¿¡ ±ÔÄ¢À» Ãß°¡Çϵµ·Ï (-A PREROUTING) NAT Å×ÀÌºí¿¡°Ô (-t nat) À̾߱â # Çϴµ¥ ´ë»ó ÆÐŶÀº TCP ÆÐŶÀ¸·Î (-p tcp) ¿ø·¡ ¸ñÀûÁÖ¼Ò´Â 1.2.3.4 ÀÌ°í (-d # 1.2.3.4) 8080 Æ÷Æ®ÀÌ´ø°ÍÀ» (--dport 8080) »õ·Î¿î ¸ñÀû ÁÖ¼Ò¸¦ °®µµ·ÏÇÕ´Ï´Ù. # (-j DNAT) ±× »õ·Î¿î ¸ñÀû ÁÖ¼Ò´Â 192.168.1.1 ÀÌ°í 80 Æ÷Æ®¸¦ ÀÌ¿ëÇÕ´Ï´Ù (--to # 192.168.1.1:80) iptables -A PREROUTING -t nat -p tcp -d 1.2.3.4 --dport 8080 \ -j DNAT --to 192.168.1.1:80 Áö¿ª Á¢¼Ó¿¡¼­µµ À§ÀÇ ±ÔÄ¢ÀÌ Àû¿ëµÇµµ·Ï ÇÒ·Á¸é(Áï, NAT ¹Ú½º ÀÚ½ÅÀÌ 1.2.3.4ÀÇ 8080Æ÷Æ®·Î Á¢¼ÓÇÒ·ÁÇÒ¶§ 192.168.1.1ÀÇ 80Æ÷Æ®·Î ¿¬°áµÇµµ·Ï ÇÒ·Á¸é), ¶È°°Àº ±ÔÄ¢À» Ãâ·Â üÀο¡µµ Ãß°¡½ÃÄÑÁÖ¸é µË´Ï´Ù. # ¸®´ª½º 2.4 iptables -A OUTPUT -t nat -p tcp -d 1.2.3.4 --dport 8080 \ -j DNAT --to 192.168.1.1:80 5. NAT Á¶ÀýÇϱ⠾ Á¢¼ÓÀ» ¹Ù²Ü°ÍÀΰ¡ ±×¸®°í ¾î¶»°Ô ¹Ù²Ü°ÍÀΰ¡¸¦ Ä¿³Î¿¡°Ô ¾Ë·ÁÁÖ±â À§ÇÏ¿© NAT ±ÔÄ¢µéÀ» ¸¸µé ÇÊ¿ä°¡ ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌ·¸°Ô Çϱâ À§Çؼ­, ¿ì¸®´Â ¾ÆÁÖ ´ÙÀç´Ù´ÉÇÑ iptables¸¦ »ç¿ëÇÕ´Ï´Ù. ÀÌ°ÍÀº '-t nat' À̶ó´Â Ưº°ÇÑ ¿É¼ÇÀ» »ç¿ëÇÏ¿© NAT Å×À̺íÀ» º¯°æÇØ ÁÜÀ¸·Î °¡´ÉÇÕ´Ï´Ù. NAT Å×ÀÌºí¿¡´Â ¼¼°³ÀÇ 'üÀÎ'À̶ó ºÒ¸®´Â ±ÔÄ¢µéÀÌ ÀÖ½À´Ï´Ù. °¢ ±ÔÄ¢Àº ÀÏÄ¡ÇÏ´Â °ÍÀÌ ³ª¿Ã¶§±îÁö ¼ø¼­´ë·Î ½ÃÇèµË´Ï´Ù. ¼¼°³ÀÇ Ã¼ÀÎÀº PREROUTING( ¸ñÀûÁö NATÀÇ °Ü¿ì ÆÐŶÀÌ Ã³À½À¸·Î µé¾î¿Ã¶§), POSTROUTING ( ½ÃÀÛÁ¡ NATÀÇ °æ¿ì ÆÐŶÀÌ ¶°³ª°¥¶§), ±×¸®°í Ãâ·Â ( Áö¿ª ³×Æ®¿öÅ©¿¡¼­ »ý¼ºµÈ ¸ñÀûÁö NAT ÆÐŶ) ÀÔ´Ï´Ù. ¾Æ·¡ ±×¸²Àº ÀÌ·¯ÇÑ °ü°è¸¦ Àß ³ªÅ¸³»°í ÀÖ½À´Ï´Ù. _____ _____ / \ / \ PREROUTING -->[Routing ]----------------->POSTROUTING-----> \D-NAT/ [Decision] \S-NAT/ | ^ | __|__ | / \ | | OUTPUT| | \D-NAT/ | ^ | | --------> Local Process ------ ÆÐŶÀÌ Áö³ª°¥¶§ À§ÀÇ °¢ ´Ü°è¿¡¼­ ¾î¶°ÇÑ Á¢¼Ó°ú ¿¬°üµÇ¾î ÀÖ´ÂÁö¸¦ »ìÆ캾´Ï´Ù. »õ·Î¿î Á¢¼ÓÀ̶ó¸é ÀÌ°ÍÀÌ Àû¿ëµÇ´Â üÀÎÀÌ ¹«¾úÀÎÁö¸¦ ¾Ë¾Æº¸°í ÀÌ°ÍÀ» ¾î¶»°Ô ÇÒ °ÍÀÎÁö¸¦ ¾Ë¾Æº¸±â À§ÇÏ¿© NAT Å×À̺íÀ» »ìÆ캾´Ï´Ù. NAT Å×À̺íÀÇ ³»¿ëÀº ÀÌÈÄ ÀÌ Á¢¼ÓÀ¸·ÎºÎÅÍ ¿À´Â ¸ðµç ÆÐŶ¿¡ Àû¿ëµË´Ï´Ù. 5.1. iptables »ç¿ëÇÒ¶§ÀÇ ´Ü¼øÇÑ ¼±Åà iptables Àº ¾Æ·¡¿¡ ³ª¿­µÈ ¸î°³ÀÇ ±âº» ¿É¼ÇÀÌ ÀÖ½À´Ï´Ù. ¸ðµç µÎÁÙÀÇ ¿É¼ÇÀº iptables°¡ ´Ù¸¥ °¡´ÉÇÑ ¿É¼Ç°ú ±¸ºÐÇÒ ¼ö ÀÖ´Ù¸é ÁÙ¿© ¾µ¼ö ÀÖ½À´Ï´Ù. °¡Àå Áß¿äÇÑ ¿É¼ÇÀº ¸ðµç NAT ÀÛµ¿¿¡ »ç¿ëµÇ´Â NAT Å×À̺íÀ» ÁöĪÇÏ´Â '-t nat' ¿É¼ÇÀÔ´Ï´Ù. µÎ¹ø°·Î Áß¿äÇÑ ¿É¼ÇÀº »õ·Î¿î ±ÔÄ¢À» ±× üÀÎÀÇ ³¡¿¡ Ãß°¡ÇÏ´Â '-A' ¿É¼ÇÀÔ´Ï´Ù.(¿¹. '-A POSTROUTING'). '-I'¿É¼ÇÀº üÀÎÀÇ Ã³À½¿¡ Ãß°¡ÇÕ´Ï´Ù (¿¹. NAT¸¦ ÀÌ¿ëÇÒ ÆÐŶÀÇ ½ÃÀÛÁ¡À̳ª ('-s', '--source') ¸ñÀûÁö ('-d', ÁÖ¼Ò(¿¹. 192.168.1.1)³ª À̸§ (¿¹. www.kernelnotes.org)À̳ª ³×Æ®¿öÅ© ÁÖ¼Ò (¿¹. 192.168.1.0/24 ¶Ç´Â 192.168..0/255.255.255.0) °¡ µû¶ó¿É´Ï´Ù. ÀÏÄ¡ÇÏ´Â ÀÎÅÍÆäÀ̼­¸¦ ÁöÁ¤ÇÒ ¼öµµ Àִµ¥ µé¾î¿À´Â °Í('-i', ±×·¯³ª ¾î¶² üÀο¡ ÀÌ ±ÔÄ¢À» Àû¿ëÇÒ °ÍÀÎÁö¸¦ °áÁ¤ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. PREROUTING ¿¡´Â µé¾î¿À´Â ÀÎÅÍÆäÀ̼­¸¸ ¼±ÅÃÇÒ ¼ö ÀÖ°í POSTROUTING (±×¸®°í Ãâ·Â) ¿¡´Â ³ª°¡´Â ÀÎÅÍÆäÀ̼­¸¸ ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ°ÍÀ» À߸ø ¼±ÅÃÇϸé iptables´Â ¿¡·¯¸¦ ³¾ °ÍÀÔ´Ï´Ù. 5.2. ¾î¶°ÇÑ ÆÐŶÀ» Á¶ÀÛÇÒ °ÍÀÎÁö, ¼¶¼¼ÇÑ ¼±Åà À§¿¡¼­ ½ÃÀÛÁ¡°ú ¸ñÀûÁöÀÇ ÁÖ¼Ò¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù°í À̾߱â Çß½À´Ï´Ù. ½ÃÀÛÁ¡ ÁÖ¼ÒÀÇ ¿É¼ÇÀ» »ç¿ëÇß´Ù¸é ¸ðµç ½ÃÀÛÁ¡ ÁÖ¼Ò°¡ Á¶ÀÛ µÉ°ÍÀÌ°í ¸ñÀûÁö ÁÖ¼ÒÀÇ ¿É¼ÇÀ» »ç¿ëÇß´Ù¸é ¸ðµç ¸ñÀûÁö ÁÖ¼Ò°¡ Á¶ÀÛµÉ °ÍÀÔ´Ï´Ù. TCP ³ª UDP ó·³ ÇÁ·ÎÅäÄÝÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù ('-p', '--protocol'). ÁöÁ¤ÇÑ ÇÁ·ÎÅäÄÝÀÇ ÆÐŶ¸¸ ±ÔÄ¢°ú ÀÏÄ¡ÇÏ´ÂÁö °Ë»çÇÒ °ÍÀÔ´Ï´Ù. ÀÌ·¸°Ô ÇÏ´Â ÁÖ ÀÌÀ¯´Â tcp³ª udp¸¦ ÁöÁ¤Çϸé Ãß°¡ÀÇ ¿É¼ÇÀÌ °¡´ÉÇϱ⠶§¹®ÀÔ´Ï´Ù. ±× Ãß°¡ÀÇ ¿É¼ÇÀº ÀÌ·¯ÇÑ ¿É¼ÇÀº ¾î¶² ½ÃÀÛÁ¡À̳ª ¸ñÀûÁö Æ÷Æ®ÀÇ °Í¸¸À» ÁöÁ¤ÇÒ ¼ö ÀÖ°Ô ÇÕ´Ï´Ù. ÀÌ°ÍÀº À¥ ¿ä±¸µé(TCP 80 À̳ª 8080 Æ÷Æ®)¸¦ ´Ù¸¥°÷À¸·Î ¹æÇâÀ» ¹Ù²Ù°í ´Ù¸¥ÆÐŶÀº ±×³É µÎ·Á°í ÇÒ¶§ À¯¿ëÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¿É¼ÇÀº '-p' ¿É¼ÇµÚ¿¡ µû¶ó¿Í¾ß ÇÕ´Ï´Ù. (ÀÌ°ÍÀº ±× ÇÁ·ÎÅäÄÝ¿¡ ´ëÇÑ È®Àå ¶óÀ̺귯¸®¸¦ ·ÎµùÇÏ´Â ºÎÀÛ¿ëµµ ÀÖ½À´Ï´Ù.) /etc/services ¿¡¼­ ¾òÀ» ¼ö ÀÖ´Â À̸§À̳ª Æ÷Æ® ¹øÈ£¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÆÐŶÀ» ¼±ÅÃÇÏ´Â ¿©·¯ µî±ÞÀÇ ¹æ¹ýµéÀº °íÅ뽺·¯¿î ¼¼ºÎ»çÇ׵鿡 ´ëÇÑ ¼³¸íÀÌ ³ª¿ÍÀÖ´Â ¸Þ´º¾ó ÆäÀÌÁö¸¦ Âü°íÇϼ¼¿ä. (man iptables). 6. ÆÐŶÀ» ¾î¶»°Ô Á¶ÀÛÇÒÁö¸¦ ¾Ë·ÁÁÖ±â ÀÌÁ¦ Á¶ÀÛÇÒ·Á´Â ÆÐŶÀ» ¾î¶»°Ô ¼±ÅÃÇÏ´ÂÁö¸¦ ¾Ë¾Æº¸¾Ò½À´Ï´Ù. ±ÔÄ¢À» ¿Ï¼ºÇÒ·Á¸é ÆÐŶÀ» ¾î¶»°Ô ÇÒ °ÍÀÎÁö¸¦ Ä¿³Î¿¡°Ô ¾Ë·ÁÁÖ¾î¾ß ÇÕ´Ï´Ù. 6.1. ½ÃÀÛÁ¡ NAT ½ÃÀÛÁ¡ NAT¸¦ »ç°í½Í´Ù¸é ; Á¢¼ÓÀÇ ½ÃÀÛÁ¡ ÁÖ¼Ò¸¦ ´Ù¸¥ °ÍÀ¸·Î ¹Ù²ß´Ï´Ù. ÀÌ°ÍÀº POSTROUTING üÀο¡¼­ ¹Ù±ùÀ¸·Î ³»º¸³» Áö±â ¹Ù·Î Á÷Àü¿¡ ÀÌ·ç¾î Áý´Ï´Ù. ÀÌ°ÍÀº ¾ÆÁÖ Áß¿äÇÑ ¼¼ºÎ»çÇ×À¸·Î ÀÌ°ÍÀº ¸®´ª½º ¹Ú½º ÀÚü¿¡¼­´Â ¹Ù²î±â ÀüÀÇ ÆÐŶÀ» ÀνÄÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ÀÌ°ÍÀº ¶ÇÇÑ '-o' (¹ÛÀ¸·Î ³ª°¡´Â ÀÎÅÍÆäÀ̼­) ¿É¼ÇÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ½ÃÀÛÁ¡ NAT ´Â '-j SNAT'¸¦ »ç¿ëÇÔÀ¸·Î ÁöÁ¤µÇ°í '--to-source' ¿É¼ÇÀ¸·Î IP ÁÖ¼Ò, IP ÁÖ¼ÒÀÇ ¹üÀ§, Æ÷Æ®, Æ÷Æ®ÀÇ ¹üÀ§ (UDP ¿Í TCP ÇÁ·ÎÅäÄÝ¿¡¼­¸¸) ¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ## ½ÃÀÛÁ¡ ÁÖ¼Ò¸¦ 1.2.3.4·Î ¹Ù²Ù±â # iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4 ## ½ÃÀÛÁ¡ ÁÖ¼Ò¸¦ 1.2.3.4 ³ª 1.2.3.5 ¶Ç´Â 1.2.3.6À¸·Î ¹Ù²Ù±â # iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4-1.2.3.6 ## ½ÃÀÛÁ¡ ÁÖ¼Ò¸¦ 1.2.3.4 Æ÷Æ® 1-1023 À¸·Î ¹Ù²Ù±â # iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT --to 1.2.3.4:1-1023 6.1.1. ¸¶½ºÄõ·¹À̵ù ½ÃÀÛÁ¡ NATÀÇ Æ¯º°ÇÑ °æ¿ì·Î ¸¶½ºÄõ·¹À̵ùÀ̶ó´Â°Ô ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº Ç¥ÁØ ÀüÈ­Á¢¼Óó·³ µ¿ÀûÀ¸·Î ÇÒ´çµÇ´Â IP Áַθ¦ »ç¿ëÇÒ¶§¸¸ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. ( Á¤ÀûÀÎ IP ÁÖ¼Ò¸¦ »ç¿ëÇÒ¶§¿¡´Â À§ÀÇ SNAT¸¦ »ç¿ëÇϼ¼¿ä.) ¸¶½ºÄõ·¹À̵ùÇÒ¶§ ½ÃÀÛÁ¡ ÁÖ¼Ò¸¦ Á¤È®È÷ Àû¾îÁÙ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ÀÌ°ÍÀº ¹ÛÀ¸·Î ³ª°¡´Â ÆÐŶÀÌ ÀÌ¿ëÇÏ´Â ÀÎÅÍÆäÀ̼­¸¦ ÀÌ¿ëÇÒ °ÍÀÔ´Ï´Ù. ±×·¯³ª ´õ¿í Áß¿äÇÑ °ÍÀº, ±× ¿¬°áÀÌ ²÷¾îÁö¸é ±× Á¢¼ÓÀº ÀÒ¾î¹ö¸®°Ô µË´Ï´Ù. Áï, »õ·Î¿î IP ÁÖ¼Ò¸¦ ¹Þ°ÔµÇ¸é µå¹® µ¹¿¬ÇÑ ÀÌ»óÀÌ »ý±æ ¼ö ÀÖÀ½À» ÀǹÌÇÕ´Ï´Ù. ## ppp0 ·Î ³ª°¡´Â ¸ðµç ÆÐŶÀ» ¸¶½ºÄõ·¡À̵å Çϱâ # iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE 6.2. ¸ñÀûÁö NAT ÀÌ°ÍÀº PREROUTING üÀο¡¼­ ÆÐŶÀÌ µé¾î¿À±â ¹Ù·Î Á÷Àü¿¡ ÀÌ·ç¾î Áý´Ï´Ù. ÀÌ°ÍÀº ¸®´ª½º ¹Ú½º ÀÚü¿¡¼­´Â µé¾î¿À´Â ÆÐŶÀÇ '½ÇÁ¦' ¸ñÀûÁö¸¦ ¾Ë°Ô µÈ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ÀÌ°ÍÀº ¶ÇÇÑ '-I' (µé¾î¿À´Â ÀÎÅÍÆäÀ̼­) ¿É¼ÇÀ» »ç¿ëÇÒ ¼ö ÀÖÀ½À» ÀǹÌÇÕ´Ï´Ù. Áö¿ª ³×Æ®¿öÅ©¿¡¼­ »ý¼ºµÈ ÆÐŶÀÇ ¸ñÀûÁö¸¦ Á¶ÀÛÇÒ·Á¸é Ãâ·Â üÀÎÀ» ÀÌ¿ëÇÏ¸é °¡´ÉÇѵ¥, ÀÌ°ÍÀº °ÅÀÇ »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. ¸ñÀûÁö NAT ´Â '-j DNAT' ¸¦ »ç¿ëÇÔÀ¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖ°í '--to- destination' ¿É¼ÇÀ¸·Î IP ÁÖ¼Ò, IP ÁÖ¼ÒÀÇ ¹üÀ§, Æ÷Æ®³ª Æ÷Æ®ÀÇ ¹üÀ§(UDP ¿Í TCP ÇÁ·ÎÅäÄÝ¿¡¼­¸¸)¸¦ ÁöÁ¤ÇÒ¼ö ÀÖ½À´Ï´Ù. ## ¸ñÀûÁö ÁÖ¼Ò¸¦ 5.6.7.8·Î ¹Ù²Ù±â # iptables -t nat -A PREROUTING -i eth1 -j DNAT --to 5.6.7.8 ## ¸ñÀûÁö ÁÖ¼Ò¸¦ 5.6.7.8 À̳ª 5.6.7.9 ¶Ç´Â 5.6.7.10À¸·Î ¹Ù²Ù±â # iptables -t nat -A PREROUTING -i eth1 -j DNAT --to 5.6.7.8-5.6.7.10 ## À¥ Æ®·¡ÇÈÀÇ ¸ñÀûÁö ÁÖ¼Ò¸¦ 5.6.7.8ÀÇ 8080 Æ÷Æ®·Î ¹Ù²Ù±â # iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth1 \ -j DNAT --to 5.6.7.8:8080 ## 1.2.3.4·Î °¡´Â Áö¿ª ÆÐŶÀ» loopbackÀ¸·Î Àç¼³Á¤ Çϱâ # iptables -t nat -A OUTPUT -d 1.2.3.4 -j DNAT --to 127.0.0.1 6.2.1. ¹æÇâ Àç¼³Á¤ ¸ñÀûÁö NAT ÁßÀÇ Æ¯¼öÇÑ °æ¿ì·Î ¸¶½ºÄõ·¹À̵ùÀÌ ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº µé¾î¿À´Â ÀÎÅÍÆäÀ̽ºÀÇ ÁÖ¼Ò·Î DNAT¸¦ ÀÌ¿ëÇÏ´Â °Í°ú Á¤È®È÷ ÀÏÄ¡ÇÏ´Â °ÍÀ¸·Î ´Ü¼øÇÑ ÆíÀǼºÀ» À§ÇÑ °ÍÀÔ´Ï´Ù. ## µé¾î¿À´Â 80 Æ÷Æ®ÀÇ À¥ Á¤º¸¸¦ squid (Åõ¸íÇÑ) ÇÁ·Ï½Ã·Î º¸³»±â # iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 \ -j REDIRECT --to-port 3128 6.3. Mappings In Depth ´ëºÎºÐÀÇ »ç¶÷ÀÌ ´Ù·çÁö ¾ÊÀ» ³»¿ëÁÖ NAT¸¦ »ç¿ëÇϴµ¥ ¹Ì¹¦ÇÑ ³»¿ëÀÌ Á» ÀÖ½À´Ï´Ù. ÀÌ»óÇÏ°Ô ¿©±â´Â »ç¶÷À» À§ÇÏ¿© ÀÌ°÷¿¡ ±×°Íµé¿¡ ´ëÇÑ ³»¿ëÀ» ¾¹´Ï´Ù. 6.3.1. ¹üÀ§·Î ´Ù¼öÀÇ ÁÖ¼Ò¸¦ ¼±ÅÃÇϱâ IP ÁÖ¼ÒÀÇ ¹üÀ§°¡ ÁÖ¾îÁö¸é ÃÖ±Ù¿¡ °¡Àå »ç¿ëµÇÁö ¾Ê¾Ò´ø IP ·Î Á¢¼ÓÀ» Çϵµ·Ï ÇÕ´Ï´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î ±âº»ÀûÀÎ ºÎÇϱÕÇüÀ» ÀÌ·ì´Ï´Ù. 6.3.2. Creating Null NAT Mappings ÇÒ ¼ö ÀÖ½À´Ï´Ù. 6.3.3. ±âº»ÀûÀÎ NAT Çൿ¾ç½Ä ±âº»ÀûÀÎ Çൿ¾ç½ÄÀº »ç¿ëÀÚ°¡ ¼³Á¤ÇÑ ±ÔÄ¢ÀÇ Çѵµ³»¿¡¼­ °¡´ÉÇÑ ÃÖ¼ÒÇÑÀÇ Á¢¼Ó¸¸ Çϵµ·Ï ÇÕ´Ï´Ù. ÀÌ°ÍÀº ²À ÇÊ¿äÇÏÁö ¾Ê´Â °æ¿ì¿¡ Æ÷Æ®µéÀ» Àç ¼³Á¤ÇÒ ÇÊ¿ä°¡ ¾ø´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. 6.3.4. Implicit Source Port Mapping Á¢¼ÓÀ» Çϴµ¥ NAT ¸¦ ¿ä±¸ÇÏÁö ¾Ê´õ¶óµµ ÀÌÀüÀÇ Á¢¼Ó¿¡ °ãÃļ­ Á¢¼ÓÀ» ½ÃµµÇÏ·ÁÇÏ¸é ½ÃÀÛÁ¡ Æ÷Æ®´Â °­Á¦·Î º¯°æµÇµµ·Ï ÇÕ´Ï´Ù. Á» ÀÚÁÖ »ç¿ëµÇ´Â °æ¿ì·Î ¸¶½ºÄõ·¹À̵ùÀÇ °æ¿ì¸¦ º¾½Ã´Ù. 1. 192.1.1.1ÀÇ 1024 Æ÷Æ®·ÎºÎÅÍ www.netscape.comÀÇ Æ÷Æ® 80À¸·Î À¥ Á¢¼ÓÀ» ÇÏ´Â °æ¿ì¸¦ °¡Á¤ÇØ º¾´Ï´Ù. 2. ±×¸®°í ÀÌ°ÍÀº ½ÃÀÛÁ¡ IP ÁÖ¼Ò(1.2.3.4)¸¦ °¡Áø °ÍÀ¸·Î ¸¶½ºÄù·¹ÀÌ´õ µÈ´Ù°í °¡Á¤ÇÕ´Ï´Ù. 3. ¸¶½ºÄõ·¹À̵ù ¹Ú½º´Â 1.2.3.4(ÀÌ°ÍÀÇ ¿ÜºÎ ÀÎÅÍÆäÀ̼­ ÁÖ¼Ò)ÀÇ 1024 Æ÷Æ®·ÎºÎÅÍ www.netscape.comÀÇ 80 Æ÷Æ®·Î À¥ Á¢¼ÓÀ» ÀÌ·èÇÕ´Ï´Ù. 4. NAT ÄÚµå´Â ±× ´ÙÀ½ÀÇ Á¢¼ÓÀº 1025Æ÷Æ®·Î ½ÃÀÛÁ¡ ÁÖ¼Ò¸¦ ¹Ù²Ù¾î ÀÌ µÑÀÌ ¼­·Î Ãæµ¹ÇÏÁö ¾Êµµ·Ï ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ °­Á¦ÀûÀÎ ½ÃÀÛÁ¡ ¼³Á¤ÀÌ ÀÌ·ç¾îÁú¶§ Æ÷µå´Â ´ÙÀ½ÀÇ ¼¼°¡Áö Ŭ·¡¼­·Î ³ª´©¾î Áý´Ï´Ù. o 512 ÀÌÇÏÀÇ Æ÷Æ® o 512 ¿Í 1023 »çÀÌÀÇ Æ÷Æ® o 1024 º¸´Ù Å« Æ÷Æ® ¼­·Î ´Ù¸¥ Ŭ·¡½º·Î Æ÷Æ®°¡ ¼³Á¤µÇ´Â ÀÏÀº ¾øÀ» °ÍÀÔ´Ï´Ù. 6.3.5. NAT °¡ ½ÇÆÐÇßÀ» °æ¿ì ¾î¶²ÀÏÀÌ »ý±æ±î¿ä ? »ç¿ëÀÚ°¡ ¿ä±¸Çѵ¥·Î Á¢¼ÓÀ» À¯ÀÏÇÏ°Ô ¼³Á¤ ÇÒ ¹æ¹ýÀÌ ¾ø´Â °æ¿ì ÀÌ°ÍÀº DROP µË´Ï´Ù. ÀÌ°ÍÀº À߸øµÈ ÆÐŶÀÇ °æ¿ìó·³ ¾î¶°ÇÑ Á¢¼ÓÀÇ ÇüÅ·εµ ±¸ºÐµÇÁö ¾ÊÀ»¶§, ±×¸®°í ¸Þ¸ð¸® Á¦ÇÑÀ» ¹þ¾î³µÀ»¶§ µîÀÇ °æ¿ì¿¡µµ DROP µË´Ï´Ù. 6.3.6. º¹¼öÀÇ ¼³Á¤, Áߺ¹, Ãæµ¹ NAT ±ÔÄ¢¿¡¼­ ±× ´ë»ó ÆÐŶÀÌ °°Àº ¹üÀ§¸¦ °¡Áú ¼ö ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì Ãæµ¹À» ÇÇÇÒ Á¤µµ·Î NAT ÄÚµå´Â ¶Ê¶ÊÇÕ´Ï´Ù. ±×·¯¹Ç·Î µÎ°³ÀÇ ±ÔÄ¢À» 1.2.3.4·ÎÀÇ Á¢¼Ó¿¡ Àû¿ëÇϸ鼭 ±× ½ÃÀÛÁ¡ ÁÖ¼Ò¸¦ °°ÀÌ 192.168.1.1°ú 192.168.1.2·Î Á¤ÇÏ´Â °Íµµ °¡´ÉÇÕ´Ï´Ù. ´õ±º´Ù³ª, ±× ÁÖ¼Ò°¡ ÁÖ¼Ò¼³Á¤À» ÇÏ°íÀÖ´Â ÄÄÇ»Å͸¦ Áö³­´Ù¸é, »ç¿ëÇÏ°íÀÖ´Â ½ÇÁ¦ IP ÁÖ¼Òµµ °ãÃÄ ¾µ¼ö°¡ ÀÖ½À´Ï´Ù. ±×·¡¼­, ¿©·¯ºÐÀÌ ¼³Á¤µÈ ³×Æ®¿öÅ©(1.2.3.0/24)¸¦ °¡Áö°í ÀÖÁö¸¸ ÀÌ·¯ÇÑ ÁÖ¼ÒÁß Çϳª¸¦ ³»ºÎÀÇ ³×Æ®¿öÅ©·Î »ç¿ëÇÏ°íÀÖ°í Çϳª´Â ±âÃÊÀûÀÎ ÀÎÅÍ³Ý ÁÖ¼ÒÀÎ 192.168.1.0/24¸¦ »ç¿ëÇÒ °æ¿ì ¿©·¯ºÐÀº ´Ü¼øÈ÷ 1.2.3.0 ³×Æ®¿ö±×·Î 192.168.1.0/24¸¦ ½ÃÀÛÁ¡ ÁÖ¼Ò·ÎÇÏ´Â NAT¸¦ ¾Æ¹«·± Ãæµ¹¿¡ ´ëÇÑ µÎ·Á¿ò ¾øÀÌ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. # iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 \ -j SNAT --to 1.2.3.0/24 °°Àº ³í¸®°¡ NAT ÄÄÇ»ÅÍ ÀÚ½ÅÀÌ »ç¿ëÇÏ´Â ÁÖ¼Ò¿¡µµ ÇØ´çµË´Ï´Ù. ÀÌ°ÍÀÌ ¸¶½ºÄõ·¹À̵ùÀÌ ÀÛµ¿ÇÏ´Â ¹æ½ÄÀÔ´Ï´Ù. (¸¶½ºÄõ·¡ÀÌ´õÇÏ´Â ÄÄÇ»ÅÍ ÀÚ½ÅÀ¸·ÎºÎÅÍ ¿À´Â ½ÇÁ¦ÀÇ ÆÐŶ°ú ¸¶½ºÄõ·¹ÀÌ´õ µÇ´Â ÆÐŶÀÌ ÀÎÅÍÆäÀ̼­ÀÇ ÁÖ¼Ò¸¦ °øÀ¯ÇÔÀ¸·Î ÀÛµ¿ÇÏÁÒ.) ´õ´õ¿í, ¸¹Àº ´Ù¸¥ Ÿ°ÙÀ» °°Àº ÆÐŶ¿¡ ¼³Á¤ÇÒ ¼öµµ ÀÖ´Ù. ±×·¯¸é À̵éÀº °øÀ¯µÉ °ÍÀÌ´Ù. ¿¹¸¦ µé¾î ¿©·¯ºÐÀÌ 1.2.3.5·Î´Â ¾Æ¹«°Íµµ ¼³Á¤µÇÁö ¾Ê±â¸¦ ¹Ù¶õ´Ù¸é ±×·¸°Ô ÇÒ ¼ö ÀÖ´Ù. # iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 \ -j SNAT --to 1.2.3.0-1.2.3.4 --to 1.2.3.6-1.2.3.254 6.3.7. Áö¿ªÀûÀ¸·Î »ý¼ºµÈ Á¢¼ÓÀÇ ¸ñÀûÁö¸¦ º¯°æÇϱâ Áö¿ªÀûÀ¸·Î »ý¼ºµÈ ÆÐŶÀÇ ¸ñÀûÁö°¡ º¯°æµÈ´Ù¸é (Ãâ·Â üÀÎÀ» ÅëÇؼ­) ±×·¡¼­ ±× ÆÐŶÀÌ ´Ù¸¥ ÀÎÅÍÆäÀ̼­¸¦ ÅëÇؼ­ ³ª°¡µµ·Ï ÇÑ´Ù¸é, ½ÃÀÛÁ¡ ÁÖ¼Òµµ ±× ÀÎÅÍÆäÀ̼­ÀÇ ÁÖ¼Ò·Î ¹Ù²Ü ¼ö°¡ ÀÖ´Ù. ¿¹¸¦ µé¾î, ·çÇÁ¹é ÆÐŶÀÇ ¸ñÀûÁö¸¦ eth0·Î ÇâÇϵµ·Ï º¯°æÇÑ´Ù¸é ±× ½ÃÀÛÁ¡µµ 127.0.0.1 ¿¡¼­ eth0ÀÇ ÁÖ¼Ò·Î ¹Ù²î°Ô µÈ´Ù. ´Ù¸¥ ½ÃÀÛÁ¡ ¼³Á¤°ú´Â ´Þ¸® ÀÌ°ÍÀº Áï°¢ ½ÃÇàµÈ´Ù. ÀÚ¿¬ÀûÀ¸·Î ÀÌ ¼³Á¤Àº ÀÀ´äÆÐŶÀÌ ¿ÔÀ»¶§ ¿ªÀüµÈ´Ù. 7. Ư¼öÇÑ ÇÁ·ÎÅäÄÝ ¾î¶² ÇÁ·ÎÅäÄÝÀ» NAT¿¡ ÀÇÇØ »ç¿ëµÇ¾î Áö´Â °ÍÀ» ½È¾îÇÑ´Ù. ÀÌ·¯ÇÑ ÇÁ·ÎÅäÄݵéÀ» À§ÇÏ¿© µÎ°³ÀÇ È®ÀåÀÌ ±â·ÏµÇ¾î¾ß ÇÑ´Ù. Çϳª´Â ±× ÇÁ·ÎÅäÄÝÀÇ Á¢¼ÓÃßÀûÀ» À§ÇÑ °ÍÀÌ°í ´Ù¸¥ Çϳª´Â ½ÇÁ¦ NAT¸¦ À§ÇÑ °ÍÀÌ´Ù. ³ÝÇÊÅÍ ¹èÆ÷ÆÇ¿¡´Â ÇöÁ¦ ftp¸¦ À§ÇÑ ¸ðµâ·Î ip_conntrack_ftp.o¿Í ip_nat_ftp.o ÀÌ´Ù. ÀÌ µÑÀ» ¿©·¯ºÐÀÇ Ä¿³Î¿¡ ¸ðµâ·Î Ãß°¡ÇÑ´Ù¸é (¶Ç´Â À̵éÀ» Ä¿³Î¿¡ ¿µ±¸È÷ Ãß°¡µÇµµ·Ï ÄÄÆÄÀÏ ÇÏ¿´´Ù¸é) ftp Á¢¼Ó¿¡ ´ëÇÑ ¾î¶°ÇÑ NATµµ ÀÛµ¿ÇÒ °ÍÀÌ´Ù. ±×·¯Áö ¾ÊÀ¸¸é ¼öµ¿ÀûÀÎ ftp¸¸À» »ç¿ëÇÒ ¼ö ÀÖ°í ÀÌ·¸°Ô µÇ¸é ´Ü¼øÇÑ ½ÃÀÛÁ¡ NAT ÀÌ»óÀÇ °ÍÀ» ½Å·Ú¼ºÀÖ°Ô ½ÇÇàÇÒ ¼ö ¾ø´Ù. 8. NAT ¿¡ ´ëÇÑ °æ°í Á¢¼Ó¿¡¼­ NAT ¸¦ »ç¿ëÇÑ´Ù¸é ¸ðµç ÆÐŶÀº ²À NAT ¸¦ »ç¿ëÇÏ´Â ÄÄÀ» ÀÌ¿ëÇØ¾ß ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ÀÌ°ÍÀº Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù. ƯÈ÷, Á¢¼Ó ÃßÀû Äڵ尡 ºÐÀýÀ» Àç°áÇÕÇÒ¶§´Â, Áï Á¢¼Ó ÃßÀûÀÌ ¹ÏÀ» ¼ö ¾ø°Ô µÉ»Ó ¾Æ´Ï¶ó ¿©·¯ºÐÀÇ ÆÐŶµéÀº Á¦´ë·Î Àü´ÞµÇÁö ¾Ê°í ºÐÀýÀº º¸·ùµÇ°Ô µÉ °ÍÀÔ´Ï´Ù. 9. °¨»çÀÇ ¸»¾¸ ¸ÕÀú WatchGuard¿¡ °¨»çÇÏ°í ³»°¡ ÀÛ¾÷ÇÒ¶§¿¡ ÃæºÐÈ÷ µµ¿òÀÌ µÉ Á¤µµ·Î ³ÝÇÊÅÍ¿¡ ´ëÇÑ ¸¹Àº »ý°¢À» ¹Ð¾îÁØ David Bonn¿¡°Ô °¨»çÇÕ´Ï´Ù. ±×¸®°í NATÀÇ ¾û¼ºÇÔÀ» ¹è¿ö°¡´À¶ó ¾ß´Ü ¹ý¼®À» ¶³¶§ µµ¿Í¼ö½Å ¸ðµçºÐµé, ƯÈ÷ ³ªÀÇ ±â·ÏÀ» Àоî Áֽźе鲲 °¨»çÇÕ´Ï´Ù. Rusty. ÀÌ»ó ¼öºó¾ÆºüÀÇ ¾ûÅ͸® ¹ø¿ªÀ̾ú½À´Ï´Ù. ^^;