Æ÷Æ® Æ÷¿öµùÀ¸·Î º¸¾È ´ÙÁö±â CGI-binÀ̳ª Java ¾ÖÇø´À» »ç¿ëÇØ µ¥ÀÌŸº£À̽ºÀÇ ´Ù¸¥ ¼­ºñ½º·Î Á¢±Ù½ÃÄÑ ´ëÈ­½ÄÀ¸·Î ÇÏ´Â Web »çÀÌÆ®°¡ Áõ°¡ÇÏ°í ÀÖ´Ù. ÀÌ·¯ÇÑ ¹æ½ÄÀÇ Á¢±ÙÀº º¸¾È ¹®Á¦¸¦ ÀÏÀ¸Å°±â ½±±â ¶§¹®¿¡, µ¥ÀÌÅÍ º£À̽º¸¦ °¡Áö°í ÀÖ´Â ¸Ó½ÅÀº ÀÎÅͳݿ¡ Á÷Á¢ Á¢¼Ó½ÃÅ°Áö ¸»¾Æ¾ß ÇÑ´Ù. Port forwardingÀº ÀÌ Á¢±Ù ¹®Á¦¿¡ ´ëÇÏ¿© °ÅÀÇ ÀÌ»óÀûÀÎ ÇØ°áÃ¥À» Á¦°øÇÒ ¼ö ÀÖ´Ù. À̹ø È£¿¡¼­´Â ÀÌ·¯ÇÑ Port ForwardingÀÇ Á¤ÀÇ¿Í Àû¿ë ¹× ½ÇÀü Å×½ºÆ®±îÁö ´Ù·ç¾î º¸±â·Î ÇÑ´Ù. (ÁÖ)À¥µ¥ÀÌÅ͹ðÅ© SE Team Manager Á¶À±¼® yoon@debian-kr.org 1. Æ÷Æ® Æ÷¿öµùÀ̶õ Æ÷Æ® Æ÷¿öµù(Port forwarding)À̶ó´Â ¸»ÀÌ Á» »ý¼ÒÇÏ´Ù°í ´À³¢´Â »ç¶÷µµ ÀÖÀ» °Í ÀÌ´Ù. ÇÏÁö¸¸ ¸»¶æ ±×·¡µµ Çؼ®À» Çغ¸¸é ±Ý¹æ ÀÌÇØÇÒ ¼ö ÀÖ´Ù. Æ÷Æ®¸¦ ¹Ð¾îÁØ´Ù°í »ý°¢À» Çصµ ½±°Ô Á¢±ÙÇϱâ ÁÁ´Ù. ÀÌ ±â¹ýÀº »ç¿ëÇÏ´Â »ç¶÷ÀÇ ÀÔÀå¿¡¼­ ¸¹Àº À̸§ÀÌ ºÙ¿©Áø´Ù. ºÎÇϸ¦ ÁÙÀ̱â À§ÇØ ¾²À̱⵵ ÇÏ°í ¶ÇÇÑ º¸¾È»ó À¯¿ëÇϱ⠶§¹®¿¡ »ç¿ëµÇ±âµµ ÇÑ´Ù. ÇÏÁö¸¸ ÀÌ ±â¹ýÀ» »ç¿ëÇϱâ À§Çؼ­´Â ±âº»ÀûÀ¸·Î ¾Ë¾Æ¾ß ÇÒ »çÇ×µéÀÌ ¸¹´Ù. ±âº»ÀûÀÎ ±¸¼º»çÇ×Àº ±×¸² 1°ú °°´Ù. ±×¸² 1 : Port ForwardingÀÇ ±âº»ÀûÀÎ ±¸¼º»çÇ× ±×¸² 1¿¡¼­ º¸¸é ÇÑ°³ÀÇ °øÀÎIP¸¦ °¡Áö´Â ¼­¹ö¿¡¼­ ³»ºÎÀÇ °¡»ó IP°¡ ÀÖ´Â IP MasqÀÇ ±¸Á¶ÀÌ´Ù. ±×·³ ÀÌ ±¸Á¶¿¡¼­ ÀÌÁ¦±îÁö´Â ³»ºÎÀÇ °¡»ó IP´ë¿ª¿¡¼­ °øÀÎ IP¸¦ ÅëÇؼ­ ¿ÜºÎ·Î ³ª°¥ ¼öµµ ÀÖ¾ú´Ù. Áï ±âº»ÀûÀÎ ¸Þ½ºÄ¿·¹À̵ù ¿ªÇÒÀ» Çß¾ú´Ù. ¶ÇÇÑ Com A´Â °¡»ó IPµéÀÇ ¹­À½À» °¡Áö°í ÀÖÀ¸¹Ç·Î ¿ÜºÎ¿Í ³»ºÎÀÇ Áß°£ ´Ù¸®¿ªÇÒÀ» ÇÏ¸ç µé¾î¿À°í ³ª°¡´Â ÆÐŶµéÀÇ Á¤Ã¥ÀÎ ipchainsÀÇ ¿ªÇÒÀÌ ÇÊ¿äÇÏ´Ù. ¹Ù·Î À̺κп¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀÌ port Á¦¾îÀÌ´Ù. Áï ÀÌÁ¦±îÁö´Â °¡»óIP¿¡¼­ ³ª°¡´Â ¿ªÇÒÀº ÃæºÐÈ÷ °¡´ÉÇßÁö¸¸ µé¾î¿ÀÁö´Â ¸øÇß¾ú´Ù. ¹°·Ð Com AÀÇ Á¤Ã¥¿¡ µû¶ó¼­ ´Þ¶óÁú ¼ö´Â ÀÖ¾ú´Ù. ÇÑ°³ÀÇ °øÀÎ IP¸¸À» °¡Áö°í ³»ºÎÀûÀ¸·Î ¸¹Àº PC¸¦ ¿¬°á½ÃÅ°±â À§ÇØ IP ¸Þ½ºÄ¿·¹À̵ùÀ» »ç¿ëÇÑÀûÀÌ ¸¹ÀÌ ÀÖ¾ú°í °øÀÎIP°¡ ºÎÁ·ÇÏ´Ù°í ÇÏ´Â Áö±Ýµµ ¸¹ÀÌ »ç¿ëµÇ°í Àֱ⵵ ÇÏ´Ù. ¿©±â¿¡¼­ °¢ portº°·Î ºÐ¸®¸¦ ÇÑ´Ù°í »ý°¢ÇÏ¸é ½±´Ù. Áï Com A¿¡ µé¾î¿À´Â WEBÀÇ ¿äûÀ» (º¸Åë 80¹ø port¸¦ »ç¿ëÇÑ´Ù°í ÇßÀ»¶§) °¡»ó IP A¿¡´Â À¥À», °¡»ó IP B¿¡´Â ¸ÞÀÏÀ»(º¸Åë 25¹øÀ» »ç¿ë), °¡»ó IP C¿¡´Â telnetÀ» »ç¿ëÇÏ°Ô²û ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. ÀÌ·± ¹æ¹ýÀº º¸¾È»óÀ̰ųª ¶Ç´Â ºÎÇϸ¦ ºÐ»ê½ÃÅ°±â À§ÇÑ ±âÃÊÀûÀÎ ¹æ¹ýÀÌ´Ù. ±×·³ À§ÀÇ ³»¿ëÀ» Á¶±Ý Àû¿ë½ÃŲ ÈÄ ±×¸² 2¸¦ ´Ù½Ã »ìÆ캸µµ·Ï ÇÏÀÚ. ±×¸² 2 : ºÐ¸®½ÃÄѺ» portÀÇ ¿ªÇÒ ±×¸² 2¿¡¼­´Â ´©±º°¡ ¿ÜºÎ¿¡¼­ Com AÀÇ À¥ÆäÀÌÁö¿¡ ÀÖ´Â ³»¿ëÀ» º¸·Á°í ÇÑ´Ù¸é Com A´Â ±× ¿äû Ŭ¶óÀ̾ðÆ®¸¦ 192.168.1.1 ¹øÀ¸·Î forwardingÇØ Áشٴ °ÍÀÌ´Ù. Áï µé¾î¿À´Â ÆÐŶÀ» ¹æÇâÀ» ¹Ù²Ù¾îÁÖ´Â ¿ªÇÒÀÌ Com AÀÌ°í ±× ÆÐŶÀº forwardingµÇ¾î 192.168.1.1ÀÇ 80¹ø Æ÷Æ®·Î °£´Ù´Â °ÍÀÌ´Ù. ¿ª½Ã ´Ù¸¥ MailÀ̳ª telnet µµ ¸¶Âù°¡Áö·Î ÇØ´ç »ç¿ëÇÏ´Â Æ÷Æ®¸¦ ÁöÁ¤ÇØÁشٸé ÃæºÐÈ÷ °¡´ÉÇÏ´Ù. 2. ÇÊ¿äÇÑ µµ±¸µé Port ForwardingÀ» À§Çؼ­´Â ¸î°¡Áö ÇÊ¿äÇÑ »çÇ×µéÀÌ ÀÖ´Ù. ¸ÕÀú ¾Ë¾Æ µÎ¾î¾ß ÇÒ °ÍÀº IP Masquerade¸¦ ¾Ë¾Æ¾ß ÇÏ°í ±×¿¡ µû¸¥ IP chains¸¦ ¾Ë¾Æ¾ß ÇÑ´Ù. ¹°·Ð ´õ ¾Ë¾Æ¾ß ÇÒ °ÍÀÌ ÀÖ´Ù¸é Kernel Compile,...µîµîÀÌ ÀÖÁö¸¸ ±× Á¤µµ´Â ã¾Æ¼­ Çغ¼ ¼ö ÀÖ´Ù´Â °¡Á¤ÇÏ¿¡ ¾à°£ÀÇ ¼³¸íÀ» ´õÇÏ°Ú´Ù. 2.1 IP Masquerade Port ForwardingÀº IP Masquerade ±â¹Ý ÇÏ¿¡¼­ µ¿ÀÛÇϹǷΠ±âº»ÀûÀ¸·Î ¾Ë¾Æ¾ß ÇÑ´Ù. ¿©·¯ºÐµéÀÌ ±âÁ¸ÀÇ NAT()ÀÇ ±â´ÉÀ» Àß ¾Ë°í ÀÖÀ¸¸®¶ó´Â °¡Á¤ÇÏ¿¡ ¼³¸íÇϵµ·Ï ÇÏ°Ú´Ù. ÀÌ ±â´ÉÀº ¶ó¿ìÅÍ¿¡¼­ºÎÅÍ °øÀÎ IP¿Í °¡»ó IPÀÇ ¿ªÇÒÀ» ÃæºÐÈ÷ Çس½´Ù. ¶ÇÇÑ ÀÌ¿Í À¯»çÇÑ ±â´ÉÀ» ÇÏ´Â °ÍÀÌ ¸®´ª½º¿¡¼­ÀÇ IP Masquerade¶ó°í ÇÒ ¼ö ÀÖ´Ù. ¸¸¾à ÇÑ°³ÀÇ IP¸¦ °¡Áö°í ÀÖ´Â PC°¡ ÀÖ°í ³ª¸ÓÁö 2±îÁö IP¸¦ °¡ÁöÁö ¸øÇ߰ųª ¸ðµ©À» »ç¿ëÇؼ­ ÀÎÅͳÝÀ¸·Î ³ª°¥ ¼ö ÀÖ´Â PC´Â ÇÑ´ë»ÓÀÌ°í ³ª¸ÓÁö µÎ´ëµµ °°ÀÌ ÀÎÅͳÝÀ» »ç¿ëÇÏ°í ½ÍÀ» ½Í´Ù°í °¡Á¤Çغ¸ÀÚ. ¸ÕÀú °øÀÎ IP´Â ÇÑ°³Àε¥ ³ª¸ÓÁö µÎ´ë¿¡¼­µµ ¿ÜºÎ·Î ³ª°¥ ¼öµµ ÀÖ¾î¾ß ÇÏ°í ¶Ç´Â ¸ÞÀÏÀ» º¸³½´Ù°Å³ª À¥ ¿äûÀ» ÇÒ ¶§ ¿ÜºÎ ¿äûÀ» ¹Þ´Â ¼­¹öµéÀº ¸¶Ä¡ ¾Õ ´Ü¿¡ ÀÖ´Â IP Masquerade°¡ ¼³Á¤µÈ PC¿¡¼­ ¿äûÀ» ¹Þ´Â °Íó·³ ÁÖ¼Ò¸¦ ¹Þ´Â´Ù. ±×¸² 3 : IP MasqueradedeÀÇ °è·«µµ ±×¸² 3¿¡¼­ º¸¸é °¡»ó IP¸¦ °¡Áø (192.168.1.10-12) ³»ºÎÀÇ ¾î¶² PC°¡ Á¢¼Ó ¿äûÀ» ÇÑ´Ù Çصµ ÀÎÅÍ³Ý»ó¿¡ ÀÖ´Â WEB Server´Â ¸¶Ä¡ IP Masquerade µÈ ¼­¹ö¿¡¼­ ¿äûÇÏ´Â °Íó·³ ´À³¤´Ù. º¸Åë ±×¸² 3ó·³ IP Masquerade PC´Â µÎ°³ÀÇ IP¸¦ °¡Á®¾ß ÇÑ´Ù. ÇÑ°³´Â ¿ÜºÎ·Î ³ª°¥ ¼ö ÀÖ´Â °øÀÎ IP¸¦ °¡Á®¾ß ÇÏ°í ³ª¸ÓÁö ÇÑ°³´Â ³»ºÎ ³×Æ®¿öÅ©¿Í Åë½ÅÇÒ ¼ö ÀÖ´Â °¡»ó IP¸¦ °¡Áö¸ç ³»ºÎÀÇ ¸ðµç °¡»ó IP¸¦ °¡Áö´Â PCµéÀº ÀڽŵéÀÇ °ÔÀÌÆ®¿þÀ̸¦ ³»ºÎ IP 192.168.1.1·Î ¸ÂÃß¾î ³õ°Ô µÈ´Ù. ±×·³ ±× ¿äû¿¡ ´ëÇÑ ÀÀ´äÀ» µÇµ¹·ÁÁÖ´Â ¿ªÇÒÀ̶ó´øÁö Á¢±Ù °ÅºÎ, Çã°¡ÀÇ °ü¸®¸¦ ÇÏ´Â °ÍÀº °øÀÎIP¸¦ °¡Áø PC°¡ ´ã´çÇÑ´Ù. ¹°·Ð IP Masquerade¸¦ »ç¿ëÇÑ´Ù¸é ¸®´ª½º¸¦ ÀÌ¿ëÇؾ߰ÚÁö¸¸ ±× ¿Ü¿¡ °¡»ó IP¸¦ °¡Áö´Â PCµéÀº ¾î¶² OSÀÌ´øÁö »ó°üÀÌ ¾ø´Ù. °¡»óIP¸¦ °¡Áö´Â PCµéÀÇ ÀÔÀåÀº ´Ü¼øÇÏ´Ù. ¿ì¸®ÀÇ ³×Æ®¿öÅ© ±¸¼ºÀÌ ±×·¸µíÀÌ ÀÚ½ÅÀº º¸³»´Â °÷ÀÇ Á¤º¸¸¸ Á¤È®È÷ º¸³»¾î °ÔÀÌÆ®¿þÀÌ·Î º¸³»±â¸¸ ÇÏ¸é µÈ´Ù´Â °ÍÀÌ´Ù. ±× ÀÌÈÄÀÇ °æ·Î³ª Ʋ¸° ³×Æ®¿öÅ©¶ó ÇÒÁö¶óµµ ±×°ÍÀº °¡Àå ¸»´Ü¿¡ ÀÖ´Â PC°¡ ½Å°æ½á¾ß ÇÒ ºÎºÐÀÌ ¾Æ´Ñ °ÍÀÌ´Ù. IP MasqueradeÀÇ ³»ºÎ routing tableÀÇ ³»¿ëÀ» Àá½Ã º¸ÀÚ. ¸®½ºÆ® 1 : IP MasqueradeÀÇ ³»ºÎ routing table [root@hmm-hmm hmm]# netstat -nr Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.1 * 255.255.255.255 UH 0 0 0 eth1 211.144.248.6 * 255.255.255.255 UH 0 0 0 eth0 211.144.248.0 * 255.255.255.128 U 0 0 0 eth0 192.168.1.0 * 255.255.255.0 U 0 0 0 eth1 127.0.0.0 * 255.0.0.0 U 0 0 0 lo default gw.hmm-gatewa 0.0.0.0 UG 0 0 0 eth0 ¸®½ºÆ® 1°ú °°Àº ³»¿ëÀ» º¸¸é ÇØ´ç ÀÎÅÍÆäÀ̽ºÀÇ IP¿Í °ÔÀÌÆ®¿þÀ̸¦ È®ÀÎÇØ º¼ ¼ö ÀÖ´Ù. eth0 -> 211.144.248.6 eth1 -> 192.168.1.1 Áï µÎ°³ÀÇ ·£Ä«µå¿¡ °¢±â ´Ù¸¥ IP¸¦ ºÎ¿©ÇÑ °ÍÀÌ´Ù. ±×¸®°í ¶ó¿ìÅͳª ½ºÀ§Ä¡¿¡¼­ ³ª¿À´Â ¼±À» eth0¿¡ Á¢¼Ó½ÃÅ°°í ´Ù½Ã eth1¿¡¼­ ³ª°¡´Â ¼±Àº ºÐ¹èÇÒ Çãºê³ª ½ºÀ§Ä¡¿¡ Á¢¼ÓÀ» ½ÃŲ´Ù. ±×·¯¸é ³»ºÎ PCÀÇ netstat»óŸ¦ º¸¸é ¸®½ºÆ® 2¿Í °°´Ù. ¸®½ºÆ® 2 : PCÀÇ netstat»óÅ [root@localhost guest]$ netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.1.24 0.0.0.0 255.255.255.255 UH 0 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 ¿ª½Ã ³»ºÎÀÇ ¸ðµç PCµéÀº °ÔÀÌÆ®¿þÀ̸¦ 192.168.1.1¹øÀ¸·Î Àâ°í ÀÖ´Â °ÍÀ» º¼ ¼ö ÀÖ´Ù. ±×·±µ¥ À§ÀÇ ¿¹¸¦ º¸¸é 192.168.1.~~ ÀÌ·± CŬ·¡½º ÁÖ¼Ò¸¦ »ç¿ëÇÏ°íÀÖ´Ù. ÀÌ´Â RFC1918¿¡ Á¤ÇØÁø ¸î °¡Áö Á¤ÀǸ¦ µû¸£´Â °ÍÀ¸·Î °¡´ÉÇϸé ÁöÄÑ ÁÖ´Â °ÍÀÌ ÁÁ´Ù. 10.0.0.0 - 10.255.255.255 172.16.0.0 - 172.31.255.255 192.168.0.0 - 192.168.255.255 º¸Åë À§ÀÇ 3°¡Áö ¹üÀ§ÀÇ IP´ë¿ªÀ» »ç¿ëÇÏ°í ÀÖÀ¸¸ç °¢ ÁÖ¼Ò¿¡ ¾î¿ï¸®´Â ³Ý¸¶½ºÅ© ¹× ºê·ÎµåÄɽºÆ®¸¦ Á¤ÀÇÇØ ÁÖ¾î¾ß ÇÑ´Ù. ±×·¯¸é ÀÌÁ¦ IP Masquerade¿¡ ÇÊ¿äÇÑ ¸î°¡Áö »çÇ×À» ¾Ë¾Æº¸ÀÚ . 2.2 Ä¿³ÎÄÄÆÄÀÏ Ä¿³ÎÀ» IP Masquerade¿¡ ¸Â°Ô ÄÄÆÄÀÏ ÇØ¾ß ÇÑ´Ù. ¸î°¡Áö ¿É¼ÇÀÌ ²À µé¾î°¡¾ß Çϴµ¥ ±× ¿É¼ÇÀº Ç¥ 1°ú °°´Ù. ~ Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL) [Y/n/?] ~ Enable loadable module support (CONFIG_MODULES) [Y/n/?] ~ Networking support (CONFIG_NET) [Y/n/?] ~ Packet socket (CONFIG_PACKET) [Y/m/n/?] ~ Kernel/User netlink socket (CONFIG_NETLINK) [Y/n/?] ~ Routing messages (CONFIG_RTNETLINK) [Y/n/?] NO ~ Network firewalls (CONFIG_FIREWALL) [Y/n/?] ~ TCP/IP networking (CONFIG_INET) [Y/n/?] ~ IP: advanced router (CONFIG_IP_ADVANCED_ROUTER) [Y/n/?] NO ~ IP: verbose route monitoring (CONFIG_IP_ROUTE_VERBOSE) [Y/n/?] ~ IP: firewalling (CONFIG_IP_FIREWALL) [Y/n/?] ~ IP: firewall packet netlink device (CONFIG_IP_FIREWALL_NETLINK) [Y/n/?] ~ IP: always defragment (required for masquerading) (CONFIG_IP_ALWAYS_DEFRAG) [Y/n/?] ~ IP: masquerading (CONFIG_IP_MASQUERADE) [Y/n/?] ~ IP: ICMP masquerading (CONFIG_IP_MASQUERADE_ICMP) [Y/n/?] ~ IP: masquerading special modules support (CONFIG_IP_MASQUERADE_MOD) [Y/n/?] ~ IP: ip fwmark masq-forwarding support (EXPERIMENTAL) (CONFIG_IP_MASQUERADE_MFW) [Y/m/n/?] NO ~ IP: optimize as router not host (CONFIG_IP_ROUTER) [Y/n/?] ~ IP: GRE tunnels over IP (CONFIG_NET_IPGRE) [N/y/m/?] NO ~ IP: TCP syncookie support (not enabled per default) (CONFIG_SYN_COOKIES) [Y/n/?] ~ Network device support (CONFIG_NETDEVICES) [Y/n/?] ~ Dummy net driver support (CONFIG_DUMMY) [M/n/y/?] ~ /proc filesystem support (CONFIG_PROC_FS) [Y/n/?] Ç¥ 1 : IP MasqueradeÀÇ ÄÄÆÄÀÏ¿¡ Àû¿ëµÇ´Â ¿É¼Çµé Ç¥ 1¿¡¼­ NO¶ó°í ¼³Á¤ÇÑ ºÎºÐ¸¸ »©°í ¸ðµÎ YES·Î Ç¥½Ã¸¦ ÇØÁÖ¾î¾ß ÇÑ´Ù. Ç¥ 1¿¡´Â ÀÏ´Ü Port Forwarding¿¡ ´ëÇÑ ºÎºÐÀº Ç¥½Ã°¡ µÇ¾î ÀÖÁö ¾Ê´Ù. Á¦´ë·Î Ä¿³Î ÄÄÆÄÀÏÀÌ µÇ¾ú´Ù¸é ´ÙÀ½À¸·Î´Â ¿À°í °¡´Â ÆÐŶÀÇ ±ÔÄ¢À» Á¤ÇØÁÖ¾î¾ß ÇÑ´Ù. ±×·±µ¥ ÀÌ ±ÔÄ¢À̶ó´Â °ÍÀÌ Á¶±Ý ±î´Ù·Î¿ï ¼öµµ ÀÖ¾î À߸øÇß´Ù°¡´Â ¸¶³É ¾Ê¾Æ¼­ ±â´Ù¸®´Â °æ¿ì°¡ »ý±æ ¼öµµ ÀÖ´Ù. À̹ø È£´Â Port Forwarding¿¡ °üÇÑ ³»¿ëÀ̹ǷΠ°£·«È÷ ±ÔÄ¢¿¡ ´ëÇؼ­¸¸ ¾Ë¾Æº¸µµ·Ï ÇÏ°Ú´Ù. 2.3 IP chains º¸Åë ¹æÈ­º® ±¸Ãà½Ã ¸¹ÀÌ ¾²¸ç ÀÌÀüÀÇ ipfwadm¿¡¼­ ÇÑÃþ Áøº¸µÇ¾ú´Ù ÇÒ ¼ö ÀÖ´Ù. ÆÐŶÀ» °É·¯³»´Âµ¥¿¡ ÀÖ¾î ¸¹Àº À¯¿ë¼ºÀ» ³ªÅ¸³»Áö¸¸ °ü¸®ÀÚÀÇ ´É·Âµµ ¿ä±¸°¡ µÉ ¼ö ÀÖ´Ù. ipchains¸¦ Çϱâ À§Çؼ­´Â ÆÐŶÀ» °É·¯³¾ ÁÙ ¾Ë¾Æ¾ß ÇÑ´Ù. °É·¯³½´Ù´Â Àǹ̴ ¾È¿¡¼­ ¹Ù±ùÂÊÀ¸·Î ³ª°¡´Â ÆÐŶ°ú ¹Û¿¡¼­ ¾ÈÀ¸·Î µé¾î¿À´Â ÆÐĹÀ» ÇϳªÀÇ µ¿±×¶õ ÆÑÀ¸·Î »ý°¢ÇÏ°í ±× °¢°¢À» °É·¯ÁÖ´Â ¿ªÇÒÀ̶ó°í »ý°¢ÇÑ´Ù¸é ½±´Ù. ÈçÈ÷ TCP´Â ¿¬°áÁöÇâÀ̸ç È®ÀÎ °¡´ÉÇÑ ÇÁ·ÎÅäÄÝÀ̶ó°í ¾Ë°í ÀÖ´Ù. Áï A¿¡¼­ B·Î ¾î¶² ¿äûÀ» ÇÒ ¶§ ½ÇÁ¦ÀûÀÎ µ¥ÀÌÅ͸¦ º¸³»±â Àü¿¡ ¾à°£ÀÇ Àλ縦 ÇÑ´Ù°í ÇÒ ¼ö ÀÖ´Ù. ¸¸¾à B¿¡¼­ °ÅÀýÀ» ÇÑ´Ù¸é A´Â Á¢¼ÓÀ» °ÅÀý´çÇÑ °ÍÀÌ°í B°¡ ÀÀ³«ÇÑ´Ù¸é Á¢¼ÓÀ» ½ÂÀÎ ¹Þ¾Ò´Ù°í ÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù. ºñÀ¯°¡ ÀûÀýÇÏÁö´Â ¾ÊÁö¸¸ Áö³­ È£¿¡ ¿ì¸®´Â MTA¿¡¼­ helo¿¡ ´ëÇØ ¾Ë¾Æº» ¹Ù°¡ ÀÖ´Ù. ¶ÇÇÑ Àü´Þ°úÁ¤Àº Å©°Ô input, output, forward Á¤µµ·Î ³ª´©¾î º¼ ¼ö ÀÖÀ¸¸ç ÀÌ °úÁ¤¿¡¼­ ±× ÆÐŶÀº µé¾î¿À°í Àü´ÞµÇ°í ³ª°¡´Â °ÍÀÌ´Ù. ±×·³ ÀåȲÇÏ°Ô ³ª¿Ã ¹ýÇÑ »ç¿ë¹ýÀ» Á¶±Ý¾¿ ¾Ë¾Æº¸µµ·Ï ÇÏÀÚ. 3. Æ÷Æ® Æ÷¿öµùÀÇ »ç¿ë¹ý ÀÌÀüÇÏ°í ¶È°°ÀÌ ¿¹Á¦¸¦ µÎ°í Çϳª¾¿ ¼³¸íÀ» ÇÔÀ¸·Î½á °¢°¢ÀÇ ¿É¼ÇÀ» ¾Ë¾Æº¸°í º¯°æÇØ º¸µµ·Ï ÇÏÀÚ. ´Ã °°Àº ¾ê±âÀÌÁö¸¸ ÁÁÀº ¿¹Á¦º¸´Ù ÁÁÀº ¼±»ýÀº ¾ø´Â °Í °°´Ù. 3.1 ¿¹Á¦ 1 1 #>ipchains -P forward DENY À§ÀÇ ÇÑ ÁÙÀÇ Á¤Ã¥À» »ý°¢ÇØ º¸ÀÚ. ¾ÆÁÖ °£´ÜÇÏ´Ù. '-P' ¿É¼ÇÀ» ÁÖ°í forward µÇ´Â ÆÐŶµéÀº °ÅºÎÇÑ´Ù¶ó°í »ý°¢ÇØ º¼ ¼ö ÀÖ´Ù. ±âº»ÀûÀÎ ÀÌÇØ´Â Á¤Ã¥°ú ±ÔÄ¢À¸·Î ³ª´©¾îº¸¾Ò´Ù. Á¤Ã¥Àº ±âº» °ñ°ÝÀ» ĪÇÏ¸ç ±ÔÄ¢Àº Á»´õ ÀÛÀº °³³äÀ¸·Î ¼¼ºÎÇ׸ñ¿¡ ´ëÇÑ ±ÔÄ¢À̶ó°í ÇÒ ¼ö ÀÖ´Ù. -A(--append) -D(--delete) -R(--replace): -I(--insert) -P(--policy) -N(--new-chain) -X(--delete-chain) -L(--list) -F(--flush) -Z(--zero) Á¤Ã¥¾È¿¡ ±ÔÄ¢À» µ¡ºÙÀδÙ. ÇÑ°³¶Ç´Â ±×ÀÌ»óÀÇ ¼±ÅÃµÈ ±ÔÄ¢À» Áö¿î´Ù. ¼±ÅÃµÈ ±ÔÄ¢À» »õ·Î¿î ±ÔÄ¢À¸·Î ´ëüÇÑ´Ù. Á¤Ã¥¼Ó¿¡ »õ·Î¿î ±ÔÄ¢À» ³Ö´Â´Ù. ±âº» Á¤Ã¥À» º¯°æÇÑ´Ù. »õ·Î¿î Á¤Ã¥¼ö¸³ÇÑ´Ù. Á¤ÀǵÇÁö ¾ÊÀº ±ÔÄ¢Àº Áö¿î´Ù. °¢ Á¤Ã¥À» ³ª¿­ÇÑ´Ù. ¸ðµçÁ¤Ã¥À» Áö¿î´Ù Á¤Ã¥¾È¿¡ÀÖ´Â ¸ðµç ±ÔÄ¢µéÀÇ ÆÐŶÀ̳ª Ä«¿îÅÍÀÇ ¹ÙÀÌÆ®°ªÀ» 0À¸·Î ÃʱâÈ­ÇÑ´Ù. Ç¥ 2 : °¢°¢ÀÇ ¿É¼Ç¿¡ ´ëÇÑ ¼³¸í Ç¥ 2ÀÇ Ç׸ñ´ë·Î¸é '-P'¿É¼ÇÀÌ ¹«¾ùÀÎÁö´Â ¾Ë¾ÒÀ» °ÍÀÌ´Ù. ±×·³ forward´Â ¹«¾ùÀΰ¡. ¿ø·¡ ipchains´Â 4°¡Áö ±ÔÄ¢¿¡ ÀÇÇØ ³ª´µ¾îÁ® ÀÖ´Ù. input chain, output chain, forwarding chain ±×¸®°í userdefined chainÀ¸·Î ³ª´µ¾îÁ® ÀÖ´Ù. ±¸Á¶´Â ´ÙÀ½°ú °°´Ù. -------------- -------------- -------------- ->packet-> input chain ->Local process-> forward chain -> output chain -------------- -------------- -------------- ±×¸²¿¡¼­ º¸¸é ¿ÏÀüÇÑ °æ·Î´Â ¾Æ´Ï´Ù. ´Ù¸¥ÂÊÀ¸·Î ÁøÇàµÇ¾î¾ß ÇÑ´Ù¸é forward¸¦ »ç¿ëÇÑ´Ù. ¸¶Áö¸·À¸·Î ACCEPT, REJECT, DENYÀÇ ¼¼°¡ÁöÀÇ ±¸ºÐÀ» Çغ¸µµ·Ï ÇÏ°Ú´Ù. ACCEPT´Â ´ç¿¬È÷ ¹Þ¾ÆµéÀδٴ ¶æÀÌ°í REJECT¿Í DENY´Â °ÅºÎÇÑ´Ù´Â ¶æÀε¥ REJECT´Â Ä£ÀýÇÏ°Ô '°ÅºÎµÇ¾ú½À´Ï´Ù'¶ó´Â ¸Þ½ÃÁö¸¦ º¸³»´Â °ÍÀÌ°í DENY´Â ºÒÄ£ÀýÇÏ°Ô ¾Æ¹«·± ÀÀ´äÀÌ ¾ø´Â °ÍÀ» ÀǹÌÇÑ´Ù. ¿©±â±îÁö À§ÀÇ ÇÑ ÁÙÀ» ¼³¸íÇϱâ À§ÇØ Á» ±æ°Ô ³ª¿­Çß´Ù. 3.2 ¿¹Á¦ 2 #>ipchains -A forward -s 192.168.1.0/24 -j MASQ Á¶±Ý ´õ ±äµíÇÑ ÇÑ ÁÙÀ» Á¢ÇÏ°Ô µÇ¾ú´Ù. Â÷±ÙÂ÷±Ù º¸¸é ÀÏ´Ü ±âÁ¸ÀÇ Á¤Ã¥ ¾È¿¡ forward chain¿¡¼­ -s (source)ÀÇ 192.168.1.0/24¿¡¼­ -j(jump)Çϴµ¥ MASQ(Masquerade)·Î jumpÇÑ´Ù¶ó´Â ¶æÀÌ´Ù. ¸î °¡Áö »ý¼ÒÇÑ µíÇÑ ³»¿ëÀ» º¸¸é '-s','-j'¸¦ º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÁÖ¼®À» ºÙÀÎ ±×´ë·Î source¿Í jump¸¦ °¡¸®Å²´Ù(Ç¥ 3 ÂüÁ¶). -p(--protocol) -s(--source) -sport(--source-port) -d(--destination) -dport(--destination-port) -icmp-type -j(--jump) -i(--interface) ÀÌ ±ÔÄ¢ÀÇ protocol ¹ß½ÅÁö ÁÖ¼Ò ¹ß½ÅÁö port(¸ðµçÁÖ¼Ò¿¡ ´ëÇؼ­) µµÂøÁö ÁÖ¼Ò µµÂøÁö port(¸ðµç ÁÖ¼Ò¿¡ ´ëÇؼ­) ICMP typeÀ» ³ªÅ¸³½´Ù. ÆÐŶÀ» Á¡ÇÁ½ÃŲ´Ù. ÀÎÅÍÆäÀ̽º¸¦ ÁöÁ¤ÇØÁØ´Ù. Ç¥ 3 : °¢°¢ÀÇ ¿É¼Ç¿¡ ´ëÇÑ ¼³¸í ÇÑ°¡Áö Á»´õ ¾Ë¾Æº¼ °ÍÀÌ ÀÖ´Ù¸é ÁÖ¼Ò Ç¥±â¹ýÀε¥ 192.168.1.0/24¶ó´Â Ç¥±â¹ýÀº ´Ù¸¥ ¸»·Î ¹Ù²Ù¾î º¸¸é 192.168.1.0/255.255.255.0 À̶ó°íµµ ÇÒ ¼ö ÀÖ´Ù. 192.168.1.0/24¸¦ CIDR Ç¥±â¹ýÀ̶ó°í Çϴµ¥ ÀÌ´Â ³Ý¸¶½ºÅ©¸¦ ÀÌÁø¼ö·Î ³ª´©¾úÀ» ¶§ ºñÆ®¼ö°¡ '1'ÀÎ °ÍÀÇ ¼ö¸¦ ³ªÅ¸³½ °ÍÀÌ´Ù. ½±°Ô »ý°¢Çؼ­ 255À» ÀÌÁø¼ö·Î ¹Ù²Ù¸é 11111111 ÀÌ°í ÀÌ°ÍÀÌ 3°³ ¸ð¿´À¸´Ï 8x3=24 °¡ µÇ´Â °ÍÀÌ´Ù. 3.3 ¿¹Á¦ 3 #>ipchains -A forward -s 192.168.1.0/24 -d 0.0.0.0/0 -j MASQ -i eth1 Á» ´õ º¹ÀâÇØ º¸ÀÌ´Â ¿¹Á¦ÀÌ´Ù. Àü´ÞµÇ´Â ¸ðµç ÆÐŶÀ» 192.168.1.0/24¿¡¼­ ¾î¶² °÷À¸·Î ³ª°¡°Å³ª MASQ·Î jumpÇÑ´Ù. ÀÎÅÍÆäÀ̽º´Â eth1¿¡¼­ ÀÌ·ç¾îÁø´Ù¶ó´Â ´ë·«ÀûÀÎ ±ÔÄ¢À̶ó°í ÀÌÇØÇØ º¼ ¼ö ÀÖ´Ù. ±×·³ ½ÇÁ¦ÀûÀ¸·Î Áö³­ È£¿¡¼­ ¹è¿î ¸ÞÀϼ­¹ö¿Í °ü·ÃµÇ¾î »ç¹«½Ç¿¡¼­ »ç¿ëÇÏ´Â ¹æÈ­º®¿¡´Â ¸ðµÎ Â÷´Ü½ÃŲ ÈÄ ÇÊ¿äÇÑ ¼­ºñ½º¸¸ ¿¬°á½ÃÄÑ »ç¿ëÇÏ°íÀÚ ÇÒ ¶§ ÇÊ¿äÇÑ Á¤Ã¥À» ¼ö¸³Çغ¸ÀÚ. ¸ÕÀú º¸¾È»ó µé¾î¿À´Â ¸ðµç ÆÐŶÀ» Â÷´ÜÇÑ´Ù. Áï ¾Æ¹« °Íµµ µé¾î¿À°í ³ª°¥ ¼ö ¾ø°Ô ¸¸µç ´ÙÀ½ ÇÊ¿äÇÑ »çÇ׸¸ ¿­¾îº¸µµ·Ï ÇÏÀÚ. ÁÖÀÇÇÒ °ÍÀº È£½ºÆ® ·¹º§¿¡¼­ÀÇ ¼³Á¤ÀÌ´Ù. Áï ÇÑ °³ÀÇ È£½ºÆ® º¸¾ÈÁ¤µµ·Î º¸¾Æµµ µÈ´Ù. ÇÑ ³×Æ®¿öÅ©¸¦ Àâ°í ÀÖ´Â ¹æÈ­º® ¼³Á¤Àº ¾Æ´Ï¶ó´Â °ÍÀÌ´Ù. ÇÏÁö¸¸ Á¶±Ý À¶Å뼺À» ¹ßÈÖÇÑ´Ù¸é ÃæºÐÈ÷ ³×Æ®¿öÅ© ·¹º§·Îµµ º¯°æÀÌ °¡´ÉÇÏ´Ù. ±¸ºÐÇϱâÀ§ÇØ ¼³¸íºÎºÐÀº /* ~ */À¸·Î ¹­±â·Î ÇÏ°Ú´Ù. ¸®½ºÆ® 3 : #>ipchains -A forward -s 192.168.1.0/24 -d 0.0.0.0/0 -j MASQ -i eth1 #>cat > firewall.sh #!/bin/sh ipchains -P input DENY ipchains -P output REJECT ipchains -P forward REJECT /* ¸ÕÀú µé¾î¿À°í ³ª°¡°í Àü´ÞµÇ´Â ±âº» ±ÔÄ¢ÀÎ ¸ðµç °ÍÀ» ´Ù °ÅºÎÇÑ´Ù. */ ipchains -A input -f -s 0/0 -d 0/0 -i eth0 -j DENY -l /* -f ¿É¼ÇÀº ¾ÆÁÖ ÀÛÀº Á¶°¢±îÁöµµ °ÅºÎÇϱâÀ§ÇØ ¼³Á¤ÇÑ °ÍÀÌ´Ù.(-f:fragment)*/ ipchains -A input -i lo -j ACCEPT ipchains -A output -i lo -j ACCEPT /*·ÎÄà loopback¿¡ ´ëÇؼ­´Â ¸ðµÎ Çã¿ëÀ» ÇÑ´Ù.*/ ##Mail /*¿©±â¼­ºÎÅÍ ¸ÞÀÏÀ» ÁÖ°í¹Þ±â À§ÇÑ ¼³Á¤ÀÌ µé¾î°£´Ù. ±âº»ÀûÀ¸·Î ipchains°¡ ¿òÁ÷ÀÌ´Â ¸Ó½ÅÀ» Áß½ÉÀ¸·Î º¸¾ÒÀ» ¶§ ³ª°¡°í µé¾î¿À´Â ÆÐŶ¿¡ ´ëÇÑ ¼³Á¤À» Àâ¾Ò´Ù.*/ #outgoing ipchains -A output -p tcp -s 192.168.1.5 1024:65535 -d 0/0 25 -j ACCEPT /*192.168.1.5(1024-65535 port)¿¡¼­ 0/0 (25 port) ·Î ³ª°¡´Â ¸ðµç tcp ÆÐŶµéÀº ¹Þ¾Æµé¿©Áø´Ù. ¿©±â¿¡¼­ ÇÑ°¡Áö ¸ðµç ÁÖ¼Ò¿¡¼­ÀÇ ¾î¶² Æ÷Æ®¶ó¸é À§¿¡¼­Ã³·³ / ÀÌ·¸°Ô Ç¥±âÇÏ´Â °Íº¸´Ù´Â Á»´õ È¿À²ÀûÀ¸·Î Ç¥±âÇÒ ¼ö ÀÖ´Ù. À§¿¡¼­ ¼³¸íµÈ ¿É¼Ç Áß ÇϳªÀÎ --sport ¿Í --dport°¡ ±×°ÍÀÌ´Ù. ¸¸¾à ¸ðµç ÁÖ¼Ò¿¡¼­ÀÇ 1024ºÎÅÍ 65535¹ø±îÁöÀÇ Æ÷Æ®¸¦ Ç¥±âÇÑ´Ù¸é --sport 1024:65535 ¶ó°í Ç¥±â°¡ °¡´ÉÇÏ´Ù. ȤÀº --dport 1024:65535 ÀÌ·¸°Ô °£´ÜÇÏ°Ô Ç¥±âÇÏ´Â ¹æ¹ýÀÌ ÀÖ´Ù´Â °ÍÀ» ¾Ë¾ÆµÎÀÚ. */ ipchains -A input -p tcp ! -y -s 0/0 25 -d 192.168.1.5 1024:65535 -j ACCEPT /*¿©±â¿¡¼­ ÇÑ°¡Áö Ãß°¡µÈ °ÍÀº ! -y¿É¼ÇÀÌ´Ù.'!'Àº 'not'ÀÇ ÀǹÌÀÌ´Ù.'-y'´Â syn ÆÐŶÀ» ÀǹÌÇÑ´Ù. ±×·³ '-y'¿É¼ÇÀ» ¾Ë±â À§ÇÏ¿© TCP ¿¬°á 3´Ü°è(three-way handshaking)¿¡ ´ëÇؼ­ °£·«È÷ ¾Ë¾Æº¸ÀÚ(±×¸² 4 ÂüÁ¶). ±×¸² 4 : TCP ¿¬°á 3´Ü°èÀÇ °è·«µµ SYN : Synchronize Sequence Number ACK : Acknowledge Number ISN : Initial Sequence Number ¸ÕÀú È£½ºÆ® A¿¡¼­ Synbit¸¦ ¼³Á¤ÇØ ISN¸¦ ¸¸µç´Ù. ±×¸®°í B¿¡ º¸³»¸é B´Â A¿¡¼­ ¹ÞÀº ISN¿¡ +1À» ÇÑ ´ÙÀ½ ÀÚ½ÅÀÇ ISN°ú °°ÀÌ È£½ºÆ® A¿¡°Ô º¸³»°Ô µÈ´Ù.È£½ºÆ® A´Â ´Ù½Ã È£½ºÆ® B¿¡°Ô¼­ ¹ÞÀº ISN¿¡ +1À» ÇÑ ´ÙÀ½ È£½ºÆ® B¿¡°Ô º¸³»°Ô µÈ´Ù. ÀÌ·¸°Ô ¼­·Î¸¦ È®ÀÎÇÏ´Â ÀÛ¾÷À» °ÅÃÄ ¿¬°áÀÌ ¼º¸³ÀÌ µÈ´Ù. Á¶±Ý »ý¼ÒÇÑ ´Ü¾î¿¡ ´ëÇØ »ó´çÈ÷ ¾î·Á¿ï ¼ö Àִµ¥ ´Ù½Ã »ý°¢ÇØ º¸¸é synÀº µ¿±âÈ­ ½ÃÅ°±â À§ÇÑ ÀÏ·Ã ¹øÈ£¶ó°í Ç®¾îº¼ ¼ö ÀÖ´Ù. ÀÌ´Â TCPÀÇ ¿¬°áÁöÇâÀ̶ó´Â Ư¼º°úµµ Àß ¾î¿ï¸°´Ù. ±×¸®°í ±×¿¡ ´ëÇÑ ÃʱⰪÀ¸·Î ISNÀ» º¸³½´Ù. ÀÌ´Â ¿¬°áÇϱâ À§ÇÑ ÃʱⰪ Á¤µµ·Î »ý°¢À» ÇÑ´Ù. º¸Åë óÀ½ ¿¬°áÀ» ÇϱâÀ§ÇØ º¸³»´Â ISN°ªÀº random°ªÀ¸·Î »ç¿ëÇÑ´Ù. ±×·³ ´Ù½Ã À§ÀÇ ³»¿ëÀ¸·Î °¡¼­ ¸ÞÀÏÀ» º¸³»±â À§ÇØ 25¹ø Æ÷Æ®·Î Á¢¼Ó ÇÒ ¶§ Ŭ¶óÀ̾ðÆ®ÂÊ¿¡¼­ Á¢¼ÓÀ» ¿äûÇß°í ±× ´ÙÀ½ ´Ù½Ã ¼­¹öÂÊ¿¡¼­ ¿À´Â syn, ack¸¦ ¹Þ°í ´ÙÀ½À¸·Î ¿¬°áÀ» ¼º¸³½ÃÅ°±â À§ÇØ ' ! -y '¶ó´Â ¿É¼ÇÀ» ÁØ °ÍÀÌ´Ù. ¸¸¾à '!' ¿É¼ÇÀ» ÁÖÁö ¾Ê´Â´Ù°í ÇßÀ» ¶§¸¦ »ý°¢ÇØ º¸ÀÚ. ¿äûÇÑ ÂÊ¿¡¼­´Â synÀ» º¸³Â°í ¹Þ´Â ÂÊ¿¡¼­´Â ´Ù½Ã ÀÚ½ÅÀÇ syn°ú ack¸¦ º¸³»¾ß Çϴµ¥ '!'ÀÌ ¾ø´Ù¸é syn¸¸ ¿äûÇÑ ÂÊÀ¸·Î ³Ñ¾î°¡°í ack´Â ³Ñ¾î°¡Áö ¾Ê´Â´Ù. ±×·¯¹Ç·Î ¿äûÇÑ ÂÊ¿¡¼­´Â ÀÚ½ÅÀÌ º¸³½ ISN+1ÀÇ °ªÀ» ¹ÞÁö ¸øÇϹǷΠ¿¬°áÀÌ ¼º¸³ÀÌ µÇÁö ¾Ê´Â´Ù. ½±°Ô ¾ê±âÇؼ­ ¼­·Î°£ÀÇ ¿¬°á È®ÀÎÀýÂ÷ Á¤µµ·Î ÀÌÇØÇÏ¸é µÈ´Ù. ÀÌ ¼³Á¤À» ¿ä¾àÇغ¸¸é ¾î¶² ÁÖ¼ÒÀÌ´øÁö 25¹ø Æ÷Æ®¿¡¼­ 192.168.1.5¹øÀÇ 1024-65535¹øÀ¸·Î µé¾î¿À´Â ¸ðµç ÆÐŶµéÀº ²À synÀÌ ¾Æ´Ï´õ¶óµµ ÆÐŶÀ» ¹Þ¾ÆµéÀδٶó´Â ¶æÀ¸·Î Çؼ®ÇØ º¼ ¼ö ÀÖ´Ù. ±×·³ ÇØ´ç È£½ºÆ®¸¦ ±âÁØÀ¸·Î ³ª°¡´Â ÆÐŶÀ» Á¶Á¤ÇØ º¸¾ÒÀ¸¸é µé¾î¿À´Â ÆÐŶµµ Çѹø Á¶Á¤ÇØ º¸ÀÚ. À̰͵µ ¿ª½Ã ipchains¸¦ ±âÁØÀ¸·Î µé¾î¿ÈÀ» ¸í½ÃÇÑ´Ù. */ #incoming ipchains -A input -p tcp -s 192.168.1.0/24 1024:65535 -d 192.268.1.5 25 -j ACCEPT /* 192.168.1.0/24 (1024-65535 port )¿¡¼­ µé¾î¿À´Â ¸ðµç TCP ÆÐŶµéÀº 192.168.1.5 ÀÇ 25¹ø Æ÷Æ®·Î µé¾î¿ÈÀ» Çã¿ëÇØ Áشٴ °ÍÀÌ´Ù. ±×·¡¾ß ¸ÞÀÏÀ» ¹Þ¾Æº¼ ¼ö Àֱ⠶§¹®ÀÌ´Ù. .*/ ipchains -A output -p tcp ! -y -s 192.168.1.5 25 -d 192.168.1.0/24 1024:65535 -j ACCEPT /* ¿ª½Ã ¸¶Âù°¡Áö·Î 3-way handshaking ¿¡ ÀÇÇØ '-y' ¿É¼ÇÀ» ÁÖ¾î óÀ½ ¹ÞÀº synÀÌ¿Ü¿¡ ÀÀ´ä syn,ack°¡ ´Ù½Ã ¿Ã ¼ö ÀÖµµ·Ï ¼³Á¤À» ÇÑ´Ù. */ ^C À§ÀÇ ¸î ÁÙ ¾ÈµÇ´Â ±ÔÄ¢À» Çѹø ½ÃÇèÇØ º¼ ÇÊ¿äµµ ÀÖÀ» °ÍÀÌ´Ù.¾î·ÆÁö ¾ÊÀ¸´Ï ±×´ë·Î °¡Á®´Ù°¡ Å×½ºÆ®¸¦ À̸®Àú¸® Çغ¼¸¸ÇÏ´Ù. À§¿¡¼­ ¸í½ÃÇÑ ¹æ¹ýÀº ¾ÆÁÖ ±âÃÊÀûÀÎ ¹æ¹ýÁßÀÇ ÇϳªÀÌ°í ´õ ¸¹Àº ´õ ÈǸ¢ÇÑ ¹æ¹ýµéÀÌ ÀÎÅÍ³Ý »ó¿¡ Á¸ÀçÇÑ´Ù. ÁÁÀº ¿¹Á¦µéÀº °¡Á®´Ù°¡ »ç¿ëÇغ¸°í ¼öÁ¤Çϸ鼭 Á÷Á¢ »ç¿ëÇØ º¸±æ ¹Ù¶õ´Ù. ±×¸®°í À̹ø È£´Â ipchains¿¡ ´ëÇѱÛÀÌ ¾Æ´Ï¹Ç·Î ¾ÆÁÖ ±âº»ÀûÀÎ °Í¸¸ ¾Ë¾Æº¸°í ³Ñ¾î°¡µµ·Ï ÇÑ´Ù. 4. Àû¿ëÇϱ⠱׷³ ÀÌÁ¦ ½ÇÁúÀûÀÎ port forwardingÀ» Å×½ºÆ®¸¦ Çغ¸ÀÚ. À§ÀÇ µÎ°¡Áö IP Masquerade°ú IP chains¸¦ ÃæºÐÈ÷ ÀÌÇØÇß´Ù¸é ±×¸® ¾î·ÆÁö ¾ÊÀº Àû¿ëÀ» ÇÒ ¼ö ÀÖÀ» °ÍÀ̶ó »ý°¢ÇÑ´Ù. ¸ÕÀú ³»ºÎ ³×Æ®¿öÅ©ÀÇ »óŸ¦ ¸ÂÃß¾î ³õ°í ½ÃÀÛÇØ º¸ÀÚ. ½ºÀ§Ä¡¿¡¼­ ³ª¿À´Â ¼±À» IP Masquerad µÈ ¼­¹öÀÇ eth0¿¡ ¹°·Á ³õ°í ´Ù½Ã eth1¿¡¼­ ¼±À» ¹°·Á Çãºê¿¡ ¹°¸°´Ù. ±×¸®°í ±× ¹Ø´Ü¿¡ °¡»óÀ¸·Î »ç¿ëÇÒ ¸®´ª½º ¹Ú½ºµéÀ» ³õ´Â´Ù. ============ Switch ============ | IP Masquerade | ----------------- -----------> eth0(211.144.248.6) °øÀÎ IP <----------- eth1(192.168.1.1) °¡»ó IP | ----------------- | |-------- 192.168.1.2/24 WEB | ============== | |--------------->-----------------> HUB --|-------- 192.168.1.3/24 Mail ============== | |-------- 192.168.1.4/24 FTP ¾ÆÁÖ ÈǸ¢ÇÑ ±×¸²ÀÌ µÇ¾ú´Ù. À§¿¡¼­ º¸¸é Çãºê ÇÏ´Ü¿¡ ¹°¸° 3´ëÀÇ ¼­¹ö´Â °¢±â web, mail, ftp ¼­¹ö¿ëÀ¸·Î »ç¿ëÇÒ °ÍÀÌ°í ¹Û¿¡¼­´Â ãÁö ¸øÇÒ °¡»ó IPÂÊÀ¸·Î forwardingÀ» ½ÃÄÑÁÙ ¼­¹ö´Â Çãºê À­´Ü¿¡ ÀÖ´Â ¼­¹ö°¡ µÈ´Ù. ±×¸²ÀÌ ¾û¼ºÇØ ºê¸´Áöó·³ ³ª¿Í ÀÖÁö¸¸ »ç½ÇÀº IP Masquerade ¼­¹ö¶ó »ý°¢ÇÑ´Ù. ¿ÜºÎ¿¡¼­ ´©±º°¡ 211.144.248.6¹øÀ¸·Î À¥ Á¢¼ÓÀ» ½ÃµµÇØ ¿Â´Ù¸é IP Masquerade ¼­¹ö¿¡¼­ ¼³Á¤ÇÑ´ë·Î ÀÚ½ÅÀÇ ³»ºÎ ³×Æ®¿öÅ©ÀÎ 192.168.1.2¹øÀ¸·Î forwardingÀ» ½ÃÄÑÁØ´Ù. ÀÌ´Â À§¿¡¼­ óÀ½¿¡µµ Çß´ø ºÎºÐÀÌ´Ù. ±×·³ port forwarding¿¡ ÇÊ¿äÇÑ °ÍµéÀº ¹«¾ùÀÎÁö ¾Ë¾Æº¸ÀÚ. ¸ÕÀú Ä¿³Î ÄÄÆÄÀϽà port forwarding¿¡ ´ëÇѺκÐÀ» yesÇØÁÖ¾î¾ß ÇÏ°í port forwardingÀ» ÇØÁÖ´Â À¯Æ¿¸®Æ¼¸¦ ¼³Ä¡ÇÑ ÈÄ ¼³Á¤À» ÇØÁÖ¸é µÈ´Ù. ~ IP: ipportfw masq support (EXPERIMENTAL) (CONFIG_IP_MASQUERADE_IPPORTFW) [Y/m/n/?] YES ÀÌ ¿É¼ÇÀº À§¿¡¼­ Çß´ø Ä¿³Î ÄÄÆÄÀÏ ¿É¼Ç¿¡ ´õÇØÁÖ¸é µÈ´Ù. ±×¸®°í ipmasqadmÀ̶ó´Â À¯Æ¿À» ¼³Ä¡ÇØÁØ´Ù. º¸Åë ÆÐŰ¡ÀÌ µÇ¾î¼­ ³ª¿À±âµµ ÇÏ°í ¾øÀ¸¸é ¼Ò½º¸¦ °¡Á®´Ù°¡ ¼³Ä¡¸¦ ÇÏ¸é µÈ´Ù. ¼³¸í¼­¸¦ Àо¸é mfw ¿Í autofw ¸¦ °°ÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù°í ³ª¿Ô´Âµ¥ Ä¿³Î ÄÄÆÄÀϽà ¿É¼ÇÀ» ³ÖÁö ¾ÊÀº ÀÌÀ¯´Â ÇöÀç´Â °ÅÀÇ ¾²ÀÌÁö ¾Ê°í Àֱ⠶§¹®ÀÌ´Ù. »ç¿ë¹æ¹ýÀº ipmasqadm portfw ÀÌ´Ù. ÀÌ·¸°Ô ÇÏ¸é µµ¿ò¸»ÀÌ ³ª¿Â´Ù. #> ipmasqadm portfw -h Usage: portfw -a -P PROTO -L LADDR LPORT -R RADDR RPORT [-p PREF] add entry portfw -d -P PROTO -L LADDR LPORT [-R RADDR RPORT] delete entry portfw -f clear table portfw -l list table portfw -n no names PROTO is the protocol, can be "tcp" or "udp" LADDR is the local interface receiving packets to be forwarded. LPORT is the port being redirected. RADDR is the remote address. RPORT is the port being redirected to. PREF is the preference level (load balancing, default=10) À§¿Í °°Àº µµ¿ò¸»ÀÇ ³»¿ëÀÌ ³ª¿À°í ±×¸® ¾î·ÆÁö ¾ÊÀº ³»¿ëÀÌ´Ù. Á÷Á¢ Àû¿ëÀ» Çغ¸ÀÚ. ¸ÕÀú ±âº»ÀûÀÎ »çÇ×À¸·Î ¸ðµç Àü´ÞµÇ´Â ÆÐŶÀº °ÅºÎÇÏ°í 192.168.1.0/24¿¡¼­ ¿À´Â ¸ðµç ÆÐŶÀº IP Masquerade ¼­¹ö·Î º¸³»º¸ÀÚ. #>cat > masq.sh #!/bin/sh ipchains -F ipchains -P forward DENY ipchains -A forward -s 192.168.1.0/24 -j MASQ ^C ¸¸¾à À¥ ¼­ºñ½º¸¸ ÇÏ°í ½Í´Ù¸é À§¿¡¼­ MailÀ» ¼³Á¤ÇßµíÀÌ ¶È°°ÀÌ ¼³Á¤ÇØÁÖ¸é µÈ´Ù. ±×¸®°í ³ª¼­ ipmasqadmÀ¸·Î ÇØ´ç Æ÷Æ®¸¦ ¹Ð¾îÁÖ´Â ¼³Á¤À» ÇÏ¸é µÈ´Ù. ¸ÕÀú eth0(211.144.248.6) ÀÇ 80¹ø Æ÷Æ®·Î ¿À´Â ¸ðµç ÆÐŶÀº 192.168.1.2¹øÀÇ 80¹ø Æ÷Æ®·Î ¹Ð¾îÁÖ´Â ¼³Á¤°ú eth0(211.144.248.6) ÀÇ 25¹øÀ¸·Î ¿À´Â ¸ðµç ÆÐŶÀº 192.168.1.3 ÀÇ 25¹ø Æ÷Æ®·Î º¸³»¾î º¸ÀÚ. Á¤È®È÷ È®ÀÎÇϱâ À§Çؼ­ 211.144.248.6ÀÇ ¸ðµç ¼­ºñ½º µ¥¸óµéÀº ÀüºÎ ´Ù¿î ½ÃŲ´Ù(web,mail,ftp). #>ipmasqadm portfw -a -P tcp -L 211.144.248.6 80 -R 192.168.1.2 80 ¼³Á¤Àº '-P' ÀÌÈÄ¿¡ ÇØ´ç protocolÀ» Àû°í '-L' ´ÙÀ½¿£ ¿ÜºÎ¿¡¼­ ¹Þ¾ÆµéÀÏ ÁÖ¼Ò¿Í Æ÷Æ®¸¦ '-R' ´ÙÀ½¿£ ³»ºÎ ³×Æ®¿öÅ©·Î º¸³»°í½ÍÀº ÁÖ¼Ò¿Í Æ÷Æ®¸¦ Àû¾îÁØ ÈÄ È®ÀÎÇغ¸ÀÚ. #>ipmasqadm portfw -l prot localaddr rediraddr lport rport pcnt pref TCP ipmasq.hmm-hm web.hmm-hmm. www www 3 10 #>ipmasqadm portfw -ln prot localaddr rediraddr lport rport pcnt pref TCP 211.144.246.6 192.168.1.2 80 80 3 10 ¿É¼Ç µÎ°¡ÁöÀÇ Â÷ÀÌ´Â ´«À¸·Î º¼ ¼ö ÀÖ´Ù. ±×¸®°í ³ª¼­ Á¤¸» Á¦´ë·Î Á¢¼ÓÀÌ µÇ´ÂÁö È®ÀÎÇØ º¸±â À§ÇØ 192.168.1.2¹øÀÇ DocumentRoot¿¡ index.htmlÀÇ ³»¿ëÀ» Àû¾î³Ö´Â´Ù. ÇÊÀÚ´Â 'Portforwarding............YOON'À̶ó´Â ¸Þ½ÃÁö¸¦ ÇÑ ÁÙ ³Ö¾ú´Ù.±×¸®°í 211.144.246.6¼­¹öÀÇ À¥ µ¥¸óÀº Àá½Ã ´Ù¿î½ÃŲ´Ù. ´Ù½Ã °øÀÎ IP¸¦ °¡Áø °÷ ¾Æ¹« °÷¿¡¼­³ª ÀÌ·¸°Ô Å×½ºÆ®¸¦ Çغ»´Ù. #>telnet 211.144.246.6 80 Trying 211.144.246.6... Connected to 211.144.246.6. Escape character is '^]'. ÀÌ·¸°Ô ³ª¿À¸é 'GET /index.html '¶ó°í ÀÔ·ÂÀ» ÇÑ´Ù. ±×·¯¸é ¾Æ·¡¿Í °°Àº ³»¿ëÀÌ ³ª¿Â´Ù. test portfowrarding
Portforwarding............YOON
Connection closed by foreign host. À§ÀÇ ³»¿ëÀº Á÷Á¢ ºê¶ó¿ìÀú·Î È®ÀÎÇØ º¸¸é ´õ¿í È®½ÇÈ÷ ¾Ë°Ô µÉ °ÍÀÌ´Ù. ÇÑ°¡Áö ´õ Ãß°¡ÇØ º¸ÀÚ. ¸ÞÀÏ ¼­ºñ½º¸¦ À§¿¡¼­ °èȹÇÑ ´ë·Î Ãß°¡Çغ¸ÀÚ. 211.144.246.6:25->192.168.1.3:25·Î forwardingÇÏ´Â °ÍÀÌ´Ù. ¿ª½Ã °°Àº ¹æ¹ýÀ¸·Î ´ÙÀ½°ú °°ÀÌ Çغ¸ÀÚ. #>ipmasqadm portfw -a -P tcp -L 211.144.248.6 25 -R 192.168.1.3 25 À§ÀÇ ³»¿ëÀ» È®ÀÎÇØ º¸¸é ´ÙÀ½°ú °°´Ù. #> ipmasqadm portfw -ln prot localaddr rediraddr lport rport pcnt pref TCP 211.144.248.6 192.168.1.2 80 80 3 10 TCP 211.144.248.6 192.168.1.3 25 25 6 10 °£´ÜÈ÷ Å×½ºÆ®¸¦ Çغ¸ÀÚ. #>telnet 211.144.248.6 25 220 localhost.localdomain ESMTP Sendmail 8.10.1/8.10.1; Fri, 10 Nov 2000 01:50:15 +0900 Á¢¼ÓÀÌ µÇ¾ú´Ù. ºÐ¸í IP Masquerade ¼­¹ö¿¡¼­´Â ¸ÞÀϼ­¹ö¸¦ Á׿´´Âµ¥ ¸ÞÀϼ­¹ö¿¡ Á¢¼ÓÀÌ µÇ¾ú´Ù. Àλ縦 °£´ÜÈ÷ Çغ¸ÀÚ . helo yoon 250 localhost.localdomain Hello yoon.hmm.co.kr [----------], pleased to meet you *´Â º»ÀÎÀÇ IPÀ̹ǷΠ»èÁ¦ÇÏ¿´½À´Ï´Ù. Àλ縦 ÇÏÀÚ ´ä½ÅÀÌ ¹Ù·Î ³ª¿Â´Ù. Á»´õ ÀÚ¼¼È÷ ¾Ë¾Æº¸·Á¸é network status¸¦ ÀÌ¿ëÇÏÀÚ. #>netstat -nMc prot expire source destination ports tcp 715826:23.06 192.168.1.3 <----IP-----> 25 -> 59135 (25) À§¿Í °°ÀÌ È®ÀÎÇØ º¼ ¼ö ÀÖ´Ù. ÀÌ»óÀ¸·Î Æ÷Æ® Æ÷¿öµù¿¡ ´ëÇؼ­ ´ë·«ÀûÀ¸·Î ¾Ë¾Æº¸¾Ò´Ù. ¾îÂ¸é º°·Î ½Å±âÇÒ °Íµµ ¾î·Á¿ï °Íµµ ¾ø´Â ¹æ½ÄÀÌÁö¸¸ À¯¿ëÇÏ°Ô »ç¿ëÇØ º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±×¸®°í ¿©±â¿¡ »ç¿ëµÈ ipchains,IP Masquerade µîÀº ¾ÆÁÖ ±âÃÊÀûÀÎ ºÎºÐ¸¸ ´Ù·ç¾úÀ¸¹Ç·Î ´õ ³ªÀº ¹®¼­¿Í ¼­ÀûÀ¸·Î º¸ÃæÇϱ⠹ٶõ´Ù. Á¤¸® : ¸ð»óÁø ±âÀÚ [msj7317@pserang.co.kr]