5. ³×Æ®¿÷ Æ®·¡ÇÈ ºÐ»êÀÇ ½ÇÁ¦

5.1. ¼³Ä¡ÇØ¾ß ÇÒ ¼ÒÇÁÆ®¿þ¾î

³×Æ®¿÷ Æ®·¡ÇÈ ºÐ»ê ¹× IP Masquerading, ±×¸®°í PPP¿Í °ü·ÃÇÏ¿© ¸®´ª½º ¹æÈ­º®¿¡ ¼³Ä¡ÇØ¾ß ÇÒ ¼ÒÇÁÆ®¿þ¾î¸¦ »ìÆìº¸ÀÚ. ÇÊÀÚÀÇ ¸®´ª½º ¹æÈ­º®¿¡ ¼³Ä¡µÇ¾î ÀÖ´Â ¼ÒÇÁÆ®¿þ¾î ¸ñ·ÏÀº ¾Æ·¡¿Í °°´Ù.

  1. iproute-20001007

  2. iptables-1.2.4

  3. ppp-2.4.1

  4. pppoe-3.2

iproute´Â iproute2 ¶ó´Â À̸§ÀÇ ¼ÒÇÁÆ®¿þ¾îÀÌ¸ç µ¥ºñ¾È¿¡¼­´Â iproute ¶ó´Â À̸§ÀÇ ÆÐŰÁö·Î ¹èÆ÷Çϰí ÀÖ´Ù. ÀÌ ¼ÒÇÁÆ®¿þ¾î´Â ±âÁ¸ÀÇ route ¸í·ÉÀ» ´ëüÇÏ´Â ¸í·É¾î(ip)¸¦ Æ÷ÇÔÇϰí ÀÖÀ¸¸ç ³×Æ®¿÷ ´ë¿ªÆøÀ» Á¶ÀýÇÏ´Â ¸í·É¾î(tc)µµ Æ÷ÇԵǾî ÀÖ´Ù.

iptables´Â Ä¿³Î 2.2¿¡¼­ Á¦°øÇÏ´ø ipchains¸¦ ´ëüÇÏ´Â ¸í·É¾î·Î ipchainsº¸´Ù ¸¹Àº ±â´ÉÀ» Á¦°øÇÑ´Ù.

5.2. Æ®·¡ÇÈ ºÐ»êÀÇ ¼ø¼­

º»·Ð¿¡ µé¾î°¡±â Àü¿¡ ³×Æ®¿÷ Æ®·¡ÇÈÀ» ºÐ»ê½Ã۱â À§Çؼ­ ¹â¾Æ¾ß ÇÒ ¼ø¼­¸¦ ¤¾îº¸ÀÚ.

¸ÕÀú Æ®·¡ÇÈ ºÐ»ê Á¤Ã¥À» °áÁ¤ÇØ¾ß ÇÒ °ÍÀÌ´Ù. Áï, a Á¾·ùÀÇ ÆÐŶÀº 1¹ø ¹®À¸·Î ³»º¸³»°í, b Á¾·ùÀÇ ÆÐŶÀº 2¹ø ¹®À¸·Î ³»º¸³½´Ù´Â ½ÄÀÇ Á¤Ã¥À» °áÁ¤ÇØ¾ß ÇÒ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ Á¤Ã¥À» °áÁ¤Çϱâ À§Çؼ­´Â °í·ÁÇØ¾ß ÇÒ °ÍÀÌ ¸î°¡Áö ÀÖÀ» °ÍÀÌ´Ù. ¿¹¸¦ µé¸é, ²÷±èÀÌ ¾ø¾î¾ß ÇÏ´Â ÆÐŶÀº Àü¿ë¼± ÂÊÀ¸·Î ³»º¸³»°í, ±×·¸Áö ¾ÊÀº ÆÐŶÀº ADSL ÂÊÀ¸·Î ³»º¸³½´Ù´Â ½ÄÀÌ´Ù. ±×¸®°í ÀüüÀûÀÎ ³×Æ®¿÷ Æ®·¡ÇÈÀÇ ¾çµµ °¨¾ÈÇØ¾ß ÇÒ °ÍÀÌ´Ù.

