¸®´ª½º 2.4 NAT HOWTO
¸®´ª½º 2.4 NAT HOWTO
Rusty Russell, mailing list netfilter@lists.samba.org
Revision: 1.18 Date: 2002/01/14 09:35:13
¿Å±äÀÌ ÇѼºÁÖ
kotkrye@hanmail.net
ÀÌ ¹®¼´Â 2.4 ¸®´ª½º Ä¿³Î ±â¹ÝÀÇ ³×Æ®¿öÅ© ÁÖ¼Ò º¯È¯ ±â´ÉÀ» ÅëÇØ ¸Å½ºÄ¿·¹À̵ù, Åõ¸í ÇÁ·Ï½Ã ±â´É, Æ÷Æ® Æ÷¿öµù µîÀÌ ±¸ÇöµÇ´Â ¹æ¹ýÀ» ¼³¸íÇÏ°í ÀÖ½À´Ï´Ù.
----
CategorySoftware
Ä£¾ÖÇÏ´Â µ¶ÀÚ ¿©·¯ºÐ, ¹Ý°©½À´Ï´Ù.
¿©·¯ºÐÀº ÀÌÁ¦ NAT(Network Address Translation, ³×Æ®¿öÅ© ÁÖ¼Ò º¯È¯)¶ó´Â
¸ÅȤÀûÀÎ ¼¼°è(¶§·Ð ²ûÂïÇϱ⵵ ÇÏÁö¸¸)·Î µé¾î¼·Á ÇÕ´Ï´Ù.
ÀÌ HOWTO ¹®¼´Â ¿©·¯ºÐ¿¡°Ô 2.4 ¸®´ª½º Ä¿³Î ¹× ±× ÀÌÈÄ ¹öÁ¯¿¡ ´ëÇÑ ²Ï Á¤È®ÇÑ °¡À̵尡 µÉ°Ì´Ï´Ù.
¸®´ª½º 2.4¿¡¼´Â ³ÝÇÊÅÍ(netfilter)¶ó ºÒ¸®´Â ÆÐŶ º¯°æÀ» À§ÇÑ ÀÎÇÁ¶ó°¡ ±ò·ÁÀÖ½À´Ï´Ù.
À̸¦ ±â¹ÝÀ¸·Î ÇÏ¿© NAT±â´ÉÀÌ ÀÛµ¿µË´Ï´Ù.
À̹ø ¹öÁ¯Àº ¿¹Àü Ä¿³Î°ú ´Ù¸£°Ô ¿ÏÀüÈ÷ »õ·Î¿î ¹æ½ÄÀ¸·Î ±¸ÇöµÈ °ÍÀÔ´Ï´Ù.
(C) 2000 Paul `Rusty' Russell. Licensed under the GNU GPL.
¼¼°³ÀÇ °ø½Ä »çÀÌÆ®°¡ Á¸ÀçÇÕ´Ï´Ù:
¿©·¯ºÐÀº
http://www.netfilter.org/ °ú
http://www.iptables.org/
¸¦ °æÀ¯ÇÏ¿© round-robin DNS¸¦ »ç¿ëÇØ ±× »çÀÌÆ®µé¿¡ Á¢¼Ó °¡´ÉÇÕ´Ï´Ù.
°ø½ÄÀûÀÎ ¸ÞÀϸµ ¸®½ºÆ®¸¦ ¾Ë¾Æº¸½Ã°í ½ÍÀ¸½Å ºÐÀº
netfilter List¸¦ º¸¼¼¿ä.
º¸Åë ³×Æ®¿öÅ© »óÀÇ ÆÐŶµéÀº ¹ß½ÅÁö(¿¹¸¦µé¾î ¿©·¯ºÐ °¡Á¤ÀÇ ÄÄÇ»ÅÍ)¸¦
Ãâ¹ßÇÏ¿© ¼ö½ÅÁö(¿¹¸¦ µé¾î www.gnumonks.org¶ó´Â »çÀÌÆ®)¿¡ µµÂøÇÒ¶§±îÁö
¶§ ¿©·¯ ¸µÅ©¸¦ °ÅÃÄ Àü¼ÛµË´Ï´Ù.
Á¦°¡ Àִ ȣÁÖ¿¡¼´Â ±× »çÀÌÆ®±îÁö´Â º¸Åë 19°³ Á¤µµ °ÅĨ´Ï´Ù.
ÀÌµé ¸µÅ©µéÀº ¸ðµÎ Àü¼Û ÆÐŶÀ» º¯È¯½ÃÅ°Áö ¾Ê°í ¹Ù·Î ¸ñÀûÁö·Î º¸³À´Ï´Ù.
ÀÌ·¯ÇÑ ¸µÅ©Áß Çϳª°¡ NAT ¸¦ ÇÑ´Ù°í ÇÏ¸é ±× ÆÐŶÀÌ Åë°úÇÒ ¶§ ¹ß½ÅÁö
ȤÀº ¼ö½ÅÁö¸¦ º¯È¯½Ãŵ´Ï´Ù. ½±°Ô ÁüÀ۵ǵí ÀÌ°ÍÀº ÀϹÝÀûÀÎ ½Ã½ºÅÛÀÇ
µ¿ÀÛ ¹æ½ÄÀÌ ¾Æ´Õ´Ï´Ù. ±×·¯¹Ç·Î NAT¸¦ °Å´Â °ÍÀº ¾ðÁ¦³ª Çʼö°¡ ¾Æ´Ñ ¼±Åûç¾çÀÔ´Ï´Ù.
º¸Åë NAT¸¦ °É¾ú´ø ¸µÅ©´Â ÆÐŶÀ» ¾î¶»°Ô º¯°æÇß´ÂÁö¸¦ ±â¾ïÇÒ°Ì´Ï´Ù.
±×¸®°í³ª¼ ÀÀ´ä ÆÐŶÀÌ ´Ù¸¥ ±æÀ» ÅëÇØ ±× ¸µÅ©¸¦ Åë°úÇÒ ¶§ ÆÐŶÀ»
¿ªÀ¸·Î º¯°æÇÏ¿© ¿øº¹ÇÒ°Ì´Ï´Ù. ±×·¸°ÔµÇ¸é ¸ðµç°Ô ¹®Á¦¾øÀÌ µ¹¾Æ°¡°ÚÁÒ?
´ç½ÅÀÌ ¿Ïº®ÇÑ ¼¼»óÀ» »ê´Ù¸é ±×·² ÇÊ¿ä°¡ ¾ø°ÚÁÒ.
ÇÏÁö¸¸ ±×·¸Áö ¾Ê°í ÁÖ·Î ´ÙÀ½°ú °°Àº ÀÌÀ¯°¡ Àֱ⿡ »ç¿ëµË´Ï´Ù:
- ¸ðµ©À¸·Î ÀÎÅͳݿ¡ ¿¬°áÇϱâ
-
´ëºÎºÐÀÇ ISPµéÀº dial-up Á¢¼ÓÀ» ÇÒ ¶§
´Ü ÇÑ°³ÀÇ IP ÁÖ¼Ò¸¸À» ºÎ¿©ÇÕ´Ï´Ù.
ÆÐŶÀ» ¿ÜºÎ ³×Æ®¿öÅ©·Î Àü¼ÛÇÒ ¶§ ¾Æ¹« ¹ß½ÅÁö ÁÖ¼Ò¸¦ ´Þ¾Æ¼ ³»º¸³¾ ¼ö
ÀÖÁö¸¸ ºÎ¿©¹ÞÀº IPÁÖ¼Ò¸¦ ¹ß½ÅÁö·Î ´Þ¾Æ º¸³ÂÀ» ¶§¸¸ ±×¿¡ ´ëÇÑ ÀÀ´äÀÌ µ¹¾Æ¿É´Ï´Ù.
¿©·¯ ´ëÀÇ ÄÄÇ»ÅÍ ¸Ó½ÅµéÀÌ(¿¹¸¦ µé¾î Ȩ ³×Æ®¿öÅ©) ¸ðµÎ ÀÌ ÇϳªÀÇ ¸µÅ©¸¦ ÅëÇؼ
ÀÎÅͳݰú ¿¬°áµÇ±æ ¿øÇÑ´Ù¸é ±× ¶§ NAT°¡ ÇÊ¿äÇÕ´Ï´Ù.
ÀÌ°ÍÀÌ °¡Àå º¸ÆíÀûÀÎ »ç¿ë ÀÌÀ¯ÀÔ´Ï´Ù.
º¸Åë ¸®´ª½º ¼¼°è¿¡¼´Â À̸¦ ¸Å½ºÄ¿·¹À̵ù(masquerading)¶ó ÇÏÁö¸¸ Àú´Â À̸¦ SNAT¶ó°í ºÎ¸£°Ú½À´Ï´Ù.
±× ÀÌÀ¯´Â ù ÆÐŶÀÇ ¹ß½ÅÁö(source) ÁÖ¼Ò¸¦ ¹Ù²Ù±â ¶§¹®ÀÔ´Ï´Ù.
- ¿©·¯´ëÀÇ ¼¹ö ¿î¿µÇϱâ
-
Á¾Á¾ ¿ÜºÎ¿¡¼ ³»ºÎ ³×Æ®¿öÅ©·Î µé¾î¿À´Â ÆÐŶµéÀÇ ¼ö½ÅÁö¸¦ ¹Ù²Ü ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. º¸Åë »ç¿ëÀÚµéÀÌ ´Ü ÇÑ°³ÀÇ IP ÁÖ¼Ò¸¸(À§¿¡¼ ¼³¸íµÈ ¹Ù¿Í °°ÀÌ) ÇÒ´ç¹Þ¾Æ »ç¿ëÇϱ⠶§¹®ÀÔ´Ï´Ù. ±×·¯ÇÑ È¯°æ¿¡¼µµ ºÎ¿© ¹ÞÀº ´Ü ÇϳªÀÇ ½ÇÁ¦ IPÁÖ¼Ò¸¦ °¡Áö°í ¿ÜºÎ¿¡¼ ³»ºÎ¿¡ Á¸ÀçÇÏ´Â ¿©·¯´ëÀÇ ÄÄÇ»ÅÍ ¹Ú½º·Î Á¢¼ÓµÇ°Ô ÇÏ°í ½Í´Ù´Â »ý°¢ÀÌ µé ¶§°¡ ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì µé¾î¿À´Â ÆÐŶÀÇ ¼ö½ÅÁö ÁÖ¼Ò¸¦ ´Ù½Ã ¾²´Â ¹æ¹ýÀ¸·Î ÀÌ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ÇüÅÂÀÇ NAT¸¦ Àü ¹öÁ¯ÀÇ ¸®´ª½º¿¡¼´Â Æ÷Æ® Æ÷¿öµù(port forwarding)À̶ó°í ºÒ·¶½À´Ï´Ù.
½ÇÁ¦ IPÁÖ¼Ò Çϳª¸¦ ¿©·¯´ëÀÇ ÄÄÇ»ÅÍ ¸Ó½Åµé°ú ¸ÅÇÎÇÏ¿© ÆÐŶµéÀ» ¿©·¯´ëÀÇ ¸Ó½Åµé·Î ºÐ»ê½ÃÅ°´Â °ÍÀº ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â ºÎÇÏ ºÐ»ê ¹æ½Ä Áß ÇϳªÀÔ´Ï´Ù. Å« ±Ô¸ðÀÇ ºÎÇÏ ºÐ»êÀ» ¿øÇÑ´Ù¸é ¾Æ·¡¸¦ ÂüÁ¶Çϼ¼¿ä.
¸®´ª½º °¡»ó ¼¹ö.
- Åõ¸í ÇÁ·Ï½Ã ±â´É(Transparent Proxying)
-
Á¾Á¾ Åõ¸í ÇÁ·Ï½Ã¸¦ ¸¸µé°í ½Í¾î ¸®´ª½º ¹Ú½º¸¦ Åë°úÇÏ´Â ÆÐŶµéÀ» ¹Ú½º ³»ºÎ¿¡ µ¿ÀÛÁßÀÎ ÇÁ·Î±×·¥À¸·Î ÇâÇÏ´Â °Íó·³ ¹æÇâÀ» Á¶ÀÛÇÏ°í ½ÍÀ» ¶§°¡ ÀÖ½À´Ï´Ù. ÇÁ·Ï½Ã¶õ ³»ºÎ ³×Æ®¿öÅ©¿Í ¿ÜºÎ ³×Æ®¿öÅ©»çÀÌ¿¡ Á¸ÀçÇÏ¸ç ±× µÑ »çÀÌÀÇ Åë½ÅÀ» ÀçÁ¶Á¤ÇÏ´Â ÇÁ·Î±×·¥À» ¸»ÇÕ´Ï´Ù. Åõ¸íÇÏ´Ù´Â ¸»ÀÌ ºÙÀº ÀÌÀ¯´Â ÇÁ·Ï½Ã°¡ µ¿ÀÛÇÔ¿¡µµ ºÒ±¸ÇÏ°í ³»ºÎ ³×Æ®¿öÅ©°¡ (½ÇÁ¦·Î´Â) ÇÁ·Ï½Ã¿Í Åë½ÅÇÏ´Â °ÍÀ» ÀüÇô ¾ËÁö ¸øÇϱ⠶§¹®ÀÔ´Ï´Ù.
Squid°¡ ÀÌ ¹æ½ÄÀ¸·Î ÀÛµ¿µÇµµ·Ï ¼³Á¤ °¡´ÉÇÕ´Ï´Ù. Àü ¸®´ª½º ¹öÁ¯¿¡¼´Â ¹æÇâ º¯°æ(redirection) ȤÀº Åõ¸í ÇÁ·Ï½Ã ±â´É À̶ó°í ºÒ·¶½À´Ï´Ù.
Á¦ °æ¿ì NAT¸¦ µÎ°¡Áö ÇüÅ·ΠºÐ·ùÇß½À´Ï´Ù. Çϳª´Â ¹ß½ÅÁö NAT(SNAT)ÀÌ°í
´Ù¸¥ Çϳª´Â ¼ö½ÅÁö NAT(DNAT)ÀÔ´Ï´Ù.
¹ß½ÅÁö NAT´Â ù ÆÐŶÀÇ ¹ß½ÅÁö ÁÖ¼Ò¸¦ ¹Ù²Ù´Â °æ¿ì¸¦ ¸»ÇÕ´Ï´Ù. Áï Á¢¼ÓÀ» ½ÃÀÛÇÏ´Â ÁöÁ¡ÀÇ ÁÖ¼Ò¸¦ ¹Ù²Ù´Â °ÍÀÔ´Ï´Ù. ¹ß½ÅÁö NAT´Â ¶ó¿ìÆà ÈÄ(post-routing)¿¡, Áï Åë½Å¼±À» Ÿ°í ¹ÛÀ¸·Î ³ª°¡±â Á÷ÀüÀÇ ÆÐŶ¿¡ ´ëÇØ ÀÌ·ç¾îÁý´Ï´Ù. ¸Å½ºÄ¿·¹À̵ùÀº SNATÀÇ Æ¯º°ÇÑ ÇüÅÂÁß ÇϳªÀÔ´Ï´Ù.
¼ö½ÅÁö NAT´Â ù ÆÐŶÀÇ ¼ö½ÅÁö ÁÖ¼Ò¸¦ ÀüȯÇÏ´Â °æ¿ì¸¦ ¸»ÇÕ´Ï´Ù. Áï ÆÐŶÀÇ Á¢¼Ó ¸ñÀûÁöÀÇ ÁÖ¼Ò¸¦ ¹Ù²Ù´Â °ÍÀÔ´Ï´Ù. ¼ö½ÅÁö NAT´Â ¾ðÁ¦³ª ¶ó¿ìÆà Àü¿¡(Áï, ÆÐŶÀÌ Åë½Å¼±¿¡¼ ¹æ±Ý µé¾î¿Â ½ÃÁ¡) ÀÌ·ç¾îÁý´Ï´Ù. Æ÷Æ® Æ÷¿öµù, ºÎÇÏ ºÐ»ê, Åõ¸í ÇÁ·Ï½Ã ±â´ÉµéÀº ¸ðµÎ DNAT ¹æ½ÄÀ¸·Î ±¸ÇöµË´Ï´Ù.
2.0(ipfwadm)¿¡¼ 2.2(ipchains)À¸·Î ÀüȯÇÏ´À¶ó °í»ýÇÑ ºÐ²² ¹Ì¾ÈÇϱº¿ä. ÁÁÀº ¼Ò½Ä°ú ³ª»Û ¼Ò½Ä µÑ´Ù ÀÖ½À´Ï´Ù.
ÁÁÀº ¼Ò½ÄºÎÅÍ ¸»Çϸé 2.4 ¹öÁ¯¿¡¼ Àü°ú ¸¶Âù°¡Áö·Î ipchains¿Í ipfwadm¸¦ °£´ÜÈ÷ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹Àü °ÍÀ» »ç¿ëÇÏ°í ½ÍÀ¸¸é ÃֽŠ¹èÆ÷¹Ý¿¡ ÀÖ´Â `ipchains.o' À̳ª `ipfwadm.o' Ä¿³Î ¸ðµâÀ» insmod·Î ¿Ã·Á¾ß ÇÕ´Ï´Ù. ÇÑ°¡Áö ÁÖÀÇÇÒ Á¡Àº(Àü¿¡µµ ¸»¾¸µå·ÈÁö¸¸) À̵éÀº »óÈ£ ¹èŸÀûÀÌ¾î¼ ½Å±¸ ¹öÁ¯À» µ¿½Ã¿¡ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
ÀÌµé ½Å±¸ ¹öÁ¯Áß Çϳª°¡ ÀνºÅçµÇ¸é º¸Å붧ó·³ ipchains³ª ipfwadmÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ü Â÷ÀÌÁ¡Àº ´ÙÀ½°ú °°½À´Ï´Ù:
- ipchains -M -S ³ª ipfwadm -M -s¸¦ ÀÌ¿ëÇÏ¿© ¸Å½ºÄ¿·¹À̵ù Á¾·á½Ã°£À» ¼¼ÆÃÇصµ È¿°ú¾ø½À´Ï´Ù. Á¾·á½Ã°£ÀÌ »õ·Î¿î NAT ÀÎÇÁ¶óº¸´Ù ±æ±â ¶§¹®¿¡ ¾Æ¹« Àǹ̰¡ ¾ø½À´Ï´Ù.
- ¸¶½ºÄ¿·¹ÀÌµå ¸®½ºÆ®¸¦ »ó¼¼(verbose) Á¶È¸¸¦ Çصµ init_seq, delta, previous_delta Çʵå´Â ¾ðÁ¦³ª 0 À¸·Î º¸ÀÔ´Ï´Ù.
- µ¿½Ã¿¡ µÎ ÀÎÀÚ `-Z -L'¸¦ »ç¿ëÇÏ¿© Ä«¿îÅ͸¦ 0À¸·Î ¸¸µé°í °ü·Ã ¸®½ºÆ®¸¦ º¸¿©ÁÖ´Â ±â´ÉÀº ´õÀÌ»ó µ¿ÀÛÇÏÁö ¾Ê½À´Ï´Ù: ÀÌÁ¨ Ä«¿îÅÍ°¡ 0ÀÌ ¾ÈµË´Ï´Ù.
- ±¸¹öÁ¯ ȣȯ¿ëÀ¸·Î »ç¿ëµÇ´Â ¹æȺ®Àº scalableÇÏÁö ¾Ê¾Æ¼ ´ë±Ô¸ð Á¢¼ÓÀÌ ÀÌ·ç¾îÁö´Â ³×Æ®¿öÅ©¿¡ »ç¿ëµÇ±â Èûµì´Ï´Ù.
ȸ»ç °ÔÀÌÆ®¿þÀÌ(gateway)°°Àº °÷¿¡´Â »ç¿ëÄ¡ ¸»±â ¹Ù¶ø´Ï´Ù!
ÇØÄ¿µéÀ̶ó¸é ´ÙÀ½ÀÇ °æ¿ìµµ ¾Ë ÇÊ¿ä°¡ ÀÖÀ»Áö ¸ð¸£°Ú±º¿ä:
- ÀÌÁ¨ ¸Å½ºÄ¿·¹À̵ù ±â´ÉÀÌ »ç¿ëÁßÀ̾ Æ÷Æ® 61000-65095¹øÀ» ¹ÙÀεå(bind)ÇÒ ¼ö ÀÖ°Ô µÇ¾ú½À´Ï´Ù. ¿¹Àü¿¡´Â ¸Å½ºÄ¿·¹À̵ù Äڵ尡 ÀÌ ¹üÀ§ ³»ÀÇ Æ÷Æ®°¡ »ç¿ëÁßÀ̶ó°í °¡Á¤ÇÏ¿© ÇÁ·Î±×·¥µéÀÌ ÀÌ Æ÷Æ®¸¦ »ç¿ë ¸øÇß½À´Ï´Ù.
- ÀÌÁ¨ Á¤½Ä »ç¿ë¹ýÀ¸·Î ¹®¼ÈµÇÁö ¾ÊÀº `getsockname' ÀÇ Æí¹ýÀûÀÎ »ç¿ë(ÇØÅ·)ÀÌ ´õ ÀÌ»ó ÅëÇÏÁö ¾Ê½À´Ï´Ù. Á¢¼ÓÇÑ ¿¬°áÀÇ ½ÇÁ¦ ¼ö½ÅÁö¸¦ ¾Ë¾Æ³»´Â Åõ¸í ÇÁ·Ï½Ã ÇÁ·Î±×·¥ÀÌ ´õ ÀÌ»ó ±× ¹æ¹ýÀ¸·Î µ¿ÀÛÇÏÁö ¾Ê½À´Ï´Ù.
- ¿ÜºÎ ÁÖ¼Ò¿Í ¹ÙÀεå(bind)ÇÏ´Â (Á¤½Ä »ç¿ë¹ýÀÌ ¾Æ´Ñ) ÇØÅ·µµ ÀÌÁ¨ ´õ ÀÌ»ó ÀÛµ¿µÇÁö ¾Ê½À´Ï´Ù. ¿¹Àü¿£ ÀÌ ¹æ¹ýÀ» ÅëÇØ ÇÁ·Ï½Ã¸¦ ¿ÏÀü Åõ¸íÇÏ°Ô ¸¸µé¾ú½À´Ï´Ù.
´ëºÎºÐ ÀÌ°Ô ±Ã±ÝÇÒ °ÍÀÔ´Ï´Ù. µ¿ÀûÀ¸·Î IP¸¦ ÇÒ´ç¹Þ´Â PPP dialupÀ» »ç¿ëÇÑ´Ù¸é(´ç½ÅÀÌ ±×°Ô ¹«¾ðÁö
¸ð¸¥´Ù¸é ¹Ù·Î ´ç½ÅÀÌ Áö±Ý »ç¿ëÇÏ°í ÀÖ´Â ±× Á¢¼Ó¹ýÀÌ´Ù),
³»ºÎ ³×Æ®¿öÅ©¿¡¼ ¹ß»ýÇÑ ¸ðµç ÆÐŶµéÀÌ PPP dialup ¹Ú½º¿¡¼ ¹ß»ýÇÑ °Íó·³ º¸ÀÌ°Ô ÇÏ°í ½ÍÀ»°Ì´Ï´Ù.
# NAT ¸ðµâÀ» ¿Ã·Á¶ó(´Ù¸¥ °Íµéµµ µû¶ó ¿Ã¶ó°£´Ù).
modprobe iptable_nat
# NAT Å×À̺í(-t nat)¿¡, ¶ó¿ìÆÃÈÄ(POSTROUTING)
#ppp0¸¦ ÅëÇØ ³ª°¡´Â ¸ðµç ÆÐŶ(-o ppp0) ÀÌ
#¸¶½ºÄ¿·¹À̵å(-j MASQUERADE)µÇµµ·Ï ±ÔÄ¢À» ÷°¡(-A)
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
# IP ÆÐŶÀÌ Æ÷¿öµùµÇµµ·Ï ¼³Á¤
echo 1 > /proc/sys/net/ipv4/ip_forward
¸Å½ºÄ¿·¹À̵ùÀ» ÇÏ´Â ÁöÁ¡¿¡¼´Â ÆÐŶ ÇÊÅ͸µÀ» ÇÏÁö ¾Ê´Â´Ù´Â »ç½ÇÀ» ¾Ë°í ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¹«½¼ ¸»ÀÎÁö Á»´õ ÀÚ¼¼È÷ ¾Ë°í ½ÍÀ¸¸é ÆÐŶ ÇÊÅ͸µ HOWTO¿¡¼ ¡®NAT¿Í ÆÐŶ ÇÊÅ͸µ ÇÔ²² ¾²±â¡¯ Æí¸¦ º¸¼¼¿ä.
ÀÌ°ÍÀº ÇöÀç ¼Ò¼öÀÇ Æ¯Á¤ »ç¿ëÀÚ¸¸ ÀÌ¿ëÇÏ°í ÀÖ½À´Ï´Ù. ±×·¡¼ Àú´Â ÀÌ ±¸ ¹öÀü°ú ÇöÀçÀÇ °ÍÀÇ È£È¯À» º° ½Å°æ¾²Áö ¾Ê°í ÀÖ½À´Ï´Ù. Æ÷Æ® Æ÷¿öµùÀ» Çϱâ À§Çؼ¶ó¸é °£´ÜÈ÷ `iptables -t nat' ¸¦ »ç¿ëÇÏ¸é µË´Ï´Ù. ¿¹¸¦ µé¾î ¸®´ª½º 2.2¿¡¼ ¾Æ·¡ ¹æ¹ýÀ¸·Î ±¸ÇöÇÏ¿´´Ù¸é:
# ¸®´ª½º 2.2
# 1.2.3.4 ÀÇ Æ÷Æ® 8080À¸·Î ¿À´Â ÆÐŶÀ» 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) 1.2.3.4(-d 1.2.3.4) ÀÇ Æ÷Æ® 8080(--dport 8080)À¸·Î
# µé¾î¿À´Â TCP ÆÐŶÀÌ(-p tcp) 192.168.1.1ÀÇ Æ÷Æ® 80(--to 192.168.1.1:80)À¸·Î
# ¸ÅÇεǵµ·Ï NAT Å×ÀÌºí¿¡(-t nat) ±ÔÄ¢À» ´õÇ϶ó.
iptables -A PREROUTING -t nat -p tcp -d 1.2.3.4 --dport 8080 \
-j DNAT --to 192.168.1.1:80
iptables Åø(¸Å¿ì ´Ù¸ñÀûÀ» »ç¿ëµË´Ï´Ù)À» »ç¿ëÇÏ¸é ¾î¶² ¿¬°áÀ» º¯°æÇÒÁö¿Í ±×°ÍÀ» ¾î¶² ½ÄÀ¸·Î º¯È¯ÇÒÁö Á¤ÇÏ´Â NAT ±ÔÄ¢À» ¸¸µé¾î Ä¿³Î¿¡ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¡®-t nat¡¯ ¿É¼ÇÀ» °¡Áö°í ÀÌ ÅøÀ» ÀÌ¿ëÇϸé NAT Å×À̺íÀÌ º¯°æµË´Ï´Ù.
NAT Å×À̺íÀº ¡®chains¡¯¶ó´Â ¼¼ Á¾·ùÀÇ ¸®½ºÆ®·Î ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù : ÆÐŶÀÌ µé¾î¿À¸é ÀÏÄ¡ÇÏ´Â ±ÔÄ¢À» ãÀ» ¶§±îÁö ¼øÂ÷ÀûÀ¸·Î Çϳª¾¿ °Ë»çµË´Ï´Ù. ¸Ó½Å ¾ÈÀ¸·Î ¸· µé¾î¿Â ÆÐŶÀÇ ¼ö½ÅÁö ÁÖ¼Ò¸¦ º¯È¯ÇÏ´Â PREROUTING chain°ú ¸Ó½Å ¹Û ³ª°¡´Â ÆÐŶÀÇ ¹ß½ÅÁö ÁÖ¼Ò¸¦ º¯È¯ÇÏ´Â POSTROUTING chainÀÌ ÀÖ½À´Ï´Ù. ¼¼¹ø° chainÀ¸·Î OUTPUTÀ̶ó´Â °ÍÀÌ Àִµ¥ ÀÏ´Ü ÀÌ°Ç ³í¿Ü·Î ÇսôÙ.
¾Æ·¡ µµ½ÄÀÌ ±×µé °ü°è¸¦ Àß º¸¿©ÁÝ´Ï´Ù.(Á¦°¡ ±×¸²À» Àß ±×¸°´Ù¸é):
_____ _____
/ \ / \
PREROUTING -->[Routing ]----------------->POSTROUTING----->
\D-NAT/ [Decision] \S-NAT/
| ^
| |
| |
| |
| |
| |
| |
--------> Local Process ------
À§ ±×¸²¿¡¼ º¸ÀÌ´Â °¢ ÁöÁ¡À» ÆÐŶÀÌ Åë°úÇÒ ¶§ ±×°ÍÀÌ ¾î¶² ¿¬°á°ú °ü·ÃµÇ¾îÀÖ´ÂÁö¸¦ Á¶»çÇÕ´Ï´Ù. ±×°ÍÀÌ ¸¸¾à »õ·Î¿î ¿¬°áÀ̶ó¸é ±× ÆÐŶÀ» ¾î¶»°Ô ó¸®ÇÒÁö¸¦ °áÁ¤ÇÏ´Â ÇØ´ç chain(NAT Å×ÀÌºí¿¡ Á¸Àç)¸¦ µÚÁý´Ï´Ù. ±× Å×ÀÌºí¿¡¼ ãÀº ´äÀ¸·Î ±× ¿¬°á¿¡ °ü·ÃµÇ¾î ¾ÕÀ¸·Î ¿Ã ÆÐŶ¿¡ Àû¿ë½Ãŵ´Ï´Ù.
iptables
´Â ¾Æ·¡¿¡ ¿°ÅµÉ ¸¹Àº Ç¥ÁØ ¿É¼ÇÀ» °¡Áö°í ÀÖ½À´Ï´Ù.
iptables´Â ´Ù¸¥ ¿É¼Çµé°ú ±¸ºÐ °¡´ÉÇÏ´Ù¸é
ÀÌÁß dash(-) ¿É¼ÇµéÀ» ¸ðµÎ ¾àÀÚÈ(abbreviation)ÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
Ä¿³ÎÀÌ iptables
¸¦ Áö¿øÇÑ´Â ¸ðµâÀ» °¡Áö°í Àִ°æ¿ì ¸ÕÀú ip_tables.o ¸ðµâÀ» ¿Ã·Á¾ß °ÚÁÒ. `insmod ip_tables'ÇÏ¸é µË´Ï´Ù.
¿©±â¼ °¡Àå Áß¿äÇÑ ¿É¼ÇÀº Å×À̺íÀ» ¼±ÅÃÄÉ ÇÏ´Â `-t' ¿É¼ÇÀÔ´Ï´Ù. NAT ÀÛµ¿À» ÇÏ·Á¸é ¾ðÁ¦³ª NATÅ×ÀÌºí¿¡ `-t nat' ÀÎÀÚ¸¦ »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. ±× ´ÙÀ½À¸·Î Áß¿äÇÑ ¿É¼ÇÀÌ chain ³¡¿¡ »õ·Î¿î ±ÔÄ¢À» Ãß°¡ÇÏ´Â ¡®-A¡¯¿É¼Ç(»ç¿ë ¿¹ : `-A POSTROUTING') ÀÔ´Ï´Ù. chainóÀ½¿¡ ³Ö°í ½Í´Ù¸é ¡®-I¡¯¿É¼ÇÀ» ¾²¸é µË´Ï´Ù.(»ç¿ë ¿¹ : `-I PREROUTING')
ÆÐŶÀÌ º¯È¯µÈ ÈÄÀÇ ¹ß½ÅÁö¿Í ¼ö½ÅÁö´Â °¢°¢ `-s' (ȤÀº `--source')¿Í `-d'(ȤÀº `--destination')·Î ¼³Á¤ÇÕ´Ï´Ù. ±× ´ÙÀ½À¸·Î IP ÁÖ¼Ò ÇÑ °³ ȤÀº µµ¸ÞÀÎ À̸§À̳ª ³×Æ®¿öÅ© ÁÖ¼Ò¸¦ ½á¾ßÇÕ´Ï´Ù. ¿¹¸¦ µé¾î IPÁÖ¼Ò(ÇÑ°³)´Â 192.168.1.1 °ú °°ÀÌ, µµ¸ÞÀÎ À̸§Àº www.gnumonks.org ±×¸®°í ³×Æ®¿öÅ© ÁÖ¼ÒÀÇ °æ¿ì 192.168.1.0/24 ȤÀº 192.168.1.0/255.255.255.0 ¿Í °°Àº ½ÄÀ¸·Î ½á³ÖÀ¸¸é µË´Ï´Ù.
±×¸®°í ±ÔÄ¢ ÀÏÄ¡ ´ë»óÀ¸·Î ÆÐŶÀÌ ³ª°¡°í µé¾î¿À´Â ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º¸¦ Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
µé¾î¿À´Â °æ¿ì `-i' ȤÀº `--in-interface' ¿É¼ÇÀ» »ç¿ëÇÏ°í ³ª°¡´Â °æ¿ì `-o'
ȤÀº `--out-interface' ¿É¼ÇÀ» »ç¿ëÇÕ´Ï´Ù.
±×·¯³ª ÀÌ ¿É¼ÇÀº ±ÔÄ¢À» Áý¾î³Ö´Â À§Ä¡¿¡ µû¶ó ƯÁ¤ ¿É¼Ç¸¸ µé¾î°¥ ¼ö ÀÖ½À´Ï´Ù.
PREROUTING À§Ä¡¿¡¼´Â µé¾î¿À´Â ÀÎÅÍÆäÀ̽º¸¸ Á¤ÇÒ ¼ö ÀÖ°í POSTROUTING À§Ä¡¿¡¼´Â
³ª°¡´Â ÀÎÅÍÆäÀ̽º¸¸ Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. Ʋ¸®°Ô ¼³Á¤ÇÒ °æ¿ì iptables
°¡ ¿¡·¯¸¦ ³À´Ï´Ù.
º¯È¯ ´ë»óÀÌ µÇ´Â ¹ß½ÅÁö¿Í ¼ö½ÅÁö ÁÖ¼Ò¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù°í ¾Õ¼ ¸»¾¸µå·ÈÁö¸¸ ±× ¹ß½ÅÁö ÁÖ¼Ò ¿É¼ÇÀ» »ý·«ÇÑ °æ¿ì ¸ðµç ¹ß½ÅÁö ÁÖ¼Ò°¡ º¯È¯µË´Ï´Ù. º¯È¯ ´ë»ó ¼ö½ÅÁö ÁÖ¼Ò ¿É¼ÇÀ» »ý·«ÇÏ¸é ¸ðµç ¼ö½ÅÁö ÁÖ¼Ò°¡ º¯È¯µÇ¹ö¸³´Ï´Ù.
±×¸®°í `-p' ȤÀº `--protocol'À» »ç¿ëÇÏ¿© º¯È¯ÀÇ ´ë»óÀÌ µÇ´Â ÇÁ·ÎÅäÄÝÀ» ¼±Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿É¼Ç ÀÎÀÚ·Î TCP, UDPµîÀ» ÁÙ ¼ö ÀÖÁÒ. ÀÌ ÇÁ·ÎÅäÄÝ¿¡ ÇØ´çÇÏ´Â ÆÐŶµé¸¸ ±ÔÄ¢¿¡ °É¸³´Ï´Ù. º¸Åë ÀÌ ¿É¼ÇÀº ±× ´ÙÀ½¿¡ Ãß°¡ÀûÀ¸·Î µû¶óºÙ´Â ¹ß½ÅÁö/¼ö½ÅÁö Æ÷Æ® ¿É¼ÇÀ» Á¤Çϱâ À§ÇØ »ç¿ëµË´Ï´Ù. ¹ß½ÅÁö Æ÷Æ®´Â `--source-port'·Î ¼³Á¤ÇÏ°í ¼ö½ÅÁö Æ÷Æ® ¿É¼ÇÀº `--destination-port'·Î Á¤ÇÕ´Ï´Ù. ¾àÀÚ·Î `--sport' ¿Í `--dport'ÀÌ »ç¿ëµË´Ï´Ù.
ÀÌ ¿É¼ÇÀ» »ç¿ëÇϸé ÇØ´ç ¹ß½ÅÁö/¼ö½ÅÁö Æ÷Æ®¸¸ ±ÔÄ¢¿¡ °É¸®ÁÒ. ÀÌ ¼³Á¤Àº ÁÖ·Î ´Ù¸¥ ÆÐŶµéÀº ±×´ë·Î µÎ°í À¥ ¿¬°á ¿äû(TCP Æ÷Æ® 80 ȤÀº 8080) ÆÐŶ¸¸ ÀÚ½ÅÀÌ ¿øÇÏ´Â ¹æÇâÀ¸·Î º¯°æµÇµµ·Ï ÇÏ´Â ¼³Á¤À» À§ÇØ »ç¿ëµË´Ï´Ù.
ÀÌ ¿É¼Ç ´ÙÀ½¿¡ ¹Ýµå½Ã ¡®-p¡¯ ¿É¼ÇÀ» ½á¾ßÇÕ´Ï´Ù.(ÀÌ ¿É¼ÇÀ» ¾²¸é °ü·Ã ÇÁ·ÎÅäÄÝÀ» À§ÇÑ È®Àå¿ë °øÀ¯ ¶óÀ̺귯¸®°¡ µû¶ó¼ ¿Ã¶ó°©´Ï´Ù) ÀÌ ¿É¼Ç ´ÙÀ½¿¡ Æ÷Æ® ¹øÈ£³ª ¼ºñ½º À̸§(/etc/services ÆÄÀÏ¿¡ Á¸ÀçÇÏ´Â)À» ÀÎÀÚ·Î ³ÖÀ» ¼ö ÀÖ½À´Ï´Ù.
º¯È¯ ´ë»ó ÆÐŶÀ» ¼±Á¤À» ´õ Á¤±³ÇÏ°Ô ÇÏ´Â ´Ù¸¥ ¹æ¹ýµéÀº ¸Å´º¾ó ÆäÀÌÁö(man iptables
)¿¡ »ó¼¼È÷ ±â¼úµÇ¾î ÀÖ½À´Ï´Ù.
ÀÌÁ¦±îÁö º¯°æ ´ë»ó ÆÐŶÀÇ ¼±Á¤¹ýÀ» ¹è¿üÁÒ. Áö±ÝºÎÅÍ´Â ±× ÆÐŶ ´ë»óÀ» ¾î¶»°Ô º¯°æÇÒÁö¸¦ Ä¿³Î¿¡ ¼³Á¤ÇÏ´Â ¹ýÀ» ¹è¿öº¾´Ï´Ù. À̰ͱîÁö ¹è¿ì¸é ±ÔÄ¢ ¼³Á¤¹ýÀ» ¿ÏÀüÈ÷ ÀÍÈ÷°Ô µÈ°Ì´Ï´Ù.
¹ß½ÅÁö NAT Áï ¿¬°á¿¡¼ ¹ß½ÅÁö ÁÖ¼Ò¸¦ ´Ù¸£°Ô º¯°æÇÏ´Â °ÍÀº POSTROUTING chain(Áï, ÆÐŶÀÌ ¸Ó½Å ¹ÛÀ¸·Î ³ª°¡±â Á÷Àü)¿¡¼ ÀÌ·ç¾îÁý´Ï´Ù. ¿©±â¼ º¯°æµÈ´Ù´Â »ç½ÇÀº °á±¹ ¸®´ª½º ¹Ú½º ±× ÀÚü(¶ó¿ìÆÃ, ÆÐŶ ÇÊÅ͸µÀ» ÇÏ´Â ÄÞÆ÷³ÍÆ®)´Â ÆÐŶÀÌ º¯°æµÇ±â ÀüÀÇ °Í¸¸ º»´Ù´Â °Í(¸Å¿ì Áß¿äÇÑ »ç½ÇÀÔ´Ï´Ù)À» ¶æÇÕ´Ï´Ù. ±×¸®°í ÀÌ°ÍÀº ¶ÇÇÑ `-o' (ÆÐŶÀ» ¹ÛÀ¸·Î ³»º¸³»´Â ÀÎÅÍÆäÀ̽º) ¿É¼ÇÀ» »ç¿ëÇÒ ¼ö ÀÖÀ½À» ¶æÇÕ´Ï´Ù.
`-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
¸Å½ºÄ¿·¹À̵ù
¹ß½ÅÁö NATÀÇ Æ¯¼öÇÑ ÄÉÀ̽ºÁß Çϳª·Î ¸Å½ºÄ¿·¹À̵ùÀ̶ó´Â °ÍÀÌ Á¸ÀçÇÕ´Ï´Ù. ÀÌ°ÍÀº Ç¥ÁØ dialup°ú °°ÀÌ µ¿ÀûÀ¸·Î IP ÁÖ¼Ò¿¡ ÇÒ´ç¹Þ´Â °æ¿ì¸¸ »ç¿ë°¡´ÉÇÕ´Ï´Ù.(Á¤ÀûÀ¸·Î IP ÁÖ¼Ò¸¦ ÇÒ´ç¹Þ´Â °æ¿ì À§ÀÇ SNAT¸¦ »ç¿ëÇϼ¼¿ä)
¸Å½ºÄ¿·¹À̵ù ¼³Á¤½Ã¿¡ º¯°æµÉ ¹ß½ÅÁö ÁÖ¼Ò¸¦ ¸í½ÃÀûÀ¸·Î ÀûÀ» ÇÊ¿ä¾ø½À´Ï´Ù. ¸Å½ºÄ¿·¹À̵ùÀº ÀÚµ¿À¸·Î ÆÐŶÀÌ ¹ÛÀ¸·Î ³ª°¥¶§ ¹ÛÀ¸·Î ³»º¸³»´Â ÀÎÅÍÆäÀ̽ºÀÇ ¹ß½ÅÁö ÁÖ¼Ò·Î ¹Ù²Ù¾î ³ª°¡µµ·Ï ÇÕ´Ï´Ù. ¹ß½ÅÁö ÁÖ¼Ò¸¦ ÀûÀ» ÇÊ¿ä°¡ ¾ø´Â ´õ Å« ÀÌÀ¯´Â ¸µÅ©°¡ ´Ù¿îµÇ¾î ¿¬°áÀÌ ²÷°å´Ù°¡ »õ·Î¿î IP ÁÖ¼Ò¸¦ ÇÒ´ç¹Þ¾Æ ¿¬°áÀÌ Àç°³µÇ¾îµµ Àå¾Ö°¡ Å©°Ô ¹ß»ýÇÏÁö ¾Ê´Â´Ù´Â Á¡ÀÔ´Ï´Ù.
## ppp0·Î ³ª°¡´Â ¸ðµç ÆÐŶÀ» ¸¶½ºÄ¿·¹À̵åÇ϶ó.
# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
ÀÌ°Ç PREROUTING chain¿¡¼ Áï ÆÐŶÀÌ µé¾î¿Â Á÷ÈÄ¿¡ ÀÌ·ç¾îÁöÁÒ. ±×·¯¹Ç·Î ±× ¸®´ª½º ¹Ú½º ÀÚü(¶ó¿ìÆÃ, ÆÐŶ ÇÊÅ͸µ ÄÞÆ÷³ÍÆ®)´Â ÆÐŶÀÌ ½ÇÁ¦(Áï º¯°æ ÈÄÀÇ) ¼ö½ÅÁö¸¦ º¸°ÔµÇÁÒ. ÀÌ ¶§¹®¿¡ `-i' (ÆÐŶÀ» ¹Þ¾ÆµéÀÌ´Â ÀÎÅÍÆäÀ̽º)¿É¼ÇÀ» »ç¿ëÇÒ ¼ö ÀÖÁÒ.
¼ö½ÅÁö NAT´Â `-j DNAT'À» »ç¿ëÇÏ¿© ÁöÁ¤µË´Ï´Ù. IPÁÖ¼Ò(ÇÑ °³), IP ÁÖ¼Ò ¹üÀ§, ±×¸®°í ¼±Åûç¾çÀ¸·Î µé¾î°¥ ¼ö ÀÖ´Â Æ÷Æ® ¹üÀ§(TCP, UDPÇÁ·ÎÅäÄݸ¸)´Â `--to-destination' ¿É¼ÇÀ» »ç¿ëÇÏ¿© ÁöÁ¤µË´Ï´Ù.
## ¼ö½ÅÁö ÁÖ¼Ò¸¦ 5.6.7.8·Î º¯°æÇÑ´Ù.
# iptables -t nat -A PREROUTING -i eth0 -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 eth0 -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 eth0 \
-j DNAT --to 5.6.7.8:8080
¹æÇâ º¯°æ(redirection)
¹æÇâ º¯°æÀº ¼ö½ÅÁö NATÀÇ Æ¯¼öÇÑ ÇüÅÂÁß ÇϳªÀÔ´Ï´Ù. ±× ¼³Á¤À» »ç¿ëÇÏ¸é °£ÆíÇÏ°Ô ¾ÈÀ¸·Î µé¾î¿Â ÆÐŶÀ» ±×°ÍÀ» ¹Þ¾ÆµéÀÎ ÀÎÅÍÆäÀ̽º ÁÖ¼Ò·Î DNAT½Ãŵ´Ï´Ù.
## µé¾î¿À´Â Æ÷Æ®-80 À¥ Æ®·¡ÇÈÀ» suid(Åõ¸í) ÇÁ·Ï½Ã·Î º¸³½´Ù
# iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 \
-j REDIRECT --to-port 3128
ÀÌ ¶§ ÁÖÀÇÇÒ Á¡Àº squid¸¦ Åõ¸í ÇÁ·Ï½Ã·Î ¼³Á¤ÇؾßÇÑ´Ù´Â °ÍÀÔ´Ï´Ù!
´ëºÎºÐÀÇ »ç¿ëÀÚ°¡ ½Å°æ¾²Áö ¾Ê´Â ³ÇØÇÑ NAT ¼³Á¤ÀÌ Á¸ÀçÇÕ´Ï´Ù. ±Ã±ÝÇϽŠºÐµéÀ» À§ÇØ ¿©±â¿¡ Àû¾î³õ¾Ò½À´Ï´Ù.
ÀÏÁ¤ ¹üÀ§¸¦ °¡Áø ´Ù¼öÀÇ ÁÖ¼Ò·Î ¼±Á¤ÇÑ °æ¿ì
IPÁÖ¼Ò°¡ ÀÏÁ¤ ¹üÀ§¸¦ °¡Áø ´Ù¼ö·Î ÁÖ¾îÁö¸é º¯È¯¿ëÀ¸·Î »ç¿ëµÉ IPÁÖ¼Ò´Â ÁÖ¾îÁø ¹üÀ§³»ÀÇ IPÁÖ¼ÒÁß ÇöÀç ¿¬°á ¼ö°¡ °¡Àå ÀûÀº IP·Î ¼±Á¤µË´Ï´Ù. À̸¦ ÅëÇØ Ãʺ¸ÀûÀÎ ºÎÇÏ ºÐ»ê ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù.
³Î(Null) NAT ¸ÅÇÎ ¸¸µé±â
`-j ACCEPT' À» targetÀ¸·Î ÀâÀ¸¸é ¿¬°áÀÌ ¸Î¾îÁú ¶§ º¯È¯¾øÀÌ ±×´ë·Î Åë°úÇÕ´Ï´Ù.
Ç¥ÁØÀûÀÎ NAT Çൿ¾ç½Ä
°¡´ÉÇÏ¸é ±âº»ÀûÀ¸·Î »ç¿ëÀÚ°¡ Á¤ÇÑ ±ÔÄ¢ Çѵµ³»¿¡¼ ¿¬°á ÆÐŶÀÌ ÃÖ¼ÒÇѸ¸ ÀüȯµÇµµ·ÏÇÕ´Ï´Ù. ÀÌ·¯ÇÑ Çൿ¾ç½Ä¿¡ µû¶ó ²À ÇÊ¿äÇÑ °æ¿ì°¡ ¾Æ´Ï¶ó¸é Æ÷Æ®¸¦ º¯È¯½ÃÅ°Áö ¾Ê½À´Ï´Ù.
¾Ï¹¬ÀûÀ¸·Î ÀÌ·ç¾îÁö´Â ¹ß½ÅÁö Æ÷Æ® ¸ÅÇÎ
NAT°¡ ÇÊ¿ä¾øÀÌ ¿¬°áÀÌ ¸Î¾îÁú ¶§¿¡µµ ¹ß½ÅÁö Æ÷Æ® º¯È¯ÀÌ ¾Ï¹¬ÀûÀ¸·Î ÀÌ·ç¾îÁú ¼ö ÀÖ½À´Ï´Ù. ÀÌ¹Ì ¼º¸³µÈ ´Ù¸¥ ¿¬°áÀÇ ¸ÅÇÎÀÌ À̹ø¿¡ »õ·Î ¸¸µé¾îÁú °Í°ú ÁßøµÈ ÄÉÀ̽º°¡ ¹Ù·Î ±×·± °æ¿ìÀÔ´Ï´Ù. ÈçÈ÷ ¸Å½ºÄ¿·¹À̵ùÀÌ »ç¿ëµÉ ¶§ ¹ß»ýÇÕ´Ï´Ù:
- 192.1.1.1 ¹Ú½º¿¡¼ Æ÷Æ® 1024¸¦ ´Þ°í www.netscape.comÀÇ Æ÷Æ® 80À¸·Î À¥ ¿¬°áÀ» ¸ÎÀ¸·Á ÇÕ´Ï´Ù.
- ÀÌ ¹ß½ÅÁö ÁÖ¼Ò´Â IP ÁÖ¼Ò(1.2.3.4)¸¦ ÇÒ´ç¹Þ¾Æ »ç¿ëÇÏ´Â ¸Å½ºÄ¿·¹À̵ù ¹Ú½º¿¡ ÀÇÇØ ±× IPÁÖ¼Ò·Î ¸Ó½ºÄ¿·¹À̵åµË´Ï´Ù.
- ±× ÈÄ ¸Å½ºÄ¿·¹À̵ù ¹Ú½º ÀÚü°¡ ÀÚ½ÅÀÇ ¿ÜºÎ¿ë ÀÎÅÍÆäÀ̽º ÁÖ¼Ò 1.2.3.4¸¦ ¹ß½ÅÁö·Î ÇÏ¿© Æ÷Æ® 1024¸¦ ´Þ°í www.netscape.com ÀÇ Æ÷Æ® 80À¸·Î À¥ ¿¬°áÀ» ¸ÎÀ¸·Á ÇÕ´Ï´Ù.
- NAT ÄÚµå´Â µÎ¹ø°·Î ¸Î¾îÁö´Â ¿¬°áÀÇ ¹ß½Å Æ÷Æ®¸¦ 1025·Î ÀüȯÇÕ´Ï´Ù. ±×·¸±â ¶§¹®¿¡ µÎ ¿¬°áÀº Ãæµ¹ÀÌ ³ªÁö ¾Ê½À´Ï´Ù.
ÀÌ·¯ÇÑ ¾Ï¹¬ÀûÀÎ ¹ß½Å ¸ÅÇÎÀÌ ¹ß»ýÇÒ ¶§ Æ÷Æ®´Â ¼¼ ºÎ·ù·Î ³ª´µ¾îÁö°Ô µË´Ï´Ù:
- 512 ¾Æ·¡ÀÇ Æ÷Æ®
- 512¿Í 1023 »çÀÌÀÇ Æ÷Æ®
- Æ÷Æ® 1024 ÀÌ»ó.
Æ÷Æ®°¡ º¯È¯µÉ ¶§ ¾Ï¹¬ÀûÀ¸·Î ´Ù¸¥ ºÎ·ù·Î´Â ¸ÅÇεÇÁö ¾Ê½À´Ï´Ù.
NAT°¡ ½ÇÆÐÇÏ¸é ¾î¶»°Ô µÇ³ª
»ç¿ëÀÚ°¡ ¸Î°íÀÚ ÇÏ´Â ¿¬°á¿¡ ´ëÇØ °íÀ¯ ¸ÅÇÎÀ» ¸¸µé ¼ö ¾ø´Â °æ¿ì ÀÌ ÆÐŶÀ» ÆıâÇÕ´Ï´Ù. ÀÌ ¿Ü¿¡ ÆÐŶÀÌ ³×Æ®¿öÅ© ¿¬°áÀÇ ÀÏȯÀ̶ó°í º¼¼ö ¾ø´Â ±âÇüÀûÀÎ »óÅÂÀÇ °æ¿ì ȤÀº ¹Ú½ºÀÇ ¸Þ¸ð¸®°¡ °í°¥µÈ »óÅ ¹× ±âŸ µîµîÀÇ »óȲ¿¡¼ ±× ÆÐŶÀº ÆıâµË´Ï´Ù.
´ÙÁß ¸ÅÇÎ, Áßø ¹× Ãæµ¹
NAT±ÔÄ¢µéÀ» Á¤ÇÒ ¶§ ÆÐŶµéÀ» µ¿ÀÏ ¹üÀ§·Î ¸ÅÇεǵµ·Ï ÁßøÇؼ Á¤ÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. NATÄÚµå´Â ÀÌ·¯ÇÑ °æ¿ì¿¡µµ Ãæµ¹ÀÌ ¹ß»ýÇÏÁö ¾Êµµ·Ï Àß ¸¸µé¾îÁ® ÀÖ½À´Ï´Ù. ±×·¡¼ µÎ °³ÀÇ ±ÔÄ¢ÀÌ Á¸ÀçÇÏ°í °¢°¢ÀÇ ¹ß½ÅÁö ÁÖ¼Ò°¡ 192.168.1.1°ú 192.168.1.2ÀÌ°í ÀÌ°ÍÀÌ µÑ´Ù 1.2.3.4·Î º¯È¯µÇµµ·Ï ¼³Á¤Çصµ ¹®Á¦¾øÀÌ ÀÛµ¿ÇÕ´Ï´Ù.
°Ô´Ù°¡ ½ÇÁ¦ »ç¿ëµÇ´Â ´Ù¼öÀÇ IPÁÖ¼ÒµéÀ»(±× ÁÖ¼ÒµéÀÌ ¹Ú½º¸¦ Åë°úÇØÁֱ⸸ ÇÑ´Ù¸é) ¸ÅÇÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¡¼ ¸¸¾à ½ÇÁ¦ ³×Æ®¿öÅ©°¡ 1.2.3.0/24 ·Î µÇ¾î ÀÖ°í ÀÌ ÁÖ¼Ò¸¦ »ç¿ëÇÏ´Â ³»ºÎ ³×Æ®¿öÅ©°¡ Á¸ÀçÇÏ¸ç ±× ³»ºÎ »ç¼³ ÀÎÅÍ³Ý ÁÖ¼Ò°¡ 192.168.1.0/24¶ó°í °¡Á¤ÇÑ´Ù¸é ¾Æ¹« Ãæµ¹¾øÀÌ °£´ÜÈ÷ ¹ß½ÅÁö ÁÖ¼Ò 192.168.1.0/24 ¸¦ 1.2.3.0 ³×Æ®¿öÅ©·Î 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
¸Ó½Å ³»ºÎ¿¡¼ ¹ß»ý½ÃŲ ¿¬°áÀÇ ¼ö½ÅÁö¸¦ º¯È¯Çϱâ
OUTPUT chain¿¡¼µµ DNAT ±ÔÄ¢À» ³ÖÀ» ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª 2.4¿¡¼´Â ¿Ïº®È÷ Áö¿øµÇ´Â ±â´ÉÀÌ ¾Æ´Õ´Ï´Ù.(Á¦´ë·Î µÇ°Ô ÇÒ ¼ø ÀÖ½À´Ï´Ù. ±×·¯³ª ±×·¸°Ô ÇÏ·Á¸é »õ·Î¿î ¼³Á¤ ¿É¼ÇµéÀÌ ¸¸µé¾îÁ®¾ß ÇÏ°í ¸¹Àº Å×½ºÆ®¿Í »ó´ç ºÐ·®ÀÇ ÄÚµùÀÌ ÇÊ¿äÇÕ´Ï´Ù. ¸¸¾à ´©±º°¡ Rusty¿¡°Ô ±×°ÍÀ» ¸¸µé°Ú³ë¶ó°í ¾à¼ÓÇÏÁö ¾Ê´Â ÀÌ»ó ½±°Ô °³¹ßµÇÁø ¾ÊÀ» °ÍÀÔ´Ï´Ù)
ÇöÀç´Â ¼ö½ÅÁö¸¦ ´Ù¸¥ ¸Ó½ÅÀÌ ¾Æ´Ñ ÀÚü ¸Ó½ÅÀÇ Áּҷθ¸ º¯È¯ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î `j DNAT --to 127.0.0.1'¶ó°í ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ±× ÀÀ´ä ÆÐŶÀÌ ¿Ã¹Ù¸£°Ô º¯È¯µÇÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù.
ÀϺΠÇÁ·ÎÅäÄݵéÀº NAT¸¦ °É±â ¸¶¶¥Ä¡ ¾Ê´Ù. ¿Ã¹Ù¸¥ µ¿ÀÛÀ» À§ÇØ °¢ ÇÁ·ÎÅäÄÝ¿¡ ´ëÇØ µÎ°¡Áö È®Àå ÇÁ·Î±×·¥ÀÌ °³¹ßµÇ¾î¾ßÇÑ´Ù. Çϳª´Â ±× ÇÁ·ÎÅäÄÝÀÇ ¿¬°áÀ» ÃßÀûÇÏ´Â ÄÚµåÀÌ°í ³ª¸ÓÁö Çϳª´Â ±× ÇÁ·ÎÅäÄÝ¿ë NATÄڵ尡 ÇÊ¿äÇÏ´Ù.
³ÝÇÊÅÍ ¹èÆ÷ÆÇ¿¡´Â ÇöÀç FTP¸¦ À§ÇÑ ¸ðµâÀº µé¾îÀÖ´Ù. ¸ðµâ À̸§Àº °¢°¢ ip_conntrack_ftp.o ¿Í ip_nat_ftp.oÀÌ´Ù. Ä¿³Î¿¡ À̵éÀ» insmod·Î »ðÀÔÇϰųª ¿µ±¸ÀûÀ¸·Î ÄÄÆÄÀÏÇÏ¿© Æ÷ÇÔ½Ãų °æ¿ì FTP¿¡ ´ëÇÑ ¸ðµç Á¾·ùÀÇ NAT°¡ ¿Ã¹Ù¸£°Ô ÀÛµ¿µÈ´Ù. ±×°ÍÀÌ ¾øÀ¸¸é passive FTP¸¸ °¡´ÉÇÏ´Ù. ½ÉÁö¾î ÀÌÁ¶Â÷ ´Ü¼øÇÑ ¹ß½ÅÁö NAT¸¸ µÇ°í ±× ÀÌ»óÀ¸·Î º¹ÀâÇÏ°Ô µ¿ÀÛ½ÃÄÑ·Á ÇÏ¸é ¿ÀÀÛµ¿ÀÌ ³¯ ¼ö ÀÖ´Ù.
¾î¶² ¿¬°á¿¡ ´ëÇØ NAT¸¦ °É°íÀÚ ÇÑ´Ù¸é ±× ¿¬°á ÆÐŶµé ¾ç¹æÇâ(³×Æ®¿öÅ© ¿ÜºÎ·Î ³ª°¡´Â°Í°ú ³»ºÎ·Î µé¾î¿À´Â °Í) ¸ðµÎ NAT°¡ °É¸®´Â ¹Ú½º¸¦ Åë°úÇϵµ·Ï ÇØ¾ß ÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ¿Ã¹Ù¸¥ ÀÛµ¿À» º¸ÀåÇÒ ¼ö ¾ø´Ù. ƯÈ÷³ª À߸øµÈ °æ¿ì ´ÜÆíÈµÈ IP ÆÐŶµéÀ» ÀçÁ¶¸³ÇÏ¿© ¿¬°áÀ» ÃßÀûÇÏ´Â Äڵ尡 ÃßÀûÀ» Á¦´ë·Î ¸øÇÏ°Ô µÉ »Ó ¾Æ´Ï¶ó ´ÜÆíÈµÈ ÆÐŶµéÀÌ ¹Ú½º ³»ºÎ¿¡ ÀâÇôÀÖ°Ô µÇ¾î »ç¿ëÀÚ°¡ ±× ÆÐŶµéÀ» ¹ÞÁö ¸øÇÏ°Ô µÈ´Ù.
SNAT°¡ ¿Ã¹Ù·Î ÀÛµ¿µÇ°Ô Çϱâ À§Çؼ± SNAT°¡ °É¸° ÆÐŶÀÌ °æÀ¯ÇÏ´Â ¸ðµç ÄÄÇ»ÅÍ ¸Ó½ÅµéÀº ÇØ´ç ÀÀ´ä ÆÐŶÀÇ Á¾ÂøÁö°¡ ±× NAT ¹Ú½ºÀÓÀ» ¾Ë°í ÀÖµµ·Ï ¼³Á¤ÇØ¾ß ÇÑ´Ù.
¿¹¸¦ µé¾î, ¸Ó½Å ¹ÛÀ¸·Î ³ª°¡´Â ÆÐŶµéÀÌ 1.2.3.4¶ó´Â ¹ß½ÅÁö ÁÖ¼Ò¸¦ ´Þ°í ³ª°¡µµ·Ï ¸ÅÇÎÀ» ÇÑ °æ¿ì ¿ÜºÎÀÇ ¶ó¿ìÅ͵éÀº ±× ÀÀ´ä ÆÐŶ(¼ö½ÅÁö ÁÖ¼Ò°¡ 1.2.3.4·Î ÀâÇôÀÖ´Â)ÀÇ
Á¾ÂøÁö°¡ ÀÌ ¹Ú½ºÀÓÀ» ¾Ëµµ·Ï ¼³Á¤À» Àâ¾ÆÁà¾ß ÇÑ´Ù. À̰͵éÀº ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î ±¸ÇöµÈ´Ù:
- ¹Ú½º ÀÚü¿¡ ÇÒ´çµÈ ÁÖ¼Ò(±× ÁÖ¼Ò¿¡ ´ëÇؼ´Â ¶ó¿ìÆÃÀ» ºñ·ÔÇÑ ¸ðµç °ÍÀÌ ÀÛµ¿µÇµµ·Ï ÀÌ¹Ì ¼³Á¤µÇ¾î ÀÖ´Ù)¸¦ °¡Áö°í SNAT¸¦ Çϸé Á¶Ä¡¸¦ ÃëÇÒ °ÍÀÌ ¾ø´Ù.
- NAT¹Ú½º°¡ ¼ÓÇÑ Áö¿ª LANÁÖ¼ÒÁß »ç¿ëµÇÁö ¾Ê°í ÀÖ´Â °ÍÀ» °¡Áö°í SNAT¸¦ ÇÒ °æ¿ì°¡ ÀÖ´Ù. ¿¹¸¦ µé¾î, ¾î¶² NAT ¹Ú½º°¡ 1.2.3.0/24¶ó´Â ³×Æ®¿öÅ©¿¡ Á¸ÀçÇϴµ¥1.2.3.99¶ó´Â »ç¿ëµÇÁö ¾Ê´Â IP(±× ³×Æ®¿öÅ©¿¡ ¼ÓÇϱä ÇÏÁö¸¸)¸¦ ´Þ°í ³ª°¡µµ·Ï ¸ÅÇÎÇÒ ¼ö ÀÖ´Ù. ±×·¯ÇÑ °æ¿ì ±× ¸ÅÇÎ ÁÖ¼Ò¿¡ ´ëÇؼµµ ÀÚ±â Àڽſ¡ ÇÒ´çµÈ IPÁÖ¼Ò¿Í ¸¶Âù°¡Áö·ÎARP ¿ä±¸¿¡ ´ëÇØ ÀÀ´äÅä·Ï ÇØ¾ß ÇÑ´Ù.
°¡Àå °£ÆíÇÑ ¹æ¹ýÀº ¾Æ·¡¿Í °°ÀÌ IP ¾Ù¸®¾î½º(alias)¸¦ ÁÖ´Â °ÍÀÌ´Ù:
# ip address add 1.2.3.99 dev eth0
- ÀÚ½ÅÀÇ ³×Æ®¿öÅ©¿Í ¿ÏÀüÈ÷ ´Ù¸¥ ÁÖ¼Ò·Î SNATµÇ°Ô ÇÏ·Á¸é ÀÌ SNATµÈ ÆÐŶÀÌ Àü¼ÛµÇ¸ç °æÀ¯ÇÏ´Â °¢ ¸Ó½ÅµéÀÌ ÇØ´ç ÀÀ´ä ÆÐŶ¿¡ ´ëÇØ ´Ù½Ã NAT ¹Ú½º·Î µÇµ¹¾Æ¿À°Ô ÇÒ ¼ö ÀÖµµ·Ï °æ·Î ¼³Á¤À» Àâ¾ÆÁÖ¾î¾ß ÇÑ´Ù. NAT ¹Ú½º°¡ ÀÌ¹Ì ±× °æÀ¯ ¸Ó½ÅµéÀÇ ±âº» °ÔÀÌÆ®¿þÀÌ·Î ÀâÇô ÀÖ´Ù¸é ´Þ¸® ÇÒ ÀÏÀº ¾ø´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì ±× ÁÖ¼Ò¿¡ ´ëÇÑ ¶ó¿ìÆ®¸¦ ±¤°íÇϰųª(¶ó¿ìÆà ÇÁ·ÎÅäÄÝÀ» »ç¿ëÁßÀ̶ó¸é) ¾Æ´Ï¸é ¼öµ¿ÀûÀ¸·Î °ü·ÃµÈ ¸Ó½Åµé¿¡ ÇØ´ç ÁÖ¼Ò¿¡ ´ëÇÑ ¶ó¿ìÆ®¸¦ Ãß°¡ÇØÁÖ¾î¾ß ÇÑ´Ù.
µ¿ÀÏ ³×Æ®¿öÅ©¿¡¼ ¹ß»ýÇÑ ÆÐŶÀÌ ¿Ã¹Ù¸£°Ô Æ÷Æ® Æ÷¿öÆÃµÇ¾î ´Ù½Ã ³»ºÎ·Î µÇµ¹¾Æ°¡°Ô ÇؾßÇÒ °æ¿ì ¸ÕÀú ±× ´ÙÀ½¿¡ ¿Ã ÆÐŶµéµµ(ÀÀ´ä ÆÐŶ Æ÷ÇÔ) °è¼Ó ±× NAT ¹Ú½º(±×·¡¾ß ±× ÆÐŶµéÀÇ ÁÖ¼Ò°¡ ÀüȯµÈ´Ù)¸¦ Åë°úÇϵµ·Ï ¼³Á¤ÇØ¾ß ÇÑ´Ù. ÇöÀç NAT ÄÚµå(2.4.0-test6°ú ±× ÀÌÈÄ ¹öÀü)´Â NATµÈ ÆÐŶÀÌ ÀÚ½ÅÀ» ¹Þ¾ÆµéÀÎ ÀÎÅÍÆäÀ̽º¸¦ ÇâÇØ ´Ù½Ã ³ª°¡µµ·Ï ÇÒ ¶§ ¹ß»ýÇÏ´Â ICMP redirect ¿¡·¯ ¸Þ½ÃÁö¸¦ Â÷´ÜÇÑ´Ù. ±×·¯³ª ÀÌ ÆÐŶÀ» ¼ö½ÅÇÑ ¼¹ö´Â ¿©ÀüÈ÷ Ŭ¶óÀ̾ðÆ®¿¡°Ô Á÷Á¢ ÀÀ´äÇÏ·Á°í(Ŭ¶óÀ̾ðÆ®´Â ÀÌ°ÍÀ» ¿Ã¹Ù¸¥ ÀÀ´ä ÆÐŶÀ¸·Î ÀνÄÇÏÁö ¾Ê´Â´Ù) ÇÒ °ÍÀÌ´Ù.
±× ÀüÇüÀûÀÎ ÄÉÀ̽º°¡ ³»ºÎ Á÷¿øµéÀÌ ³»ºÎ À¥¼¹öÀÇ °øÀÎ IPÁÖ¼Ò·Î Á¢¼ÓÇÏ·ÁÇÒ °æ¿ìÀÌ´Ù. DNAT¿¡ ÀÇÇØ °øÀÎ ÁÖ¼Ò(1.2.3.4)¿¡¼ ³»ºÎ ¸Ó½Å(192.168.1.1)À¸·Î º¯È¯µÈ´Ù. ¾Æ·¡´Â ±× ¿¹ÀÌ´Ù:
# iptables -t nat -A PREROUTING -d 1.2.3.4 \
-p tcp --dport 80 -j DNAT --to 192.168.1.1
ÇØ°á ¹æ¾È Áß Çϳª´Â ³»ºÎ ³×Æ®¿öÅ©¿¡´Â °ø½Ä À¥ »çÀÌÆ®ÀÇ ½ÇÁ¦(³»ºÎ) IP ÁÖ¼Ò¸¦ ¾Ë°í ÀÖ´Â ³»ºÎ¿ë DNS¼¹ö¸¦ ¿î¿µÇÏ°í ±× ¿Ü Áö¿ªÀÇ DNS ¿äûÀº ¿ÜºÎ¿ë DNS¼¹ö°¡ ´äÇϵµ·Ï ÇÏ¸é µÈ´Ù. ÀÌ·¸°Ô µÇ¸é ³»ºÎÀڵ鿡°Ô´Â À¥¼¹öÀÇ ÁÖ¼Ò°¡ ³»ºÎ IPÁÖ¼Ò°¡ º¸ÀÌ°Ô µÈ´Ù.
¶Ç ´Ù¸¥ ÇØ°á ¹æ¹ýÀÌ Àִµ¥ NAT¹Ú½º°¡ ±×·¯ÇÑ Á¾·ùÀÇ ¿¬°á¿¡ ´ëÇؼ´Â ¹ß½ÅÁö IP ÁÖ¼Ò¸¦ ÀÚ±â ÀÚ½ÅÀÇ ³»ºÎ ÁÖ¼Ò·Î ¸ÅÇÎÇÏ¸é µÈ´Ù. ±×¸®µÇ¸é ¼¹ö°¡ ±× ¹Ú½º¸¦ ¹ß½ÅÁö·Î ¾Ë°í ¹Ú½º¿¡°Ô ÇØ´ç ÀÀ´ä ÆÐŶÀ» ³¯¸°´Ù. ¿¹¸¦ µé¾î ´ÙÀ½°ú °°Àº ¼³Á¤À» ÇÒ ¼ö ÀÖ´Ù(NAT¹Ú½ºÀÇ ³»ºÎ IP ÁÖ¼Ò°¡ 192.168.1.250À̶ó°í °¡Á¤ÇÏÀÚ):
# iptables -t nat -A POSTROUTING -d 192.168.1.1 -s 192.168.1.0/24 \
-p tcp --dport 80 -j SNAT --to 192.168.1.250
PREROUTING ±ÔÄ¢À» ¸ÕÀú Ÿ±â ¶§¹®¿¡ ÆÐŶÀÇ ¸ñÀûÁö´Â ÀÌ¹Ì ³»ºÎ À¥¼¹ö ÁÖ¼Ò·Î ¹Ù²ï »óÅÂÀÌ´Ù: ÆÐŶµéÀÌ ±×·¯ÇÑ º¯È¯ ´ë»óÀÎÁö ¿©ºÎ´Â ±× ¹ß½ÅÁö IPÁÖ¼Ò¸¦ º¸°í Ãâó°¡ ³»ºÎ¶ó´Â »ç½Ç ¿©ºÎ·Î ±¸ºÐµÈ´Ù.
¸ÕÀú WatchGuard¿Í David Bonn¿¡°Ô °¨»çµå¸³´Ï´Ù. À̵éÀº ÀÛ¾÷Áß ³ÝÇÊÅÍ¿¡ ´ëÇØ ÁÁÀº ¾ÆÀ̵ð¾î¸¦ ³»¾î ¸¹Àº µµ¿òÀ» Áá½À´Ï´Ù.
±×¸®°í Á¦°¡ NAT¿¡ ÀÖ´Â ºÒ¹Ì½º·¯¿î ¹®Á¦Á¡À» ¹ß°ßÇÏ¿© ¼ºÁúÀ» ³»¾îµµ ÀÌ°ÍÀ» Âü°í ³Ñ¾î°¡ÁØ ¸ðµç ºÐµé°ú -ƯÈ÷- Á¦ ´ÙÀ̾¸¦ ÀоîÁØ ºÐµé²²µµ °¨»çÀÇ ¸»¾¸À» µå¸³´Ï´Ù.
Rusty.
¿ªÀÚ Èıâ : ¿ø¹ø¿ªÀÚÀÎ ±è»óÈÆ´Ô¿¡°Ô ¹Ì¸® º¯°æ»ç½ÇÀ» ¸»¾¸µå¸®°í ½Í¾úÁö¸¸ ¿¬¶ôó°¡ ¾ø¾î¼
¾î¿ ¼ö¾øÀÌ Å뺸¾ÈÇÏ°í µ¤¾î ½è½À´Ï´Ù. ¿ÏÀüÈ÷ µ¤¾î¾²°ÔµÈ ¸íºÐÁß Çϳª´Â ±è»óÈÆ´ÔÀº v1.0 NAT HOWTO¸¦ ¹ø¿ªÇϼÌÁö¸¸
Àü ±× °³Á¤ÆÇÀÎ v1.18À» ¹ø¿ªÇ߱⠶§¹®ÀÔ´Ï´Ù. ÃÖ´ëÇÑ ¾î»öÇÏÁö ¾ÊÀ¸¸é¼µµ Á¤È®ÇÏ°Ô ¹ø¿ªÇÏ·Á Çß½À´Ï´Ù. ¿ÀÅ»ÀÚ³ª
±×¸©µÈ ¹ø¿ªÀÌ ÀÖÀ¸¸é Á¦°Ô ¿¬¶ô ¹Ù¶ø´Ï´Ù.