ÇÊÀÚ : ¹èö¼ö / ¸®´ª½º¿ùµå ¹ßÇàÀÎ
|
||
Ä¿³Î 2.4¿¡¼ IP °øÀ¯(ip masquerade), ¼¹ö ºÎÇϺлê(port forwarding), Åõ¸í ÇÁ¶ô½Ã(redirection)¸¦ »ç¿ëÇÏ·Á¸é iptables ÇÁ·Î±×·¥À» »ç¿ëÇØ¾ß ÇÑ´Ù. ¹°·Ð Ä¿³Î ÂÊ ¼¼Æõµ ÇÊ¿äÇÏ´Ù. 2.2¿¡¼´Â ipchains¿Í ipmasqadmÀ¸·Î ºÐ¸®µÇ¾î ÀÖ¾ú´Âµ¥ À̸¦ Çϳª·Î ÅëÇÕÇßÀ» »Ó ¾Æ´Ï¶ó »ç¿ë¹ýµµ ÈξÀ ½¬¿öÁ³´Ù. ¶ÇÇÑ È®À强À» °í·ÁÇؼ ¼³°èµÇ¾ú´Ù´Â ÀåÁ¡ÀÌ ÀÖ´Ù. iptables´Â NAT ±â´É»Ó ¾Æ´Ï¶ó filtering ±â´Éµµ µé¾î ÀÖ´Ù. filteringÀº ÆÐŶÀ» °É·¯ ³»´Â Áï ¾ø¾Ö´Â(°ÅºÎÇÏ´Â) ±â´ÉÀ» ´ã´çÇϹǷΠÁÖ·Î ¹æȺ®À» ±¸ÃàÇϴµ¥ »ç¿ëÇÑ´Ù. NAT´Â ÆÐŶÀÇ ³»¿ë Áï ÁÖ¼Ò, Æ÷Æ®¹øÈ£ µîÀ» º¯°æÇÑ´Ù. ÇÑ °³ÀÇ IP ÁÖ¼Ò¸¦ ¿©·¯ ´ëÀÇ Çǽÿ¡¼ °øÀ¯ÇÏ¿© ÀÎÅͳÝÀ» »ç¿ëÇÏ´Â µ¥´Â NAT ±â´ÉÀ» »ç¿ëÇØ¾ß ÇÑ´Ù.(2.2¿¡¼ÀÇ ip masquerade) ÇÑ °³ÀÇ µµ¸ÞÀÎ ³×ÀÓ¿¡ ´ëÇØ ¿©·¯ ´ëÀÇ ¼¹ö°¡ ¼ºñ½º¸¦ Á¦°øÇÏ´Â ¼¹ö ºÎÇϺл꿡µµ ¿ª½Ã NAT°¡ »ç¿ëµÈ´Ù.(2.2¿¡¼ÀÇ port forwarding) ÀÌ ±Û¿¡¼´Â Ä¿³Î 2.4¿¡¼ IP °øÀ¯¿Í ¼¹ö ºÎÇϺлêÀ» ±¸ÇöÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
I. Âü°íÀÚ·á ÀÌ ±ÛÀ» ¾²´Âµ¥ ¾Æ·¡ ÀڷḦ Âü°í ÇÏ¿´´Ù. iptables ÇÁ·Î±×·¥ °³¹ßÀº Netfilter ProjectÀÇ ÀϺÎÀÌ´Ù. Netfilter Project ÇÁ·ÎÁ§Æ®ÀÇ È¨ÆäÀÌÁö´Â http://netfilter.kernelnotes.org ÀÌ´Ù. 1) Linux 2.4 NAT HOWTO (http://netfilter.kernelnotes.org/unreliable-guides/index.html)
II. ÁغñÀÛ¾÷ Ä¿³Î 2.4¿¡¼ NAT¸¦ ±¸ÇöÇÏ·Á¸é Ä¿³Î¿¡ ÇØ´ç Äڵ带 ¿Ã¸®°í(¸ðµâ·Îµµ °¡´É) »ç¿ëÀÚ ÇÁ·Î±×·¥ (iptables)À» ¼³Ä¡ÇØ¾ß ÇÑ´Ù. ¾Æ·¡ÀÇ ¸ðµç ÀÛ¾÷Àº µ¥ºñ¾È 2.2(potato)¿¡¼ Å×½ºÆ®ÇÏ¿´´Ù. Ä¿³ÎÀº 2.4.2¸¦ »ç¿ëÇß´Ù. 1. iptables ÇÁ·Î±×·¥ ¼³Ä¡ 1) ÆÄÀÏ ´Ù¿î·Îµå iptablesÀÇ ÃֽŹöÀüÀº 1.2ÀÌ´Ù. Netfilter Project »çÀÌÆ®(http://netfilter.kernelnotes.org/ )¿¡¼ ´Ù¿î¹Þ¾Æ ¼³Ä¡ÇÑ´Ù. À§ »çÀÌÆ®¿¡¼ ¾Æ·¡ ÆÄÀÏÀ» ´Ù¿î ¹Þ´Â´Ù. -rwxr--r-- 1 bae root 151774 Feb 24 18:00 iptables-1.2.tar.bz2 2) ¾ÐÃà ÇØÁ¦ bunzip2 iptables-1.2.tar.bz2 iptables-1.2 µð·ºÅ丮°¡ ¸¸µé¾îÁö°í ±× ¾È¿¡ ¼Ò½º°¡ À§Ä¡ÇÑ´Ù. 3) cd iptables-1.2 4) 2.4 Ä¿³Î ¼Ò½º¸¦ /usr/src/linux¿¡ ¼³Ä¡ÇÑ´Ù. 5) make ¡¤2.4 Ä¿³Î ¼Ò½º°¡ ´Ù¸¥ µð·ºÅ丮¿¡ ÀÖÀ¸¸é
¾Æ·¡ ¸í·ÉÀÌ ÇÊ¿äÇÏ´Ù. 6) make install ½ÇÇàÆÄÀÏÀº /usr/local/sbin/iptables ÀÌ´Ù. ¶óÀ̺귯¸®µµ µ¿½Ã¿¡ ¼³Ä¡µÈ´Ù. ´Ù¸¥ °÷¿¡¼ iptables ÆÄÀϸ¸ º¹»çÇؼ´Â NAT¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù. ¶óÀ̺귯¸®µµ °°ÀÌ ¼³Ä¡ÇØ¾ß ÇϹǷΠÄÄÆÄÀÏÇϰųª rpmÀ¸·Î ¼³Ä¡ÇØ¾ß ÇÑ´Ù. 2. Ä¿³Î ÄÚµå ¿Ã¸®±â filteringÀ̳ª NAT¸¦ »ç¿ëÇÏ·Á¸é ÇÊÈ÷ Ä¿³Î¿¡ ÇØ´ç Äڵ尡 ¿Ã¶ó°¡¾ß ÇÑ´Ù. ¸ðµâ·Î ¿Ã¸®´Â ¹æ¹ý°ú ÄÄÆÄÀÏÇؼ Äڵ忡 Æ÷ÇÔ½ÃÅ°´Â ¹æ¹ýÀÌ ÀÖ´Ù. ¿©±â¼´Â Ä¿³ÎÀ» ÄÄÆÄÀÏÇؼ Äڵ带 ¼³Ä¡ÇÏ´Â °æ¿ìÀÇ make menuconfig(make config, make xconfig) ¿¡¼ ÇÊ¿äÇÑ ¼±ÅûçÇ×À» ¼³¸íÇÑ´Ù.(Ä¿³Î 2.4.2) NAT¿Í Á÷Á¢ °ü·ÃµÈ ¼±ÅûçÇ׸¸ ¼³¸íÇß´Ù. ³×Æ®¿öÅ©³ª ·£Ä«µå¿¡ °ü·ÃµÈ ºÎºÐÀº ÀÚ½ÅÀÇ ½Ã½ºÅÛ¿¡ ¸Â°Ô ¼±ÅÃÇØ¾ß ÇÑ´Ù. 1) ¸ÞÀÎ ¸Þ´ºÀÇ ¡°Networking options ¡° ¿¡¼ ¾Æ·¡ ºÎºÐÀ» ¼±ÅÃÇÑ´Ù. [*]Network packet filtering IP: Netfilter Configuration ---> <*> Connection tracking (required
for masq/NAT) ¾Æ·¡ Ç׸ñ Áß¿¡¼ ÀϹÝÀûÀÎ IP °øÀ¯³ª ¼¹öºÎÇϺлêÀ» ±¸ÇöÇÏ·Á¸é <*> Ç¥½Ã°¡ ÀÖ´Â Ç׸ñÀ» ¼±ÅÃÇÑ´Ù. ³ª¸ÓÁö´Â ÆÐŶ ÇÊÅ͸µÀ» »ç¿ëÇϰųª Ư¼öÇÑ NAT ±â´É ±¸Çö½Ã¸¸ ÇÊ¿äÇÏ´Ù. <
> limit match support 2) ¾Æ·¡ ¸Þ´º¸¦ ¼±ÅÃÇϸé NAT ±â´ÉÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù. "Networking options"¿¡¼ "Fast switching (read help!)"
III. NAT¿¡ ´ëÇÑ ÀÌÇØ iptables¸¦ Á¤È®È÷ »ç¿ëÇÏ·Á¸é iptables¿¡¼ Á¤ÀÇÇÏ´Â NATÀÇ °³³äÀ» ¾Ë¾Æ¾ß ÇÑ´Ù. 1. NAT »ç¿ë ¿¹ ¾Æ·¡ ±×¸²À» ±âÁØÀ¸·Î ¼³¸íÇÑ´Ù. ¾Æ·¡ ±×¸²¿¡¼ ¸®´ª½ºC¿¡´Â µÎ °³ÀÇ ·£Ä«µå°¡ ¼³Ä¡µÇ¾î ÀÖ°í ÀÎÅÍ³Ý ÂÊÀÇ ·£Ä«µå(eth0) ¿¡´Â °øÀÎ IP(°íÁ¤) °¡ ºÎ¿©µÇ¾î ÀÖ´Ù.(211.217.xxx.yyy) µÎ¹ø° ·£Ä«µå¿¡´Â ³»ºÎ¾îµå·¹½º(192.168.1.1)°¡ ºÎ¿©µÇ¾î ÀÖ°í ³»ºÎ ·£(192.168.1.0/24)¿¡ ¿¬°áµÇ¾î ÀÖ´Ù. <±×¸² 1> 1) ¿©·¯ ´ëÀÇ Çǽÿ¡¼ ÇÑ °³ÀÇ IP¸¦ °øÀ¯ÇÏ¿© ÀÎÅͳÝÀ» »ç¿ë adsl À̳ª ÄÉÀ̺í¸ðµ©À¸·Î ÀÎÅͳÝÀ» ¿¬°áÇÏ´Â °æ¿ì º¸ÅëÀº 1°³ÀÇ IP ÁÖ¼Ò¸¦ ¹Þ´Â´Ù. (¿©·¯ °³¸¦ ¹ÞÀ» ¼ö ÀÖ´Â ¼ºñ½º°¡ ÀÖÀ¸³ª ºñ¿ëÀÌ ¸¹ÀÌ µç´Ù.) À̶§ ÇÑ °³ÀÇ IPÁÖ¼Ò¸¦ ¿©·¯ ´ëÀÇ Çǽÿ¡¼ °øÀ¯ÇÏ¿© ÀÎÅͳÝÀ» »ç¿ëÇÏ·Á ÇÒ °æ¿ì NAT°¡ »ç¿ëµÈ´Ù. ¿ì¸®°¡ IP Masquerade¶ó ºÒ·¯¿Ô´Ù. ±×¸² 1] ¿¡¼ À©µµ¿ìA, À©µµ¿ìB µÎ ´ëÀÇ Çǽÿ¡¼ ¸®´ª½ºCÀÇ °øÀÎ IP(211.217.xxx.yyy)¸¦ °øÀ¯Çؼ ÀÎÅͳÝÀ» »ç¿ëÇÏ°Ô ¼³Á¤ÇÏ´Â °æ¿ìÀÌ´Ù. 2) ÇÑ °³ÀÇ IP ÁÖ¼Ò(µµ¸ÞÀγ×ÀÓ)¿¡ ¿©·¯ ´ëÀÇ ¼¹ö¸¦ ¿¬°áÇÏ´Â °æ¿ì ºÎÇϺлêÀ» À§ÇØ ÇÑ °³ÀÇ µµ¸ÞÀγ×ÀÓ(FQDN)¿¡ ´ëÇØ ¿©·¯ ´ëÀÇ ¼¹ö¸¦ ¿î¿µÇÏ´Â °æ¿ìµµ NAT¸¦ »ç¿ëÇÑ´Ù. Áï www.linuxlab.co.kr µµ¸ÞÀÎ ÇÑ °³¿¡ À¥¼¹ö, ¸ÞÀϼ¹ö, FTP ¼¹ö¸¦ µû·Î ¿î¿µÇÏ´Â °æ¿ìÀÌ´Ù. ºÎÇÏÆòÁØÈ(load balance) ±â´Éµµ ±¸ÇöÀÌ °¡´ÉÇÏ´Ù. Áï www.linuxlab.co.kr µµ¸ÞÀο¡ ´ëÇÑ À¥¼ºñ½º¸¦ ¿©·¯ ´ëÀÇ ¼¹ö°¡ ´ã´çÇÏ°Ô ÇÏ´Â °æ¿ìÀÌ´Ù. 2.2¿¡¼´Â port forwardingÀ̶ó ºÒ¸®¿ü´Ù. (Ä¿³Î 2.2¿¡¼ port forwarding »ç¿ë¹ýÀº ¸®´ª½º ¿ùµå 2000³â 3¿ùÈ£¿¡ ÀÖ´Ù.) ±×¸² 1] ¿¡¼ À©µµ¿ìC¿¡¼ bae@www.linuxlab.co.kr·Î ¸ÞÀÏÀ» º¸³»¸é ¸ÞÀÏÀº 192.168.1.10 ¼¹ö·Î Àü´ÞµÇ°í À¥À» °Ë»öÇϸé(http://www.linuxlab.co.kr) 192.168.1.11 ¼¹ö°¡ ÀÀ´äÇÏ°Ô ¼³Á¤ÇÏ´Â °ÍÀÌ´Ù. 3) Åõ¸í ÇÁ¶ô½Ã Çпø¿¡¼ ÀÎÅÍ³Ý °ÀǸ¦ ÇÏ´Â °æ¿ì´Â µ¿ÀÏ ³×Æ®¿öÅ©¿¡ ¿¬°áµÈ ¿©·¯ ´ëÀÇ Çǽÿ¡¼ µ¿½Ã¿¡ °°Àº »çÀÌÆ®¸¦ ¿¬°áÇÑ´Ù. ÀÌ °æ¿ì ÇÁ¶ô½Ã ¼¹ö¸¦ ¼³Ä¡ÇÏ¸é ¸ðµç Çǽô ¿ì¼± ÇÁ¶ô½Ã ¼¹ö¿¡¼ ¹æ¹®ÇÏ·Á´Â »çÀÌÆ®ÀÇ ÆäÀÌÁö°¡ ÀÖ´ÂÁö¸¦ È®ÀÎÇÏ°í ¿©±â¿¡ ¾øÀ» °æ¿ì´Â ÇÁ¶ô½Ã¼¹ö¿¡¼ ÇØ´ç »çÀÌÆ®¸¦ ¿¬°áÇØ ÆäÀÌÁö¸¦ °¡Á®´Ù Çǽÿ¡°Ô ÁØ´Ù. ÇÁ¶ô½Ã ¼¹ö¸¦ »ç¿ëÇÏ·Á¸é ÇǽÃÀÇ À¥ºê¶ó¿ìÀú¿¡ ÇÁ¶ô½Ã¼¹ö¸¦ ÁöÁ¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ±×·±µ¥ Åõ¸íÇÁ¶ô½ÃÀÇ °æ¿ì´Â Ŭ¶óÀ̾ðÆ® ÇǽÃÀÇ À¥ºê¶ó¿ìÀú¿¡ ÇÁ¶ô½Ã¼¹ö¸¦ ÁöÁ¤ÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ¸®´ª½º¿¡ Åõ¸íÇÁ¶ô½Ã¸¦ ¼³Á¤ÇÏ¸é ¸®´ª½º¸¦ Åë°úÇÏ´Â ÆÐŶÀº ÀÚµ¿À¸·Î ¸®´ª½º¿¡ ¼³Ä¡µÈ ÇÁ¶ô½Ã¼¹ö ÇÁ·Î±×·¥(¿¹: squid)À¸·Î ¿¬°áµÈ´Ù.(¸®´ª½º¸¦ °¢ ÇǽÃÀÇ µðÆúÆ®°ÔÀÌÆ®·Î ÁöÁ¤ÇÏ¸é ¸ðµç ÆÐŶÀº ¸®´ª½º¸¦ Åë°úÇÑ´Ù.) ¿¹Àü¿¡´Â ¸®´ÙÀÌ·º¼ÇÀ̶ó°í ºÒ¸®¿ü´Ù. ±×¸² 1]¿¡¼ À©µµ¿ìA¿¡¼ www.debian.orgÀÇ ÆäÀÌÁö¸¦ °Ë»öÇÏ¸é ¸®´ª½ºC¿¡ ¼³Ä¡µÈ ÇÁ¶ô½Ã¼¹öÇÁ·Î±×·¥(squid)ÀÌ www.debian.org¸¦ ¿¬°áÇØ ´ë½Å µ¥ÀÌÅ͸¦ °¡Á®´Ù À©µµ¿ìA¿¡ ³Ñ°ÜÁÖ´Â ¼³Á¤ÀÌ´Ù. ÀÌ ±Û¿¡¼´Â Åõ¸íÇÁ¶ô½Ã ¼³Á¤Àº ¼³¸íÇÏÁö ¾Ê´Â´Ù. Transparent Proxy with Squid mini-HOWTO¸¦ Âü°í Ç϶ó. 2. iptables¿¡¼ NAT ÀÇ ºÐ·ù iptables¿¡¼´Â Å©°Ô µÎ ºÎ·ùÀÇ NAT·Î ºÐ·ùÇÑ´Ù. À§ÀÇ 1) ÀÇ °æ¿ì¸¦ SNAT(Source NAT) À§ÀÇ 2) , 3)ÀÇ °æ¿ì´Â DNAT(Destination NAT) ¶ó ºÐ·ùÇÑ´Ù. SNAT´Â ÆÐŶÀÇ ¼Ò½º ¾îµå·¹½º¸¦ º¯°æÇÑ´Ù´Â ÀǹÌÀÌ´Ù. Áï ³»ºÎ ¾îµå·¹½ºÀÎ 192.168.1.100 À©µµ¿ìA ¿¡¼ www.debian.org ¸®´ª½º¼¹ö¸¦ ¿¬°áÇϸé debian ¼¹ö¿¡¼ º¼ ¶§ ÆÐŶÀÇ ¼Ò½º°¡ 192.168.1.100ÀÌ ¾Æ´Ñ 211.217.xxx.yyy·Î ³ªÅ¸³ª±â ¶§¹®ÀÌ´Ù. SNAT´Â ¶ó¿ìÆÃ(°æ·Î) °áÁ¤ ÀÌÈÄ¿¡ ÀÌ·ç¾îÁø´Ù.(post-routing) ÆÐŶÀÇ ¸ñÀûÁö ÁÖ¼Ò´Â ÀÌ¹Ì Á¤ÇØÁ® ÀÖÀ¸¹Ç·Î(www.debian.org) ¶ó¿ìÆà °æ·Î´Â °áÁ¤µÇ¾î ÀÖ°í ÆÐŶÀÇ ¼Ò½º ÁÖ¼Ò°¡ ¸®´ª½º¸¦ ¶°³ª±â Á÷Àü¿¡ º¯°æµÈ´Ù.(192.168.1.100 -> 211.217.xxx.yyy) DNAT´Â ÀÌ¿Í´Â ¹Ý´ë´Ù. ¸®´ª½ºC¿¡¼ ÆÐŶÀÇ ¸ñÀûÁö ÁÖ¼Ò¸¦ º¯°æÇÑ´Ù. À©µµ¿ìC¿¡¼ bae@www.linuxlab.co.kr ÁÖ¼Ò·Î ¸ÞÀÏÀ» º¸³»¸é ¸®´ª½ºC¿¡ µµÂøÇÑ ÆÐŶÀÇ ¸ñÀûÁö°¡ ¸®´ª½º BÀÇ ÁÖ¼Ò·Î º¯°æµÈ´Ù. Áï ÆÐŶÀÇ ¸ñÀûÁö ÁÖ¼Ò°¡ ¸ÕÀú º¯°æµÇ°í(211.217.xxx.yyy -> 192.168.1.10) ±× º¯°æµÈ ÁÖ¼Ò¿¡ ÀÇ°ÅÇÏ¿© »õ·Î¿î ¶ó¿ìÆà °æ·Î°¡ ã¾ÆÁø´Ù. Áï DNAT´Â ¶ó¿ìÆà ÀÌÀü ´Ü°è¿¡¼ ÀÛ¿ëÇÑ´Ù.(pre-routing) post-routing¿Í pre-routing Àº ¹«Ã´ È¥µ¿µÈ´Ù. Áï ³»°¡ ¿ÞÂÊÀ̶ó ÇÏ¸é »ó´ë¿¡¼ ³ª¸¦ º¼ ¶§´Â ¿À¸¥ÂÊÀÌ´Ù. °á±¹ NAT °¡ routing º¸´Ù Àü¿¡ ÀÛ¿ëÇÏ´À³Ä ÈijÄÀÇ ±¸ºÐÀ¸·Î º¸¸é µÈ´Ù. (iptables ÆĶó¸ÞÅÍ ÁöÁ¤¿¡¼ ÀÌ µÑÀ» È¥µ¿ÇÏ¸é ¿¡·¯°¡ ³´Ù.)
IV. IPTABLES ¼³Á¤ 1. Source NAT ´Â ¾Æ·¡¿Í °°ÀÌ ÁöÁ¤ÇÑ´Ù.(±âÁ¸ÀÇ IP Masquerade¸¦ ¸»ÇÔ.) iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4 iptables -t nat -A POSTROUTING -o eth0 -j
SNAT --to 1.2.3.4-1.2.3.6 -t -A ´Â À§ÀÇ ±Û(2)À» ÀÐÀ¸¸é ÀÌÇØ°¡ µÇ¸®¶ó°í
º»´Ù. -o ´Â ÆÐŶÀ» º¸³»´Â ÀÎÅÍÆäÀ̽º ÀåÄ¡ÀÌ´Ù. SNAT ¿¡¼´Â ÆÐŶÀ»
³» º¸³»´Â ÀåÄ¡(·£Ä«µå)¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. --to ´Â ³ª°¡´Â
ÆÐŶ¿¡ ºÎ¿©ÇÒ ¼Ò½º ÁÖ¼ÒÀÌ´Ù. IP °øÀ¯¶ó¸é --to ´Â ÀÎÅͳÝ
ÂÊÀÇ °øÀÎ IP ¸¦ ÁöÁ¤ÇÏ¸é µÈ´Ù.(ÁöÁ¤ ¾Ê¾Æµµ »ó°ü¾ø´Ù.)
1.1 ½ÇÁ¦ »ç¿ë ¿¹ 1) Çѱ¹Åë½Å
ADSLÀ» ¸®´ª½º¿¡ ¿¬°áÇØ ÀÎÅͳÝÀ» °øÀ¯(IP MASQUERADING)ÇÏ´Â iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE 2) ±×¸²1]
¿¡¼ ¸®´ª½ºCÀÇ eth0¿¡ ºÎ¿©µÈ IP(°íÁ¤)¸¦ À©µµ¿ì A,B¿¡¼ °øÀ¯ÇÏ¿© iptables -t nat
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to * -s 192.168.1.0/24´Â ÁöÁ¤ ¾Ê¾Æµµ µÈ´Ù. 3) ±×¸² 1]
¿¡¼ ¸®´ª½º CÀÇ eth0°¡ ÄÉÀ̺í¸ðµ©¿¡ ¿¬°áµÇ¾î ÀÖ´Ù¸é ¾Æ·¡Ã³·³ iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 1.2 È®ÀÎ - iptables ¼³Á¤ ³»¿ëÀ» È®ÀÎÇÏ·Á¸é ¾Æ·¡ ¸í·ÉÀ» ÁØ´Ù. iptables -t nat -L - 192.168.1.0 ³×Æ®¿öÅ©¿¡¼ 211.217.xxx.yyy
°øÀÎ IP¸¦ °øÀ¯Çϵµ·Ï ¼³Á¤ÇÑ °æ¿ì
2. DNAT DNAT ´Â ºÎÇϺлêÀ̳ª ÆòÁØÈ¿¡¸¸ »ç¿ëÇÏ´Â°Ô ¾Æ´Ï´Ù. °£´ÜÇÑ ¹æȺ®À¸·Îµµ ²Ï À¯¿ëÇÏ´Ù. Áï À§ÀÇ ¸®´ª½ºC¿¡ DNAT¸¦ ¼³Á¤ÇÏ¿© À¥¼¹ö¿Í ¸ÞÀϼ¹ö¸¦ ³»ºÎ ÁÖ¼ÒÀÎ ¸®´ª½º A¿Í B¿¡¼ ¼ºñ½º Çϵµ·Ï ÁöÁ¤ÇÏ°í ÀÎÅͳݿ¡¼ ´Ù¸¥ ¿¬°áÀº ¸®´ª½ºC·Î ÁöÁ¤ÇÏ¸é ¸®´ª½º C°¡ °£´ÜÇÑ ¹æȺ® ±¸½ÇÀ» ´ã´çÇÑ´Ù. 2.1 »ç¿ë ¿¹ - ±×¸²1]¿¡¼ ó·³ À©µµ¿ìC¿¡¼ www.linuxlab.co.kr
ÀÇ È¨ÆäÀÌÁö¸¦ °Ë»öÇÏ·Á ÇÒ ¶§ À̸¦ iptables -A PREROUTING
-t nat -p tcp -d 211.217.xxx.yyy --dport 80 ¡¬ 1) -A
PREROUTING : DNAT ´Â ¸ÕÀú ¸ñÀûÁö ÁÖ¼Ò¸¦ º¯°æÇÏ°í(211.217.xxx.yyy¸¦ 2) -t nat : ºÎÇϺл굵 nat ±â´ÉÀÌ´Ù. 3) -p tcp : À¥(www)Àº tcp ¸¦ »ç¿ëÇÑ´Ù. 4) -d
211.217.xxx.yyy --dport 80 : µé¾î¿À´Â ÆÐŶÀÇ ¸ñÀûÁö
ÁÖ¼Ò°¡ 5) -j DNAT : destination Nat 6) --to
192.168.1.11:80 : ÆÐŶÀÇ ¸ñÀûÁö ÁÖ¼Ò¸¦ 192.168.1.11
Æ÷Æ®¹øÈ£¸¦ 80¹øÀ¸·Î - ¸ÞÀϼ¹ö¸¦ ¸®´ª½ºB (192.168.1.10)·Î ¼³Á¤ÇÏ·Á¸é ¾Æ·¡Ã³·³ ÁöÁ¤ÇÑ´Ù. iptables -A PREROUTING -t nat -p tcp -d
211.217.xxx.yyy --dport 25 ¡¬ - DNS ¼¹ö¸¦ 192.168.1.10À¸·Î º¯°æÇÏ·Á¸é ¾Æ·¡Ã³·³ ÁöÁ¤ÇÑ´Ù. iptables -A PREROUTING -t nat -p udp -d
211.217.xxx.yyy --dport 53 ¡¬ ÁÖÀÇ] DNS ´Â udp ¸¦ »ç¿ëÇÑ´Ù. 2.2 DNAT ¼³Á¤ È®ÀÎ À¥À» 192.168.1.11 ·Î DNAT ¼³Á¤À» ÇÏ¸é ¾Æ·¡Ã³·³ ³ª¿Â´Ù.(¸®´ª½ºC¿¡¼ ¾Æ·¡ ¸í·ÉÀ» ÁØ´Ù.) churlsu:~# iptables -t nat -L 3. iptables ¼³Á¤ ÇØÁ¦ - ±âÁ¸¿¡ ¼³Á¤µÅ ÀÖ´Â ¸ðµç nat ¼³Á¤À» Áö¿ì·Á¸é ¾Æ·¡ ¸í·ÉÀ» ÁØ´Ù. iptables -t nat -F - iptables ÀÇ ¸ðµç ¼³Á¤ÀÌ ÇØÁ¦µÈ °æ¿ì´Â ¾Æ·¡¿Í °°´Ù. churlsu:~# iptables -t nat -L Chain POSTROUTING (policy ACCEPT) Chain OUTPUT (policy ACCEPT)
V. iptables ¿É¼Ç ¾Æ·¡´Â nat ¿¡¼ »ç¿ëÇÏ´Â Áß¿äÇÑ ¿É¼Ç¸¸ ¼³¸íÇß´Ù. ³ª¸ÓÁö´Â man ÆäÀÌÁö¸¦ Âü°í Ç϶ó. 1) -t : --table table À» ¼±ÅÃÇÑ´Ù. filter, nat, mangle ¼¼°¡Áö ¼±ÅÃÀÌ ÀÖ´Ù. Ä¿³Î¿¡ ÇØ´ç Å×À̺íÀ» Áö¿øÇÏ´Â Äڵ尡 µé¾î ÀÖ¾î¾ß ÇÑ´Ù. ¸ðµâ ÀÚµ¿ÀûÀ縦 »ç¿ëÇÑ´Ù¸é ÇØ´ç Å×À̺íÀ» ¼±ÅÃÇÏ¸é ±×¿Í °ü·ÃµÈ Ä¿³Î ¸ðµâÀÌ ÀûÀçµÈ´Ù. µðÆúÆ®´Â filter À̹ǷΠnat¸¦ »ç¿ëÇÏ·Á¸é ÇÊÈ÷ nat ¸¦ ÁöÁ¤ÇØ¾ß ÇÑ´Ù. 2) -A : --append ±ÔÄ¢À» Ãß°¡ÇÑ´Ù. INPUT, FORWARD : -t°¡ filterÀÎ °æ¿ì
»ç¿ë °¡´É 3) -i : --in-interface ÆÐŶÀÌ µé¾î¿À´Â(incoming) ÀÎÅÍÆäÀ̽º(ÀåÄ¡)¸¦ ÁöÁ¤ÇÑ´Ù. (-t °¡ nat À̸é PREROUTING¿¡¼¸¸ ÁöÁ¤ °¡´ÉÇÏ´Ù.) ÀÎÅÍÆäÀ̽º¸í ¾Õ¿¡ ¡°!¡± À» Ãß°¡ÇÏ¸é ±× ÀåÄ¡´Â Á¦¿ÜÇÑ´Ù´Â Àǹ̰¡ µÈ´Ù. µÚ¿¡ ¡°+¡±¸¦ Ãß°¡ÇÏ¸é ±× À̸§À¸·Î ½ÃÀÛÇÏ´Â ¸ðµç ÀåÄ¡¸¦ ÀǹÌÇÑ´Ù. µðÆúÆ®´Â +ÀÌ´Ù. 4) -o : --out-interface outgoing ÀÎÅÍÆäÀ̽º Áï ÆÐŶÀÌ ³ª°¡´Â ³×Æ®¿öÅ© ÀåÄ¡¸¦ ÁöÁ¤ÇÑ´Ù. (-t°¡ natÀ̸é POSTROUTING ¿¡¼¸¸ ÁöÁ¤ °¡´ÉÇÏ´Ù) ¡°!¡± °ú ¡°+¡± Àº -i ¿Í µ¿ÀÏÇÑ´Ù. 5) -s : --source ¼Ò½º ¾îµå·¹½º/netmask ¸¦ ÁöÁ¤ÇÑ´Ù. SNAT¿¡¼ ¹ÛÀ¸·Î ³ª°¡´Â ÆÐŶÀÇ ¼Ò½º¾îµå·¹½º¿¡ µû¶ó ±ÔÄ¢À» Àû¿ëÇÏ·Á ÇÒ ¶§ ÁöÁ¤ÇÑ´Ù. ÁּҴ ȣ½ºÆ®³×ÀÓ, ³×Æ®¿öÅ©³×ÀÓ, IP ÁÖ¼Ò µîÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¾Æ·¡ Çü½ÄÀÌ °¡´ÉÇÏ´Ù. ¾Õ¿¡ ¡°!¡±À» ³ÖÀ¸¸é ¹Ý´ëÀÇ °³³äÀÌ µÈ´Ù. -
192.168.1.100 6) -d : --destination ¸ñÀûÁö ÁÖ¼Ò/netmask ¸¦ ÁöÁ¤ÇÑ´Ù. DNAT ¿¡¼ µé¾î¿À´Â ÆÐŶÀÇ ¸ñÀûÁö ÁÖ¼Ò¿¡ µû¶ó ±ÔÄ¢À» Àû¿ëÇÏ·Á ÇÒ ¶§ ÁöÁ¤ÇÑ´Ù. À§ÀÇ -s ¿Í »ç¿ë¹ýÀÌ °°´Ù. 7) -p : --protocol tcp ³ª udp ¸¦ ÁöÁ¤ÇÑ´Ù. 8) --to : --to-source, --to-destination, --to ´Â SNAT ¿¡¼´Â --to-sourceÀÇ ÀǹÌÀÌ´Ù. Áï ³»º¸³»´Â ÆÐŶ¿¡ »õ·Î ºÎ¿©ÇÒ ¼Ò½º IP ÁÖ¼Ò¸¦ ÁöÁ¤ÇÑ´Ù. º¸ÅëÀº ÀÎÅÍ³Ý ÂÊ¿¡ ¿¬°áµÈ ·£Ä«µåÀÇ ÁÖ¼ÒÀÌ´Ù. DNAT ¿¡¼´Â --to-destination ÀÇ ÀǹÌÀÌ´Ù. Áï ÆÐŶÀÇ »õ·Î¿î ¸ñÀûÁö ÁÖ¼ÒÀÌ´Ù. Port forwarding ¿¡¼ ´Â ³»ºÎ ·£¿¡ ¼³Ä¡µÈ ¼¹öÀÇ ÁÖ¼ÒÀÌ´Ù. 9) --dport : -p ¿Í °°ÀÌ »ç¿ëµÈ´Ù. DNAT¿¡¼ µé¾î¿À´Â ÆÐŶÀÇ ¸ñÀûÁö Æ÷Æ®¿¡ µû¶ó ±ÔÄ¢À» Àû¿ëÇÏ·Á ÇÒ ¶§ ÁöÁ¤ÇÑ´Ù. |