±× ´ÙÀ½, °áÁ¤µÈ Á¤Ã¥¿¡ µû¶ó¼­ ip ¸í·ÉÀ¸·Î ¶ó¿ìÆÃ ·êÀ» ¼³Á¤Çϰí, ¶ó¿ìÆÃ Å×À̺íÀ» ¸¸µé¾î¾ß ÇÑ´Ù. ±×¸®°í ³»º¸³¾ ÆÐŶ°ú ³»º¸³»Áö ¾ÊÀ» ÆÐŶ, µé¾î¿Í¼­´Â ¾ÈµÇ´Â ÆÐŶ µîÀ» ±¸ºÐÇÏ¿© ÇÊÅ͸µÀ» ÇÒ ¿¹Á¤À̶ó¸é iptables ¸í·ÉÀ¸·Î ÆÐŶÀ» ¾î¶»°Ô °É·¯³¾ °ÍÀÎÁö ¼³Á¤ÇÑ´Ù. ±×¸®°í iptables ¸í·ÉÀ¸·Î Masquerading ¼³Á¤À» ÇÑ´Ù. ¾Æ·¡¿¡ ±× ¼ø¼­¸¦ °£´ÜÇÏ°Ô Á¤¸®ÇÏ¿´´Ù.

  1. ³×Æ®¿÷ Æ®·¡ÇÈ ºÐ»ê Á¤Ã¥À» °áÁ¤ÇÑ´Ù.

  2. ºÐ»ê Á¤Ã¥¿¡ µû¶ó¼­ ¶ó¿ìÆÃ ·êÀ» ¼³Á¤ÇÑ´Ù.

  3. ºÐ»ê Á¤Ã¥¿¡ ÇØ´çÇÏ´Â ¶ó¿ìÆÃ Å×À̺íÀ» ¼³Á¤ÇÑ´Ù.

  4. iptables ¸í·ÉÀ¸·Î ÇÊÅ͸µ ·êÀ» ¼³Á¤ÇÑ´Ù.

  5. iptables ¸í·ÉÀ¸·Î MasqueradingÀ» ¼³Á¤ÇÑ´Ù.

5.3. È£½ºÆ® ¶Ç´Â ³×Æ®¿÷ ±â¹ÝÀÇ Æ®·¡ÇÈ ºÐ»ê

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ÀýÆ®·¡ÇÈ ºÐ»êÀÇ ¼ø¼­¿¡¼­ ¼³¸íÇÑ ´ë·Î Çϳª¾¿ ÇØº¸ÀÚ.

³×Æ®¿÷ Æ®·¡ÇÈÀÇ ºÐ»ê Á¤Ã¥ °áÁ¤

  1. Net-A¿Í Net-B·ÎºÎÅÍ ÀÎÅͳÝÀ¸·Î ÇâÇÏ´Â ÆÐŶÀº E1 Àü¿ë¼±À» ÅëÇÏ¿© ³ª°£´Ù.

  2. Net-C·ÎºÎÅÍ ÀÎÅͳÝÀ¸·Î ÇâÇÏ´Â ÆÐŶÀº ADSL(ppp0)À» ÅëÇÏ¿© ³ª°£´Ù.

¶ó¿ìÆÃ ·êÀÇ ¼³Á¤

  1. /etc/iproute2/rt_tables¿¡ Àû´çÇÑ ¶ó¿ìÆÃ Å×À̺í À̸§À» ³Ö¾î ÁØ´Ù. ¶ó¿ìÆÃ Å×À̺í À̸§À» e1line, adslline À̶ó°í ÇÏÀÚ.
    # echo 201 e1line >> /etc/iproute2/rt_tables
    # echo 202 adslline >> /etc/iproute2/rt_tables

  2. ºÐ»ê Á¤Ã¥¿¡ µû¶ó¼­ ¶ó¿ìÆÃ ·êÀ» Ãß°¡ÇÑ´Ù.
    # 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
