³×Æ®¿÷ Æ®·¡ÇÈ ºÐ»ê ¹× IP Masquerading, ±×¸®°í PPP¿Í °ü·ÃÇÏ¿© ¸®´ª½º ¹æÈº®¿¡ ¼³Ä¡ÇØ¾ß ÇÒ ¼ÒÇÁÆ®¿þ¾î¸¦ »ìÆìº¸ÀÚ. ÇÊÀÚÀÇ ¸®´ª½º ¹æÈº®¿¡ ¼³Ä¡µÇ¾î ÀÖ´Â ¼ÒÇÁÆ®¿þ¾î ¸ñ·ÏÀº ¾Æ·¡¿Í °°´Ù.
iproute-20001007
iptables-1.2.4
ppp-2.4.1
pppoe-3.2
iproute´Â iproute2 ¶ó´Â À̸§ÀÇ ¼ÒÇÁÆ®¿þ¾îÀÌ¸ç µ¥ºñ¾È¿¡¼´Â iproute ¶ó´Â À̸§ÀÇ ÆÐŰÁö·Î ¹èÆ÷Çϰí ÀÖ´Ù. ÀÌ ¼ÒÇÁÆ®¿þ¾î´Â ±âÁ¸ÀÇ route ¸í·ÉÀ» ´ëüÇÏ´Â ¸í·É¾î(ip)¸¦ Æ÷ÇÔÇϰí ÀÖÀ¸¸ç ³×Æ®¿÷ ´ë¿ªÆøÀ» Á¶ÀýÇÏ´Â ¸í·É¾î(tc)µµ Æ÷ÇԵǾî ÀÖ´Ù.
iptables´Â Ä¿³Î 2.2¿¡¼ Á¦°øÇÏ´ø ipchains¸¦ ´ëüÇÏ´Â ¸í·É¾î·Î ipchainsº¸´Ù ¸¹Àº ±â´ÉÀ» Á¦°øÇÑ´Ù.
º»·Ð¿¡ µé¾î°¡±â Àü¿¡ ³×Æ®¿÷ Æ®·¡ÇÈÀ» ºÐ»ê½Ã۱â À§Çؼ ¹â¾Æ¾ß ÇÒ ¼ø¼¸¦ ¤¾îº¸ÀÚ.
¸ÕÀú Æ®·¡ÇÈ ºÐ»ê Á¤Ã¥À» °áÁ¤ÇØ¾ß ÇÒ °ÍÀÌ´Ù. Áï, a Á¾·ùÀÇ ÆÐŶÀº 1¹ø ¹®À¸·Î ³»º¸³»°í, b Á¾·ùÀÇ ÆÐŶÀº 2¹ø ¹®À¸·Î ³»º¸³½´Ù´Â ½ÄÀÇ Á¤Ã¥À» °áÁ¤ÇØ¾ß ÇÒ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ Á¤Ã¥À» °áÁ¤Çϱâ À§Çؼ´Â °í·ÁÇØ¾ß ÇÒ °ÍÀÌ ¸î°¡Áö ÀÖÀ» °ÍÀÌ´Ù. ¿¹¸¦ µé¸é, ²÷±èÀÌ ¾ø¾î¾ß ÇÏ´Â ÆÐŶÀº Àü¿ë¼± ÂÊÀ¸·Î ³»º¸³»°í, ±×·¸Áö ¾ÊÀº ÆÐŶÀº ADSL ÂÊÀ¸·Î ³»º¸³½´Ù´Â ½ÄÀÌ´Ù. ±×¸®°í ÀüüÀûÀÎ ³×Æ®¿÷ Æ®·¡ÇÈÀÇ ¾çµµ °¨¾ÈÇØ¾ß ÇÒ °ÍÀÌ´Ù.
±× ´ÙÀ½, °áÁ¤µÈ Á¤Ã¥¿¡ µû¶ó¼ ip ¸í·ÉÀ¸·Î ¶ó¿ìÆÃ ·êÀ» ¼³Á¤Çϰí, ¶ó¿ìÆÃ Å×À̺íÀ» ¸¸µé¾î¾ß ÇÑ´Ù. ±×¸®°í ³»º¸³¾ ÆÐŶ°ú ³»º¸³»Áö ¾ÊÀ» ÆÐŶ, µé¾î¿Í¼´Â ¾ÈµÇ´Â ÆÐŶ µîÀ» ±¸ºÐÇÏ¿© ÇÊÅ͸µÀ» ÇÒ ¿¹Á¤À̶ó¸é iptables ¸í·ÉÀ¸·Î ÆÐŶÀ» ¾î¶»°Ô °É·¯³¾ °ÍÀÎÁö ¼³Á¤ÇÑ´Ù. ±×¸®°í iptables ¸í·ÉÀ¸·Î Masquerading ¼³Á¤À» ÇÑ´Ù. ¾Æ·¡¿¡ ±× ¼ø¼¸¦ °£´ÜÇÏ°Ô Á¤¸®ÇÏ¿´´Ù.
³×Æ®¿÷ Æ®·¡ÇÈ ºÐ»ê Á¤Ã¥À» °áÁ¤ÇÑ´Ù.
ºÐ»ê Á¤Ã¥¿¡ µû¶ó¼ ¶ó¿ìÆÃ ·êÀ» ¼³Á¤ÇÑ´Ù.
ºÐ»ê Á¤Ã¥¿¡ ÇØ´çÇÏ´Â ¶ó¿ìÆÃ Å×À̺íÀ» ¼³Á¤ÇÑ´Ù.
iptables ¸í·ÉÀ¸·Î ÇÊÅ͸µ ·êÀ» ¼³Á¤ÇÑ´Ù.
iptables ¸í·ÉÀ¸·Î MasqueradingÀ» ¼³Á¤ÇÑ´Ù.
3Àý¿¡¼ ¼³¸íÇÑ ³×Æ®¿÷ ȯ°æÀ» ±âÁØÀ¸·Î ÇÏ¿©, ³×Æ®¿÷ Æ®·¡ÇÈÀ» ¼ºê³×Æ®¿÷ º°·Î ºÐ»ê½ÃŰ´Â »óȲÀ» °¡Á¤ÇÑ´Ù. ¾Æ·¡´Â ¸®´ª½º ¹æÈº®¿¡ ¼³Á¤µÇ¾î ÀÖ´Â ¶ó¿ìÆÃ Å×À̺íÀ» route ¸í·É°ú ip ¸í·ÉÀ¸·Î º» °á°úÀÌ´Ù. ±×¸®°í ±× µÚ¿¡ ¶ó¿ìÆÃ ·ê°ú main ¶ó¿ìÆÃ Å×ÀÌºíµµ Ç¥½Ã ÇÏ¿´´Ù.
# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 200.200.200.1 0.0.0.0 255.255.255.255 UH 40 0 0 ppp0 100.100.100.0 0.0.0.0 255.255.255. U 40 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 40 0 0 eth1 0.0.0.0 100.100.100.1 0.0.0.0 UG 40 0 0 eth0 # ip route ls 200.200.200.1 dev ppp0 proto kernel scope link src 200.200.200.2 100.100.100.0/24 dev eth0 proto kernel scope link src 100.100.100.2 192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.254 default via 100.100.100.1 dev eth0 # ip rule ls 0: from all lookup local 32766: from all lookup main 32767: from all lookup default # ip route ls table main 200.200.200.1 dev ppp0 proto kernel scope link src 200.200.200.2 100.100.100.0/24 dev eth0 proto kernel scope link src 100.100.100.2 192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.254 default via 100.100.100.1 dev eth0 |
ip rule ls ¸í·ÉÀÇ °á°ú¸¦ º¸¸é ±âº»ÀûÀ¸·Î ¼¼°³ÀÇ ¶ó¿ìÆÃ Å×À̺í local, main ±×¸®°í default°¡ ÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù. °¢ ¶ó¿ìÆÃ Å×À̺íÀÇ ÀÚ¼¼ÇÑ ³»¿ëÀº ip route ls table local°ú °°Àº ¸í·ÉÀ¸·Î ¾Ë ¼ö ÀÖ´Ù. ¿©·¯ºÐ °¢ÀÚ È®ÀÎÇØ º¸±â ¹Ù¶õ´Ù. À§¿¡¼ º¸´Ù½ÃÇÇ °¢ ¶ó¿ìÆÃ Å×ÀÌºí ¿¡´Â ¹øÈ£°¡ ºÙ¾î ÀÖÀ¸¸ç ¸®´ª½º Ä¿³ÎÀº ³·Àº ¹øÈ£ ¼ø¼´ë·Î ÆÐŶÀ» ó¸®ÇÑ´Ù. Áï ÆÐŶÀÌ ³×Æ®¿÷À» ÅëÇØ¼ µé¾î¿À¸é Ä¿³ÎÀº ±× ÆÐŶÀÌ ¾îµð·Î ÇâÇÏ´ÂÁö È®ÀÎÇÏ°í¼´Â ¾î¶»°Ô ¶ó¿ìÆÃÇÒ Áö local Å×ÀÌºí¿¡¼ ¸ÕÀú ã¾Æº»´Ù. local Å×ÀÌºí¿¡ Àû´çÇÑ Ã³¸® ±ÔÁ¤ÀÌ ¾øÀ¸¸é main Å×À̺íÀ» ã¾Æº¸°í °Å±â¿¡µµ ¾øÀ¸¸é ¸¶Áö¸·À¸·Î default Å×À̺íÀ» ã¾Æº¸´Â °ÍÀÌ´Ù.
from allÀÌ ÀǹÌÇÏ´Â ¹Ù´Â ÆÐŶÀÌ ¾îµð¿¡¼ ¿Â °ÍÀÎÁö¸¦ Á¤ÀÇÇÏ´Â °ÍÀÌ´Ù. all À̹ǷΠ¾îµð¿¡¼ ¿Â °ÍÀÌµç »ó°ü¾ø´Ù´Â ÀǹÌÀÌ´Ù. from allÀ» from 192.168.1.100À¸·Î ¹Ù²Ù¸é 192.168.1.100 ¿¡¼ Ãâ¹ßÇÑ ÆÐŶÀ» ÀǹÌÇÏ°Ô µÈ´Ù. Áï Ãâ¹ßÁö¿¡ µû¶ó¼ ¶ó¿ìÆÃÀ» °áÁ¤ÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù. À̸¦ µÎ°í Source RoutingÀ̶ó ÇÑ´Ù.
ip route ls table main ¸í·ÉÀÇ ½ÇÇà °á°ú¸¦ »ìÆìº¸¸é, main Å×ÀÌºí¿¡ ppp0¿¡ ´ëÇÑ ¶ó¿ìÆÃÀÌ ¼³Á¤µÇ¾î ÀÖ°í, E1 Àü¿ë¼±¿¡ ´ëÇÑ ¶ó¿ìÆÃÀÌ default·Î¼ ¼³Á¤µÇ¾î ÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù. netstat -rn ¸í·ÉÀÇ °á°ú¿Í °°À½À» ¾Ë ¼ö ÀÖ´Ù. Áï, netstat -rn ¸í·ÉÀº main Å×À̺íÀ» Ç¥½ÃÇÑ °ÍÀÌ´Ù.
ÀÌÁ¦ 5.2ÀýÆ®·¡ÇÈ ºÐ»êÀÇ ¼ø¼¿¡¼ ¼³¸íÇÑ ´ë·Î Çϳª¾¿ ÇØº¸ÀÚ.
Net-A¿Í Net-B·ÎºÎÅÍ ÀÎÅͳÝÀ¸·Î ÇâÇÏ´Â ÆÐŶÀº E1 Àü¿ë¼±À» ÅëÇÏ¿© ³ª°£´Ù.
Net-C·ÎºÎÅÍ ÀÎÅͳÝÀ¸·Î ÇâÇÏ´Â ÆÐŶÀº ADSL(ppp0)À» ÅëÇÏ¿© ³ª°£´Ù.
/etc/iproute2/rt_tables¿¡ Àû´çÇÑ ¶ó¿ìÆÃ Å×À̺í À̸§À» ³Ö¾î ÁØ´Ù. ¶ó¿ìÆÃ Å×À̺í À̸§À» e1line, adslline À̶ó°í ÇÏÀÚ.
# echo 201 e1line >> /etc/iproute2/rt_tables # echo 202 adslline >> /etc/iproute2/rt_tables |
ºÐ»ê Á¤Ã¥¿¡ µû¶ó¼ ¶ó¿ìÆÃ ·êÀ» Ãß°¡ÇÑ´Ù.
# ip rule add from 192.168.1.0/24 table e1line # ip rule add from 192.168.2.0/24 table e1line # ip rule add from 192.168.3.0/24 table adslline |
e1line°ú adslline ¶ó¿ìÆÃ Å×À̺íÀ» ¸¸µç´Ù.
# ip route add default via 100.100.100.1 dev eth0 table e1line # ip route add default via 200.200.200.1 dev ppp0 table adslline |
ÇÊÅ͸µ ·êÀ» ¼³Á¤Çϱâ Àü¿¡ ¼³Á¤µÈ ¶ó¿ìÆÃ ·êÀ» »ìÆìº¸°í °í·ÁÇØ¾ß ÇÒ »çÇ×À» ¾Ë¾Æº¸ÀÚ.
# ip rule ls 0: from all lookup local 32763: from 192.168.3.0/24 lookup adslline 32764: from 192.168.2.0/24 lookup e1line 32765: from 192.168.1.0/24 lookup e1line 32766: from all lookup main 32767: from all lookup default |
192.168.1.10¿¡¼ 111.111.111.100 À¸·Î ÇâÇÏ´Â ÆÐŶÀ» »ý°¢ÇØ º¸ÀÚ. ±× ÆÐŶÀÌ ¸®´ª½º ¹æÈº®¿¡ µé¾î°¡¸é ¸®´ª½º Ä¿³ÎÀº 0¹ø ¶ó¿ìÆÃ ·êºÎÅÍ ´ëÁ¶ÇÏ¿© ¾î¶»°Ô ¶ó¿ìÆÃ ÇÒ °ÍÀÎÁö °áÁ¤ÇÒ °ÍÀÌ´Ù. 0¹ø ¶ó¿ìÆÃ ·êÀº ±× ÆÐŶÀÌ ¾îµð¿¡¼ Ãâ¹ß ÇÑ °ÍÀÎÁö »ó°ü¾øÀÌ (from all) local ¶ó¿ìÆÃ Å×À̺íÀ» ÂüÁ¶Çϵµ·Ï µÇ¾î ÀÖ´Ù. ±×·¯³ª local Å×À̺íÀ» »ìÆìº¸¸é ¾Ë°ÚÁö¸¸ °Å±â¿¡´Â 111.111.111.100À¸·Î ÇâÇÏ´Â ÆÐŶ¿¡ ´ëÇÏ¿© ¸¶¶¥È÷ ó¸®ÇÒ ¶ó¿ìÆÃ ±ÔÄ¢ÀÌ ¾ø´Ù. ±× ´ÙÀ½ ¶ó¿ìÆÃ ·ê(32763¹ø)Àº 192.168.3.0³×Æ®¿÷À¸·ÎºÎÅÍ Ãâ¹ßÇÏ´Â ÆÐŶ¿¡ ´ëÇÑ °ÍÀÌ¹Ç·Î ÇØ´ç »çÇ×ÀÌ ¾ø´Ù. 32764¹ø ·êµµ ºñ½ÁÇÏ´Ù. 32765¹ø ·êÀº 192.168.1.0 ³×Æ®¿÷À¸·ÎºÎÅÍ Ãâ¹ßÇÏ´Â ÆÐŶ¿¡ ´ëÇÏ¿© Àû¿ë °¡´ÉÇÏ´Ù. e1line ¶ó¿ìÆÃ Å×À̺íÀ» »ìÆìº¸ÀÚ.
# ip route ls table e1line default via 100.100.100.1 dev eth0 |
¶Ç ´Ù¸¥ °æ¿ì¸¦ »ìÆìº¸ÀÚ. 192.168.3.10¿¡¼ À¥¼¹öÀÎ 100.100.100.10 À¸·Î ÇâÇÏ´Â ÆÐŶÀ» »ý°¢ÇØ º¸ÀÚ. ¾Õ¿¡¼ »ìÆìº» °úÁ¤°ú ºñ½ÁÇÏ°Ô µû¶ó°¡ º¸¸é ÀÌ ÆÐŶÀº ADSLÀ» ÅëÇØ¼ ºüÁ® ³ª°£ ÈÄ ÀÎÅͳÝÀ» °ÅÃļ À¥¼¹ö·Î µé¾î¿ÈÀ» ¾Ë ¼ö ÀÖ´Ù. eth0¸¦ ÅëÇØ¼ ºüÁ® ³ª°¡¸é ¹Ù·Î °¥ ¼ö ÀÖ´Â ±æÀ» Å©°Ô µ¹¾Æ¼ ¿Â °ÍÀÌ´Ù. µû¶ó¼ ÀÌ¿¡ ´ëÇÑ º¸¿Ïµµ ÇÊ¿äÇÔÀ» ¾Ë ¼ö ÀÖ´Ù. ADSLµµ ºñ½ÁÇÑ »óȲÀ» °¡Á¤ÇÒ ¼ö ÀÖÀ¸³ª ¿©±â¼´Â ±»ÀÌ °í·ÁÇÏÁö ¾Ê°Ú´Ù. ¿Ö³ÄÇÏ¸é ±ÍÂúÀ¸´Ï±î.... ±×¸®°í »ý°¢ÇØ º» Àûµµ ¾øÀ¸¹Ç·Î.... °Ô´Ù°¡ º° Çʿ䰡 ¾øÀ¸¹Ç·Î...
ÇÑ °¡Áö ´õ °í·ÁÇØ¾ß ÇÒ »çÇ×Àº ¸®´ª½º ¹æÈº®¿¡¼ 192.168.1.0 ³×Æ®¿÷À¸·Î ³ª°¡´Â ¶ó¿ìÆÃ ±ÔÄ¢Àº local Å×ÀÌºí¿¡ ¸í½ÃµÇ¾î ÀÖÁö¸¸ 192.168.2.0, 192.168.3.0 ³×Æ®¿÷À¸·Î ³ª°¡´Â ¶ó¿ìÆÃ ±ÔÄ¢Àº ¸í½ÃµÇ¾î ÀÖÁö ¾Ê´Ù. À̸¦ local Å×ÀÌºí¿¡ Ãß°¡ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ¿Ö local Å×ÀÌºí¿¡ Ãß°¡ÇÏ´Â Áö´Â »ý°¢ÇØ º¸¸é ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù.
À§ÀÇ »óȲÀ» °í·ÁÇÏ¿© ¶ó¿ìÆÃ ·ê°ú ¶ó¿ìÆÃ Å×À̺íÀ» ´Ù½Ã ¸¸µé¾î º¸ÀÚ. ¾Õ¿¡¼ /etc/iproute2/rt_tables¿¡ echo ¹®À¸·Î Ãß°¡Çß´ø µÎ ÁÙÀ» Áö¿î ÈÄ ¾Æ·¡ ¸í·ÉÀ» ½ÇÇàÇØ¾ß ÇÒ °ÍÀÌ´Ù.
# echo 201 adslline >> /etc/iproute2/rt_tables # ip rule add from 192.168.3.0/24 table adslline # ip route add default via 200.200.200.1 dev ppp0 table adslline # ip route add 100.100.100.0/24 via 100.100.100.2 dev eth0 table local # ip route add 192.168.2.0/24 via 192.168.1.254 dev eth1 table local # ip route add 192.168.3.0/24 via 192.168.1.254 dev eth1 table local |
# echo 201 adslline >> /etc/iproute2/rt_tables # ip rule add from 192.168.3.0/24 table adslline # ip route add default via 200.200.200.1 dev ppp0 table adslline # ip route add 100.100.100.0/24 via 100.100.100.2 dev eth0 table local # ip route add 192.168.0.0/16 via 192.168.1.254 dev eth1 table local |
ÇÊÅ͸µ ·êÀ» ¼³Á¤ÇÏ´Â °ÍÀº ¿©±â¼ »ý·«ÇÑ´Ù.
Àü¿ë¼± ÂÊÀ¸·Î ³ª°¡´Â ÆÐŶ°ú ADSL ÂÊÀ¸·Î ³ª°¡´Â ÆÐŶ¿¡ ´ëÇÑ Masquerading ¼³Á¤ÀÌ ÇÊ¿äÇÒ °ÍÀÌ´Ù.
# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/16 ! -d 192.168.0.0/16 -j SNAT --to 100.100.100.2 # iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/16 ! -d 192.168.0.0/16 -j MASQUERADE |
# echo 201 adslline >> /etc/iproute2/rt_tables # ip rule add from 192.168.3.0/24 table adslline # ip route add default via 200.200.200.1 dev ppp0 table adslline # ip route add 100.100.100.0/24 via 100.100.100.2 dev eth0 table local # ip route add 192.168.0.0/16 via 192.168.1.254 dev eth1 table local # iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/16 ! -d 192.168.0.0/16 -j SNAT --to 100.100.100.2 # iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/16 ! -d 192.168.0.0/16 -j MASQUERADE |
port¸¦ ±¸ºÐÇØ¼ ÆÐŶÀ» ³»º¸³»´Â ¹æ¹ý°ú È£½ºÆ® ¶Ç´Â ¼ºê³×Æ®¿÷À» ±¸ºÐÇØ¼ ÆÐŶÀ» ³»º¸³»´Â ¹æ¹ýÀº ÇÑ °¡Áö¸¦ Á¦¿ÜÇϰí´Â Å« Â÷À̰¡ ¾ø´Ù. ±âº»ÀûÀ¸·Î Ä¿³ÎÀº ¾î¶² ÆÐŶÀÌ ¾îµð·Î ÇâÇÏ´Â Áö¸¦ º¸°í¼ ¶ó¿ìÆÃÀ» ¾î¶»°Ô ÇÒ Áö¸¦ °áÁ¤Çϸç, ±× ÆÐŶÀÌ www port¸¦ »ç¿ëÇÏ´ÂÁö, telnet port¸¦ »ç¿ëÇÏ´ÂÁö µîÀº ¶ó¿ìÆÃÀÇ ±âÁØÀÌ µÇÁö ¾Ê´Â´Ù. µû¶ó¼ port¸¦ ±¸ºÐÇØ¼ ¶ó¿ìÆÃÀ» Çϱâ À§Çؼ´Â ¶Ç ´Ù¸¥ ±âÁØÀ» ¸¸µé¾î ÁÖ¾î¾ß Çϸç, ±× ¹æ¹ýÀº ƯÁ¤ port¸¦ »ç¿ëÇÏ´Â ÆÐŶ¿¡ Ç¥½ÄÀ» ÇØ¼ ±¸ºÐÇÏ´Â °ÍÀÌ´Ù. ÆÐŶ¿¡ Ç¥½ÄÀ» ÇÏ´Â °ÍÀº iptables ¸í·ÉÀ» ÀÌ¿ëÇÑ´Ù.
www, ftp, ftp-data port¸¦ »ç¿ëÇÏ´Â ÆÐŶÀº ADSL(ppp0)À» ÅëÇÏ¿© ³ª°£´Ù. ³ª°£´Ù.
ÀÌ¿ÜÀÇ ³ª¸ÓÁö ÆÐŶÀº E1 Àü¿ë¼±À» ÅëÇÏ¿© ³ª°£´Ù.
/etc/iproute2/rt_tables¿¡ ADSLÀ» ÅëÇØ¼ ³ª°¡´Â ÆÐŶÀ» À§ÇØ adslline ¶ó¿ìÆÃ Å×À̺í À̸§À» Ãß°¡ÇÑ´Ù.
# echo 201 adslline >> /etc/iproute2/rt_tables |
ºÐ»ê Á¤Ã¥¿¡ µû¶ó¼ ¶ó¿ìÆÃ ·êÀ» Ãß°¡ÇÑ´Ù.
# ip rule add fwmark 1 table adslline |
# iptables -A PREROUTING -i eth1 -s 192.168.0.0/16 ! -d 192.168.0.0/16 \ -t mangle -p tcp --dport www -j MARK --set-mark 1 # iptables -A PREROUTING -i eth1 -s 192.168.0.0/16 ! -d 192.168.0.0/16 \ -t mangle -p tcp --dport ftp -j MARK --set-mark 1 # iptables -A PREROUTING -i eth1 -s 192.168.0.0/16 ! -d 192.168.0.0/16 \ -t mangle -p tcp --dport ftp-data -j MARK --set-mark 1 |
adslline ¶ó¿ìÆÃ Å×À̺íÀ» ¸¸µé°í local Å×ÀÌºí¿¡ ÇÊ¿äÇÑ ¶ó¿ìÆÃ ±ÔÄ¢À» Ãß°¡ÇÑ´Ù.
# ip route add default via 200.200.200.1 dev ppp0 table adslline # ip route add 100.100.100.0/24 via 100.100.100.2 dev eth0 table local # ip route add 192.168.0.0/16 via 192.168.1.254 dev eth1 table local |
ÇÊÅ͸µ ·êÀ» ¼³Á¤ÇÏ´Â °ÍÀº ¿©±â¼ »ý·«ÇÑ´Ù.
5.3Àý¿¡¼¿Í ¸¶Âù°¡Áö·Î Àü¿ë¼± ÂÊÀ¸·Î ³ª°¡´Â ÆÐŶ°ú ADSL ÂÊÀ¸·Î ³ª°¡´Â ÆÐŶ¿¡ ´ëÇÑ Masquerading ¼³Á¤ÀÌ ÇÊ¿äÇÒ °ÍÀÌ´Ù.
# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/16 ! -d 192.168.0.0/16 -j SNAT --to 100.100.100.2 # iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/16 ! -d 192.168.0.0/16 -j MASQUERADE |
# echo 201 adslline >> /etc/iproute2/rt_tables # ip rule add fwmark 1 table adslline # iptables -A PREROUTING -i eth1 -s 192.168.0.0/16 ! -d 192.168.0.0/16 \ -t mangle -p tcp --dport www -j MARK --set-mark 1 # iptables -A PREROUTING -i eth1 -s 192.168.0.0/16 ! -d 192.168.0.0/16 \ -t mangle -p tcp --dport ftp -j MARK --set-mark 1 # iptables -A PREROUTING -i eth1 -s 192.168.0.0/16 ! -d 192.168.0.0/16 \ -t mangle -p tcp --dport ftp-data -j MARK --set-mark 1 # ip route add default via 200.200.200.1 dev ppp0 table adslline # ip route add 100.100.100.0/24 via 100.100.100.2 dev eth0 table local # ip route add 192.168.0.0/16 via 192.168.1.254 dev eth1 table local # iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/16 ! -d 192.168.0.0/16 -j SNAT --to 100.100.100.2 # iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/16 ! -d 192.168.0.0/16 -j MASQUERADE |
À§¿Í °°ÀÌ port º°·Î ³×Æ®¿÷ Æ®·¡ÇÈÀ» ºÐ»ê½ÃŰ·Á ÇÒ ¶§ ÀüÇô ¶ó¿ìÆÃÀÌ ¾ÈµÇ´Â °æ¿ì°¡ ÀÖ´Ù. ¾Æ¸¶µµ ´ëºÎºÐÀÇ ¸®´ª½º ¹èÆ÷º»¿¡¼ ÀÌ·± Çö»óÀÌ ¹ß»ýÇÒ °ÍÀ¸·Î »ý°¢µÈ´Ù. ÀÌ´Â spoof protectionÀ» À§ÇØ /proc/sys/net/ipv4/conf/*/rp_filter ÆÄÀÏÀÇ °ªÀ» "1"·Î ¼³Á¤Ç߱⠶§¹®ÀÌ´Ù. ¸ðµç µð¹ÙÀ̽º¿¡ ´ëÇÏ¿© rp_filter ÆÄÀÏÀÇ °ªÀ» "0"À¸·Î ¼³Á¤ÇÏ¸é ¹®Á¦°¡ ÇØ°áµÉ °ÍÀÌ´Ù.