¶ó¿ìÆÃ ·êÀÇ ¹øÈ£ ¹× ¼ø¼­¸¦ »ìÆìº¸¸é À§¿¡¼­ ½ÇÇà½ÃŲ ip rule add ¸í·ÉÀÇ ¼ø¼­¿Í ¿ª¼øÀÓÀ» ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¿°µÎ¿¡ µÎ±â ¹Ù¶õ´Ù. ÀÌÁ¦ ¿¹¸¦ µé¸é¼­ °í·ÁÇØ¾ß ÇÒ »çÇ×À» ¾Ë¾Æº¸ÀÚ.

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
ÆÐŶÀÌ ¾îµð·Î ÇâÇϵçÁö »ó°ü¾øÀÌ(default) 100.100.100.1 À» °ÅÃļ­ ÆÐŶÀ» ¶ó¿ìÆÃ Çϵµ·Ï ¼³Á¤µÇ¾î ÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù. µû¶ó¼­ 192.168.1.10¿¡¼­ 111.111.111.100 À¸·Î ÇâÇÏ´Â ÆÐŶÀº 32765¹ø ·êÀ» Àû¿ëÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù. ±×·±µ¥ ÀÌ ÀýÀÇ ¾ÕºÎºÐÀ» ´Ù½Ã Àо¸é ¾Ë°ÚÁö¸¸, e1line Å×ÀÌºí¿¡ ÀÖ´Â ¶ó¿ìÆÃ ±ÔÄ¢°ú ¶È°°Àº °ÍÀÌ main Å×ÀÌºí¿¡µµ ÀÖ´Ù. ´Ù½Ã »ý°¢ÇØ º¸¸é 192.168.1.0³×Æ®¿÷À¸·ÎºÎÅÍ Ãâ¹ßÇÏ´Â ÆÐŶÀÇ ¶ó¿ìÆÃÀº main Å×ÀÌºí¿¡¼­ ó¸®ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. Áï, e1line Å×À̺íÀ» ±»ÀÌ Ãß°¡ ÇÒ Çʿ䰡 ¾ø´Ù´Â °ÍÀÌ´Ù.

¶Ç ´Ù¸¥ °æ¿ì¸¦ »ìÆìº¸ÀÚ. 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
¸¶Áö¸· µÎ ÁÙÀº 192.168.0.0 ³×Æ®¿÷¿¡ ´ëÇÑ ¶ó¿ìÆÃ ±ÔÄ¢À¸·Î »ý°¢Çؼ­ ÇÑ ÁٷΠǥÇöÇÒ ¼ö ÀÖ´Ù.
# 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

ÇÊÅ͸µ ·êÀÇ ¼³Á¤

ÇÊÅ͸µ ·êÀ» ¼³Á¤ÇÏ´Â °ÍÀº ¿©±â¼­ »ý·«ÇÑ´Ù.

MasqueradingÀÇ ¼³Á¤

Àü¿ë¼± ÂÊÀ¸·Î ³ª°¡´Â ÆÐŶ°ú 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

5.4. port ±â¹ÝÀÇ Æ®·¡ÇÈ ºÐ»ê

port¸¦ ±¸ºÐÇØ¼­ ÆÐŶÀ» ³»º¸³»´Â ¹æ¹ý°ú È£½ºÆ® ¶Ç´Â ¼­ºê³×Æ®¿÷À» ±¸ºÐÇØ¼­ ÆÐŶÀ» ³»º¸³»´Â ¹æ¹ýÀº ÇÑ °¡Áö¸¦ Á¦¿ÜÇϰí´Â Å« Â÷À̰¡ ¾ø´Ù. ±âº»ÀûÀ¸·Î Ä¿³ÎÀº ¾î¶² ÆÐŶÀÌ ¾îµð·Î ÇâÇÏ´Â Áö¸¦ º¸°í¼­ ¶ó¿ìÆÃÀ» ¾î¶»°Ô ÇÒ Áö¸¦ °áÁ¤Çϸç, ±× ÆÐŶÀÌ www port¸¦ »ç¿ëÇÏ´ÂÁö, telnet port¸¦ »ç¿ëÇÏ´ÂÁö µîÀº ¶ó¿ìÆÃÀÇ ±âÁØÀÌ µÇÁö ¾Ê´Â´Ù. µû¶ó¼­ port¸¦ ±¸ºÐÇØ¼­ ¶ó¿ìÆÃÀ» Çϱâ À§Çؼ­´Â ¶Ç ´Ù¸¥ ±âÁØÀ» ¸¸µé¾î ÁÖ¾î¾ß Çϸç, ±× ¹æ¹ýÀº ƯÁ¤ port¸¦ »ç¿ëÇÏ´Â ÆÐŶ¿¡ Ç¥½ÄÀ» ÇØ¼­ ±¸ºÐÇÏ´Â °ÍÀÌ´Ù. ÆÐŶ¿¡ Ç¥½ÄÀ» ÇÏ´Â °ÍÀº iptables ¸í·ÉÀ» ÀÌ¿ëÇÑ´Ù.

³×Æ®¿÷ Æ®·¡ÇÈÀÇ ºÐ»ê Á¤Ã¥ °áÁ¤

  1. www, ftp, ftp-data port¸¦ »ç¿ëÇÏ´Â ÆÐŶÀº ADSL(ppp0)À» ÅëÇÏ¿© ³ª°£´Ù. ³ª°£´Ù.

  2. ÀÌ¿ÜÀÇ ³ª¸ÓÁö ÆÐŶÀº E1 Àü¿ë¼±À» ÅëÇÏ¿© ³ª°£´Ù.

¶ó¿ìÆÃ ·êÀÇ ¼³Á¤

  1. /etc/iproute2/rt_tables¿¡ ADSLÀ» ÅëÇØ¼­ ³ª°¡´Â ÆÐŶÀ» À§ÇØ adslline ¶ó¿ìÆÃ Å×À̺í À̸§À» Ãß°¡ÇÑ´Ù.
    # echo 201 adslline >> /etc/iproute2/rt_tables

  2. ºÐ»ê Á¤Ã¥¿¡ µû¶ó¼­ ¶ó¿ìÆÃ ·êÀ» Ãß°¡ÇÑ´Ù.
    # ip rule add fwmark 1 table adslline
    À§ ¸í·ÉÀÇ Àǹ̴ "1"À̶ó°í Ç¥½ÃµÈ ÆÐŶÀº adslline Å×À̺íÀ» ÂüÁ¶ÇÏ¿© ¶ó¿ìÆÃÇÑ´Ù¶ó´Â ¶æÀÌ´Ù. Æ®·¡ÇÈ ºÐ»ê Á¤Ã¥¿¡ µû¶ó¼­ www, ftp, ftp-data port¸¦ »ç¿ëÇÏ´Â ÆÐŶ¿¡ ´ëÇÏ¿© ´ÙÀ½°ú °°ÀÌ "1"À̶ó°í Ç¥½ÃÇÏ¸é µÇ´Â °ÍÀÌ´Ù.
    # 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
    ù¹øÂ° ¸í·ÉÀ» ÇØ¼®ÇØ º¸¸é, eth1¸¦ ÅëÇØ¼­ µé¾î¿À´Â ÆÐŶ Áß¿¡¼­ Ãâ¹ßÁö°¡ 192.168.0.0/16 ³×Æ®¿÷ÀÌ°í ¸ñÀûÁö´Â 192.168.0.0/16ÀÌ ¾Æ´Ï¸ç www port¸¦ »ç¿ëÇÏ´Â ÆÐŶ¿¡ ´ëÇÏ¿© "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

ÇÊÅ͸µ ·êÀÇ ¼³Á¤

ÇÊÅ͸µ ·êÀ» ¼³Á¤ÇÏ´Â °ÍÀº ¿©±â¼­ »ý·«ÇÑ´Ù.

MasqueradingÀÇ ¼³Á¤

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"À¸·Î ¼³Á¤ÇÏ¸é ¹®Á¦°¡ ÇØ°áµÉ °ÍÀÌ´Ù.