ÀÌ ºÎºÐÀº ÀÌ´õ³Ý°ú IP ¿¡ °ü·ÃµÈ Á¤º¸¸¦ ´Ù·ê °ÍÀÌ´Ù. ¿©±âÀÇ ¼Ò ºÐ·ùµéÀº ±×°ÍµéÀÌ ¼ÒÀ§ ``ƯÁ¤ ±â¼ú¿¡ ´ëÇÑ'' ºÎºÐ¿¡¼ °¡Àå Èï¹ÌÀÖ´Â °ÍµéÀ̶ó »ý°¢Ç߱⠶§¹®¿¡ ³ª´©¾ú´Ù. LANÀ» »ç¿ëÇÏ´Â »ç¶÷Àº ´©±¸³ª ÀÌ ºÎºÐµé¿¡¼ ¾òÀ» °ÍÀÌ ÀÖÀ» °ÍÀÌ´Ù.
ÀÌ´õ³Ý ÀåÄ¡ÀÇ À̸§Àº `eth0
', `eth1
', `eth2
' µîÀÌ´Ù. Ä¿³Î¿¡ ÀÇÇØ
óÀ½ ¹ß°ßµÇ´Â Ä«µå°¡ `eth0
'À» ºÎ¿©¹Þ°í ³ª¸ÓÁö´Â ¹ß°ßµÇ´Â ¼ø¼´ë·Î Çϳª¾¿
ºÎ¿©¹Þ´Â´Ù.
±âº»ÀûÀ¸·Î Ä¿³ÎÀº ÇϳªÀÇ ÀÌ´õ³Ý ÀåÄ¡¸¸À» ãÀ¸¸ç ´Ù¸¥ ÀåÄ¡¸¦ ã±â À§Çؼ± Á÷Á¢ ƯÁ¤ ¸í·ÉÀ» Ä¿³Î¿¡ ³»·ÁÁà¾ß ÇÑ´Ù.
¸®´ª½º »ó¿¡¼ ÀÌ´õ³Ý Ä«µå¸¦ ÀÛµ¿Çϵµ·Ï ÇÏ´Â ¹ýÀ» ¾Ë°í ½ÍÀ¸¸é Ethernet-HOWTO¸¦ ÂüÁ¶Ç϶ó.
Ä¿³ÎÀÌ ÀÌ´õ³Ý Ä«µå¸¦ Áö¿øÇϵµ·Ï ¾Ë¸Â°Ô ¸¸µé¾îÁø ÈÄ¿¡´Â Ä«µå ¼³Á¤Àº ½±´Ù.
º¸Åë ¿©·¯ºÐÀº ¾Æ·¡¿Í °°Àº °ÍÀ» ¾´¸ç ´ëºÎºÐÀÇ ¹èÆ÷º»Àº ÀÌ´õ³Ý Ä«µå¸¦ Áö¿øÇϵµ·Ï ¼³Á¤À» Çß´Ù¸é À̸¦ ÀÌ¹Ì ÇØÁØ´Ù.
root# ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
root# route add -net 192.168.0.0 netmask 255.255.255.0 eth0
´ëºÎºÐÀÇ ÀÌ´õ³Ý µå¶óÀ̹öµéÀº Donald Becker, becker@CESDIS.gsfc.nasa.gov
¿¡
ÀÇÇØ ¸¸µé¾îÁ³´Ù.
EQL ÀåÄ¡ À̸§Àº `eql
'ÀÌ´Ù. Ç¥ÁØ Ä¿³Î ¼Ò½º·Î´Â ¸Ó½Å´ç ÇÑ°³ÀÇ EQL ÀåÄ¡¸¦
°¡Áú ¼ö ÀÖ´Ù. EQLÀº PPP³ª slip, plip°°Àº point-to-point ´ÙÁß ¿¬°áÀ» ÇÑ °³ÀÇ
³í¸®ÀûÀÎ tcp/ip ¿¬°á·Î »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. º¸ÅëÀº ÇϳªÀÇ °í¼Ó ¿¬°áÀ»
¸¸µå´Â °Íº¸´Ù Àú¼ÓÀÇ ´ÙÁß ¿¬°áÀ» »ç¿ëÇÏ´Â ÆíÀÌ ºñ¿ëÀÌ ½Î´Ù.
Kernel Compile Options:
Network device support --->
[*] Network device support
<*> EQL (serial line load balancing) support
ÀÌ ±â¼úÀ» »ç¿ëÇϱâ À§Çؼ± ¿¬°áÀÇ ¹Ý´ëÆí¿¡ ÀÖ´Â ¸Ó½Åµµ EQLÀ» Áö¿øÇØ¾ß ÇÑ´Ù. ¸®´ª½º¿Í Livingstone Portmasters, »õ·Î¿î dial-in ¼¹öµéÀº ȣȯ °¡´ÉÇÑ ±â´ÉÀ» Áö¿øÇÑ´Ù.
EQLÀ» ¼³Á¤Çϱâ À§Çؼ± metalab.unc.edu ¿¡¼ ¾òÀ» ¼ö ÀÖ´Â eql ÅøµéÀÌ ÇÊ¿äÇÒ °ÍÀÌ´Ù.
¼³Á¤Àº ¸Å¿ì Á÷¼³ÀûÀÌ´Ù. eql ÀÎÅÍÆäÀ̽ºÀÇ ¼³Á¤À¸·Î ½ÃÀÛÇÑ´Ù. eql ÀÎÅÍÆäÀ̽º´Â ´Ù¸¥ ³×Æ®¿÷ ÀåÄ¡µé°ú ºñ½ÁÇÏ´Ù. ifconfig¸¦ ÀÌ¿ëÇÏ¿© IP ÁÖ¼Ò¿Í mtu¸¦ ¼³Á¤ÇÏ¸ç ¾Æ·¡¿Í °°´Ù.
root# ifconfig eql 192.168.10.1 mtu 1006
±×´ÙÀ½ ¿©·¯ºÐÀÌ »ç¿ëÇÒ °¢ ÁÙµéÀ» Á÷Á¢ ½ÃÀÛÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ÀÌ´Â point-to-point ³×Æ®¿÷ ÀåÄ¡ÀÇ °æ¿ì¿Í ¸¶Âù°¡ÁöÀÌ´Ù. ¿¬°áÀ» ½ÃÀÛÇÏ´Â ¹æ¹ýÀº ¿¬°áÀÇ Á¾·ù¿¡ µû¶ó ´Ù¸£¸ç ÀÚ¼¼ÇÑ »çÇ×Àº ¹®¼ÀÇ ÇØ´ç ºÎºÐÀ» ÂüÁ¶ÇÏ¿©¶ó.
¸¶Áö¸·À¸·Î serial ¿¬°áÀ» EQL ÀåÄ¡¿Í ¿¬°á½ÃÄÑ¾ß ÇÑ´Ù. ÀÌ´Â `enslaving'À̶ó ºÒ¸®¸ç ¾Æ·¡¿Í °°Àº eql_enslave ¸í·ÉÀ¸·Î ¼öÇàµÈ´Ù.
root# eql_enslave eql sl0 28800
root# eql_enslave eql ppp0 14400
eql_enslave¿¡ ³Ñ°ÜÁÖ´Â `estimated speed' ¸Å°³º¯¼ö´Â Á÷Á¢Àº ¾Æ¹« °Íµµ ÇÏÁö ¾Ê´Â´Ù. ÀÌ´Â EQL µå¶óÀ̹ö°¡ ÀåÄ¡°¡ ¹ÞÀ» µ¥ÀÌŸ±×·¥ÀÇ ÇÒ´çÀ» °áÁ¤Çϸç ÀÌ °ªÀ» °¡Áö°í ¿¬°áµéÀÇ ¹ë·±½º¸¦ Á¶Á¤ÇÒ ¼ö ÀÖ´Ù.
¿¬°áÀ» EQL ÀåÄ¡·ÎºÎÅÍ ¶¼¾î³»±â À§Çؼ± ¾Æ·¡Ã³·³ eql_emancipate ¸í·ÉÀ» ¾´´Ù.
root# eql_emancipate eql sl0
´Ù¸¥ point-to-point ¿¬°áó·³ ¶ó¿ìÆÃÀ» Ãß°¡ÇØÁִµ¥ ½ÇÁ¦ Á÷·Ä ÀåÄ¡ ´ë½Å
eql
ÀåÄ¡¸¦ ¶ó¿ìÅÍ°¡ ÂüÁ¶ÇÏ´Â °ÍÀÌ ´Ù¸£´Ù. º¸Åë ¾Æ·¡Ã³·³ ¾´´Ù.
root# route add default eql
EQL µå¶óÀ̹ö´Â Simon Jones, simon@ncm.com
¿¡ ÀÇÇØ °³¹ßµÇ¾ú´Ù.
¸®´ª½º Ä¿³ÎÀÇ IP accounting ±â´ÉÀº ³×Æ®¿÷À» »ç¿ëÇÏ´Â ÀÚ·áµéÀ» ¸ð¾Æ¼ ºÐ¼®ÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. ¸ð¾ÆÁø ÀÚ·áµéÀº ÃʱâÈ ÀÌÈÄ ´©ÀûµÈ ÆÐŶ°ú ¹ÙÀÌÆ®ÀÇ ¼öµé·Î ÀÌ·ç¾îÁø´Ù. »ç¿ë ¸ñÀû¿¡ µû¶ó À̵éÀ» ºÐ·ùÇÒ ¼ö ÀÖ´Â ´Ù¾çÇÑ ±ÔÄ¢µéÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ ¿É¼ÇÀº ÀÌÀüÀÇ ipfwadm ±â¹ÝÀÇ ¹æȺ® ±â´ÉÀÌ ``ipfwchains''·Î ´ëüµÇ¸é¼ Ä¿³Î 2.1.102¶§ºÎÅÍ ºüÁ³´Ù.
Kernel Compile Options:
Networking options --->
[*] IP: accounting
IP accountingÀ» ¼³Á¤Çϱâ À§Çؼ± Ä¿³ÎÀ» ÄÄÆÄÀÏÇÏ¿© ¼³Ä¡ÇÑ ÈÄ ipfwadm ¸í·ÉÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. ¼±ÅÃÇÑ accounting Á¤º¸¸¦ ÀÚ¼¼È÷ ºÐ·ùÇÏ´Â ¸¹Àº ¹æ¹ýµéÀÌ ÀÖ´Ù. ¿©±â¿¡¼± À¯¿ëÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Â °£´ÜÇÑ ¿¹Á¦¸¦ °ñ¶úÀ¸¸ç ´õ ÀÚ¼¼ÇÑ Á¤º¸¸¦ À§Çؼ± ipfwadm ¸Ç ÆäÀÌÁö¸¦ Àо±æ ¹Ù¶õ´Ù.
½Ã³ª¸®¿À: ¿©·¯ºÐÀº PPP ¿¬°áÀ» ÅëÇØ ÀÎÅͳݿ¡ ¿¬°áµÈ ÀÌ´õ³Ý ³×Æ®¿÷À» °¡Áö°í ÀÖ´Ù. ÀÌ´õ³Ý »ó¿¡¼ ¸¹Àº ¼ºñ½º¸¦ ÇÏ´Â ¸Ó½ÅÀ» °¡Áö°í ÀÖÀ¸¸ç ÀüüÀûÀÎ tcp, udp Æ®·¡ÇÈ »Ó ¾Æ´Ï¶ó ftp³ª www µîÀÇ °¢ ¼ºñ½º¿¡ ÀÇÇÑ Æ®·¡Çȵµ ¾Ë°í ½Í´Ù.
¿©·¯ºÐÀº ¾Æ·¡ÀÇ ½© ½ºÅ©¸³Æ® ó·³ º¸ÀÌ´Â ¸í·ÉµéÀ» »ç¿ëÇØ¾ß ÇÑ´Ù.
#!/bin/sh
#
# Flush the accounting rules
ipfwadm -A -f
#
# Set shortcuts
localnet=44.136.8.96/29
any=0/0
# Add rules for local ethernet segment
ipfwadm -A in -a -P tcp -D $localnet ftp-data
ipfwadm -A out -a -P tcp -S $localnet ftp-data
ipfwadm -A in -a -P tcp -D $localnet www
ipfwadm -A out -a -P tcp -S $localnet www
ipfwadm -A in -a -P tcp -D $localnet
ipfwadm -A out -a -P tcp -S $localnet
ipfwadm -A in -a -P udp -D $localnet
ipfwadm -A out -a -P udp -S $localnet
#
# Rules for default
ipfwadm -A in -a -P tcp -D $any ftp-data
ipfwadm -A out -a -P tcp -S $any ftp-data
ipfwadm -A in -a -P tcp -D $any www
ipfwadm -A out -a -P tcp -S $any www
ipfwadm -A in -a -P tcp -D $any
ipfwadm -A out -a -P tcp -S $any
ipfwadm -A in -a -P udp -D $any
ipfwadm -A out -a -P udp -S $any
#
# List the rules
ipfwadm -A -l -n
#
``ftp-data''¿Í ``www' °°Àº À̸§µéÀº /etc/services
¾ÈÀÇ ÁÙµéÀ»
°¡¸®Å²´Ù. ¸¶Áö¸· ¸í·ÉÀº °¢ Accounting ±ÔÄ¢µé°ú ¸ð¾ÆÁø °á°ú¸¦ Ãâ·ÂÇÑ´Ù.
IP accountingÀ» ºÐ¼®ÇÒ ¶§ ÁÖÀÇÇØ¾ß ÇÒ °ÍÀº Àû¿ëµÇ´Â ¸ðµç ±ÔÄ¢ÀÇ °á°ú°¡ ÇÕÇØÁø´Ù´Â °ÍÀÌ´Ù. µû¶ó¼ ¿øÇÏ´Â °ªÀ» ¾ò±â À§Çؼ± ÀûÀýÇÑ »ê¼ú ¿¬»êÀÌ ÇÊ¿äÇÏ´Ù. ¿¹¸¦ µé¾î ftpµµ wwwµµ ¾Æ´Ñ ÀÚ·áÀÇ ¾çÀ» ¾Ë±æ ¿øÇÑ´Ù¸é °¢ °á°úµéÀ» ¸ðµç Æ÷Æ®¿¡ Àû¿ëµÇ´Â °á°ú¿¡¼ »¬ °ÍÀÌ´Ù.
root# ipfwadm -A -l -n
IP accounting rules
pkts bytes dir prot source destination ports
0 0 in tcp 0.0.0.0/0 44.136.8.96/29 * -> 20
0 0 out tcp 44.136.8.96/29 0.0.0.0/0 20 -> *
10 1166 in tcp 0.0.0.0/0 44.136.8.96/29 * -> 80
10 572 out tcp 44.136.8.96/29 0.0.0.0/0 80 -> *
252 10943 in tcp 0.0.0.0/0 44.136.8.96/29 * -> *
231 18831 out tcp 44.136.8.96/29 0.0.0.0/0 * -> *
0 0 in udp 0.0.0.0/0 44.136.8.96/29 * -> *
0 0 out udp 44.136.8.96/29 0.0.0.0/0 * -> *
0 0 in tcp 0.0.0.0/0 0.0.0.0/0 * -> 20
0 0 out tcp 0.0.0.0/0 0.0.0.0/0 20 -> *
10 1166 in tcp 0.0.0.0/0 0.0.0.0/0 * -> 80
10 572 out tcp 0.0.0.0/0 0.0.0.0/0 80 -> *
253 10983 in tcp 0.0.0.0/0 0.0.0.0/0 * -> *
231 18831 out tcp 0.0.0.0/0 0.0.0.0/0 * -> *
0 0 in udp 0.0.0.0/0 0.0.0.0/0 * -> *
0 0 out udp 0.0.0.0/0 0.0.0.0/0 * -> *
»õ accounting ÄÚµå´Â ``IP Firewall Chains''¸¦ ÅëÇØ ±¸ÇöµÈ´Ù.
IP chains ȨÆäÀÌÁö¸¦ º¸¸é ´õ ¸¹Àº Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Ù. ¹«¾ùº¸´Ùµµ
¿©·¯ºÐÀÇ ÇÊÅ͸¦ ¼³Á¤Çϱâ À§Çؼ± ipfwadm
´ë½Å¿¡ ipchains¸¦ »ç¿ëÇÏ°Ô
µÉ °ÍÀÌ´Ù. (ÃֽŠĿ³Î ¼Ò½ºÀÇ Documentation/Changes
·ÎºÎÅÍ)
ÇÑ ³×Æ®¿÷ ÀåÄ¡¿¡ µÑ ÀÌ»óÀÇ IP ÁÖ¼Ò¸¦ ºÎ¿©ÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×·¥µéÀÌ ÀÖÀ¸¸ç ÀÌ´Â ²Ï À¯¿ëÇÏ´Ù. ISP (Internet Service Provider)µéÀº Á¾Á¾ »ç¿ëÀڵ鿡°Ô Æ¯ÈµÈ World Wide Web°ú ftp¸¦ Á¦°øÇϱâ À§ÇØ ÀÌ ±â´ÉÀ» »ç¿ëÇÑ´Ù. ¿©·¯ºÐÀº ¿©±â¿¡ ³ª¿Â °Íº¸´Ù ´õ ¸¹Àº Á¤º¸¸¦ ``IP-Alias mini-HOWTO''¿¡¼ ¾òÀ» ¼ö ÀÖ´Ù.
Kernel Compile Options:
Networking options --->
....
[*] Network aliasing
....
<*> IP: aliasing support
Ä¿³ÎÀ» IP_Alias Áö¿ø°ú ÇÔ²² ÄÄÆÄÀÏÇؼ ¼³Ä¡ÇÑ ´ÙÀ½¿£ ¼³Á¤Àº ¸Å¿ì °£´ÜÇÏ´Ù.
aliasµéÀº ½ÇÁ¦ ³×Æ®¿÷ ÀåÄ¡¿Í ¿¬°üµÈ °¡»óÀÇ ³×Æ®¿÷ ÀåÄ¡µé¿¡ Ãß°¡µÈ´Ù. ÀÌ
ÀåÄ¡µé¿¡´Â ´Ü¼øÇÑ ¸í¸í¹ýÀÌ ¾²À̴µ¥ <devname>:<virtual dev num>
°ú °°Àº ½ÄÀ¸·Î ¿¹¸¦ µé¾î eth0:0
, ppp0:10
µîÀÌ´Ù. ÀÌ ifname:number
ÀåÄ¡´Â ÁÖ ÀÎÅÍÆäÀ̽º°¡ ¼³Á¤µÈ ÈÄ¿¡¸¸ ¼³Á¤µÉ ¼ö ÀÖ´Ù´Â °ÍÀ» ¸í½ÉÇضó.
¿¹¸¦ µé¾î ¿©·¯ºÐÀÌ µÎ °³ÀÇ ¼·Î ´Ù¸¥ IP ¼ºê³×Æ®¿÷À» µ¿½Ã¿¡ Áö¿øÇÏ´Â ÀÌ´õ³Ý ³×Æ®¿÷À» °¡Áö°í ÀÖ°í ¿©·¯ºÐÀÇ ¸Ó½ÅÀÌ ¾ç ÂÊÀ» ¸ðµÎ Á÷Á¢ Á¢±ÙÇÒ ¼ö ÀÖµµ·Ï ÇÏ°í ½Í´Ù¸é ´ÙÀ½°ú °°ÀÌ ÇØÁÖ¸é µÈ´Ù.
root# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up
root# route add -net 192.168.1.0 netmask 255.255.255.0 eth0
root# ifconfig eth0:0 192.168.10.1 netmask 255.255.255.0 up
root# route add -net 192.168.10.0 netmask 255.255.255.0 eth0:0
alias¸¦ Áö¿ì±â À§Çؼ± ´Ü¼øÈ÷ À̸§ µÚ¿¡ `-
'¸¦ ºÙ¿©ÁÖ¸é µÈ´Ù.
root# ifconfig eth0:0- 0
alias¿¡ °ü·ÃµÈ ¸ðµç route Á¤º¸µéµµ ÀÚµ¿À¸·Î Áö¿öÁú °ÍÀÌ´Ù.
IP Firewall°ú ¹æȺ® ¹®Á¦´Â Firewall-HOWTO¿¡¼ Á» ´õ ±í°Ô ´Ù·ïÁú °ÍÀÌ´Ù. IP FirewallingÀº ¿©·¯ºÐÀÌ ÁöÁ¤ÇÑ IP ÁÖ¼Ò·Î °¡´Â ȤÀº ±× ÁÖ¼Ò¿¡¼ ¿À´Â µ¥ÀÌŸ±×·¥µéÀ» °É·¯³»°Å³ª Åë°ú½ÃÅ´À¸·Î½á Çã°¡µÇÁö ¾ÊÀº ³×Æ®¿÷ Á¢±ÙÀ¸·ÎºÎÅÍ ¿©·¯ºÐÀÇ ¸Ó½ÅÀ» º¸È£ÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. ¼¼ °³ÀÇ ´Ù¸¥ ±ÔÄ¢ µî±ÞÀÌ Àû¿ëµÇ´Âµ¥ incoming filtering°ú outgoing filtering, forwarding filteringÀÌ´Ù. Incoming ruleÀº ³×Æ®¿÷ ÀåÄ¡°¡ ¹Þ¾ÆµéÀÌ´Â µ¥ÀÌŸ±×·¥¿¡ Àû¿ëµÇ¸ç Outgoing ruleÀº ³×Æ®¿÷ ÀåÄ¡¸¦ ÅëÇØ ³ª°¡´Â µ¥ÀÌŸ±×·¥¿¡, Forwarding ruleÀº ¹Þ¾Æµé¿©Áö±ä Çϳª ÀÌ ¸Ó½ÅÀ¸·Î ¿ÀÁö ¾ÊÀº, ´Ù½Ã¸»ÇØ ÀÌ ¸Ó½ÅÀ» °ÅÃÄ ´Ù¸¥ °÷À¸·Î °¡´Â µ¥ÀÌŸ±×·¥¿¡ Àû¿ëµÈ´Ù.
Kernel Compile Options:
Networking options --->
[*] Network firewalls
....
[*] IP: forwarding/gatewaying
....
[*] IP: firewalling
[ ] IP: firewall packet logging
IP firewall ±ÔÄ¢µéÀÇ ¼³Á¤Àº ipfwadm ¸í·ÉÀ» »ç¿ëÇÏ¿© ÀÌ·ç¾îÁø´Ù. ¾Õ¿¡¼ ¾ð±ÞÇÑ °Íó·³ ³ª´Â º¸¾È Àü¹®°¡°¡ ¾Æ´Ï¸ç µû¶ó¼ º¸¾ÈÀÌ ¿©·¯ºÐ¿¡°Ô Áß¿äÇÑ ¹®Á¦¶ó¸é ³»°¡ °£´ÜÇÑ ¿¹Á¦¸¦ º¸¿©ÁÖ´Â °Í°ú´Â º°µµ·Î ¿©·¯ºÐ ½º½º·Î ±ÔÄ¢µéÀ» °øºÎÇÏ°í °³¹ßÇØ¾ß ÇÑ´Ù.
IP firewallÀ» ¾²´Â ´ëºÎºÐÀÇ °æ¿ì´Â ¾Æ¸¶µµ ¸®´ª½º ¸Ó½ÅÀ» ¶ó¿ìÅͳª ¹æȺ®ÀÇ °ÔÀÌÆ®¿þÀÌ(gateway)·Î »ç¿ëÇÏ¿© ¿©·¯ºÐÀÇ ·ÎÄ® ³×Æ®¿÷À» ¿ÜºÎÀÇ Çã°¡µÇÁö ¾ÊÀº Á¢±ÙÀ¸·ÎºÎÅÍ º¸È£ÇÏ°íÀÚ ÇÏ´Â °æ¿ìÀÏ °ÍÀÌ´Ù.
¾Æ·¡ÀÇ ¼³Á¤Àº Arnt Gulbrandsen, <agulbra@troll.no>
ÀÇ µµ¿ò¿¡
±â¹ÝÇÏ°í ÀÖ´Ù.
¾Æ·¡ÀÇ ¿¹Á¦´Â ¹ØÀÇ ±×¸²¿¡ ³ª¿Â °Íó·³ ¸®´ª½º firewall/router ¸Ó½Å À§¿¡ ¹æȺ®À» ¼³Á¤ÇßÀ» °æ¿ìÀÌ´Ù.
- -
\ | 172.16.37.0
\ | /255.255.255.0
\ --------- |
| 172.16.174.30 | Linux | |
NET =================| f/w |------| ..37.19
| PPP | router| | --------
/ --------- |--| Mail |
/ | | /DNS |
/ | --------
- -
¾Æ·¡ ¸í·ÉµéÀº º¸Åë rc
ÆÄÀÏ ¾È¿¡ µé¾î°¡¼ ½Ã½ºÅÛÀÌ ºÎÆÃµÉ ¶§¸¶´Ù
ÀÚµ¿À¸·Î ½ÃÀ۵ǵµ·Ï µÇ¾îÀÖ´Ù. º¸¾ÈÀ» ÃÖ´ë·Î Çϱâ À§Çؼ± ÀÎÅÍÆäÀ̽º°¡ ¼³Á¤µÈ
ÈÄ¿¡, ±×·¯³ª ¹æȺ® ¸Ó½ÅÀÌ ¸®ºÎÆõǴ µ¿¾È ´©±º°¡ Á¢±Ù ±ÇÇÑÀ» ¾ò´Â °ÍÀ» ¸·±â
À§ÇØ ÀÎÅÍÆäÀ̽º°¡ ½ÇÁ¦·Î ÀÛµ¿µÇ±â ÀÌÀü¿¡ ¾Æ·¡ ¸í·ÉµéÀÌ ½ÇÇàµÇ¾ß ÇÑ´Ù.
#!/bin/sh
# Flush the 'Forwarding' rules table
# Change the default policy to 'accept'
#
/sbin/ipfwadm -F -f
/sbin/ipfwadm -F -p accept
#
# .. and for 'Incoming'
#
/sbin/ipfwadm -I -f
/sbin/ipfwadm -I -p accept
# First off, seal off the PPP interface
# I'd love to use '-a deny' instead of '-a reject -y' but then it
# would be impossible to originate connections on that interface too.
# The -o causes all rejected datagrams to be logged. This trades
# disk space against knowledge of an attack of configuration error.
#
/sbin/ipfwadm -I -a reject -y -o -P tcp -S 0/0 -D 172.16.174.30
# Throw away certain kinds of obviously forged packets right away:
# Nothing should come from multicast/anycast/broadcast addresses
#
/sbin/ipfwadm -F -a deny -o -S 224.0/3 -D 172.16.37.0/24
#
# and nothing coming from the loopback network should ever be
# seen on a wire
#
/sbin/ipfwadm -F -a deny -o -S 127.0/8 -D 172.16.37.0/24
# accept incoming SMTP and DNS connections, but only
# to the Mail/Name Server
#
/sbin/ipfwadm -F -a accept -P tcp -S 0/0 -D 172.16.37.19 25 53
#
# DNS uses UDP as well as TCP, so allow that too
# for questions to our name server
#
/sbin/ipfwadm -F -a accept -P udp -S 0/0 -D 172.16.37.19 53
#
# but not "answers" coming to dangerous ports like NFS and
# Larry McVoy's NFS extension. If you run squid, add its port here.
#
/sbin/ipfwadm -F -a deny -o -P udp -S 0/0 53 \
-D 172.16.37.0/24 2049 2050
# answers to other user ports are okay
#
/sbin/ipfwadm -F -a accept -P udp -S 0/0 53 \
-D 172.16.37.0/24 53 1024:65535
# Reject incoming connections to identd
# We use 'reject' here so that the connecting host is told
# straight away not to bother continuing, otherwise we'd experience
# delays while ident timed out.
#
/sbin/ipfwadm -F -a reject -o -P tcp -S 0/0 -D 172.16.37.0/24 113
# Accept some common service connections from the 192.168.64 and
# 192.168.65 networks, they are friends that we trust.
#
/sbin/ipfwadm -F -a accept -P tcp -S 192.168.64.0/23 \
-D 172.16.37.0/24 20:23
# accept and pass through anything originating inside
#
/sbin/ipfwadm -F -a accept -P tcp -S 172.16.37.0/24 -D 0/0
# deny most other incoming TCP connections and log them
# (append 1:1023 if you have problems with ftp not working)
#
/sbin/ipfwadm -F -a deny -o -y -P tcp -S 0/0 -D 172.16.37.0/24
# ... for UDP too
#
/sbin/ipfwadm -F -a deny -o -P udp -S 0/0 -D 172.16.37.0/24
ÁÁÀº ¹æȺ® ¼³Á¤Àº º¹ÀâÇÏ´Ù. ÀÌ ¿¹Á¦´Â ¿©·¯ºÐ¿¡°Ô ¾î´À Á¤µµÀÇ ½ÃÀÛÁ¡¸¸À» º¸¿©ÁØ´Ù. ipfwadm ¸Þ´º¾ó ÆäÀÌÁö°¡ ÀÌ ÅøÀ» »ç¿ëÇÏ´Â µ¥¿¡ µµ¿òÀÌ µÉ °ÍÀÌ´Ù. ¹æȺ®À» ¼³Á¤ÇÏ°íÀÚ ÇÑ´Ù¸é ¹ÏÀ»¸¸ÇÑ °÷¿¡ ¹°¾îº¸°í ¸¹Àº Ãæ°í¸¦ ¹Þ¾Æ¶ó. ¶ÇÇÑ ¿ÜºÎ¿¡¼ ¿©·¯ºÐÀÇ ¼³Á¤À» °Ë»çÇϵµ·Ï Çضó.
»õ·Î¿î ¹æȺ® Äڵ尡 ``IP Firewall Chains''¸¦ ÅëÇØ ±¸ÇöµÈ´Ù.
´õ ¸¹Àº Á¤º¸¸¦ À§Çؼ±
IP chains ȨÆäÀÌÁö¸¦ º¸¶ó. Áö±Ý ¿©·¯ºÐÀÇ ÇÊÅ͸¦ ¼³Á¤Çϱâ À§Çؼ±
ipfwadm
´ë½Å ipchains¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù´Â °ÍÀ» ¾Ë¾Æ¾ß ÇÑ´Ù. (ÃÖ½Å
Ä¿³ÎÀÇ Documentation/Changes
ÂüÁ¶)
¿ì¸®µµ ÀÌ ³»¿ëÀÌ ÃֽŰú °Å¸®°¡ ¸Ö´Ù´Â °ÍÀ» ¾Ë°í ÀÖÀ¸¸ç Á» ´õ ÃֽŠ³»¿ëÀ» ´Ù·ç±â À§ÇØ ÇöÀç ÀÛ¾÷ÁßÀÌ´Ù. ¾Æ¸¶ 1999³â 8¿ùÀÇ »õ ¹öÁ¯¿¡¼± ´Ù·ïÁú °ÍÀÌ´Ù. (¿ªÀÚÁÖ: ÇöÀç ¹ø¿ªÁßÀÎ ÀÌ ¹®¼°¡ 1999³â 8¿ù ¹öÁ¯ÀÌ´Ù-_-;)
¿Ö ¿©·¯ºÐÀº IP µ¥ÀÌŸ±×·¥ ³»¿¡ IP µ¥ÀÌŸ±×·¥À» Áý¾î³Ö±â¸¦ ¿øÇϳª? ÀÌ·± ¹æ½ÄÀ» ÀÌÀü¿¡ º» ÀûÀÌ ¾ø´Ù¸é ÀÌ»óÇÑ °ÍÀ¸·Î º¸ÀÏ °ÍÀÌ´Ù. Mobile-IP¿Í IP-Multicast°¡ ÀÌ ¹æ½ÄÀÌ »ç¿ëµÇ´Â ÈçÇÑ ¿¹ÀÌ´Ù. ¶ÇÇÑ Àß ¾Ë·ÁÁ® ÀÖÁø ¾ÊÁö¸¸ ÀÌ ¹æ½ÄÀ» Á¦ÀÏ ¸¹ÀÌ ¾²´Â °÷Àº Amateur RadioÀÌ´Ù.
Kernel Compile Options:
Networking options --->
[*] TCP/IP networking
[*] IP: forwarding/gatewaying
....
<*> IP: tunneling
IP tunnel ÀåÄ¡´Â `tunl0
', `tunl1
' µîÀ¸·Î ºÒ¸°´Ù.
ÀϹÝÀûÀÎ IP ¶ó¿ìÆà ±ÔÄ¢Àº IP ³×Æ®¿÷ÀÌ ³×Æ®¿÷ ÁÖ¼Ò¿Í ³×Æ®¿÷ ¸¶½ºÅ©·Î ÀÌ·ç¾îÁ® ÀÖµµ·Ï ¿ä±¸ÇÑ´Ù. ÀÌ´Â ÇÑ ¶ó¿ìÆà ¿£Æ®¸®¸¦ ÅëÇØ ÀÏ·ÃÀÇ ¿¬¼ÓµÈ ÁÖ¼ÒµéÀÌ ¸ðµÎ ¶ó¿ìÆõǵµ·Ï ÇØÁØ´Ù. ÀÌ´Â ¸Å¿ì Æí¸®ÇÏÁö¸¸ ¿©·¯ºÐÀÌ ³×Æ®¿÷ÀÇ Æ¯Á¤ ºÎºÐ¿¡ ¿¬°áµÇ¾î ÀÖ´Â µ¿¾È ƯÁ¤ IP ÁÖ¼Ò¸¸À» »ç¿ëÇØ¾ß ÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ´ëºÎºÐÀÇ °æ¿ì ¹®Á¦°¡ ¾øÀ¸³ª ¿©·¯ºÐÀÇ mobile netizenÀ̶ó¸é °è¼Ó ÇÑ Àå¼Ò¿¡ Á¢¼ÓµÇ¾î ÀÖÀ» ¼ø ¾øÀ» °ÍÀÌ´Ù. IP/IP encapsulation (IP tunneling)Àº ¿©·¯ºÐÀÇ IP ÁÖ¼Ò·Î ¿Àµµ·Ï µÇ¾î ÀÖ´Â µ¥ÀÌŸ±×·¥ÀÌ ÇÑ ¹ø ´õ ½×¿©Á®¼ ´Ù¸¥ IP ÁÖ¼Ò·Î µ¹·ÁÁöµµ·Ï ÇϹǷνá Á¦ÇÑÀ» ±Øº¹ÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. ¸¸¾à ¿©·¯ºÐÀÌ ´Ù¸¥ IP ³×Æ®¿÷¿¡¼ ÀÛ¾÷À» ÇÒ ¿¹Á¤À̶ó¸é ¿ø·¡ ³×Æ®¿÷ÀÇ ¸Ó½ÅÀÌ ¿©·¯ºÐÀÇ IP ÁÖ¼Ò·Î ¿À´Â µ¥ÀÌŸ±×·¥À» ¹Þ¾Æ¼ Àӽ÷ΠÇöÀç »ç¿ëÇÏ´Â ÁÖ¼Ò·Î µ¹·ÁÁÖµµ·Ï ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.
192.168.1/24 192.168.2/24
- -
| ppp0 = ppp0 = |
| aaa.bbb.ccc.ddd fff.ggg.hhh.iii |
| |
| /-----\ /-----\ |
| | | // | | |
|---| A |------//---------| B |---|
| | | // | | |
| \-----/ \-----/ |
| |
- -
ÀÌ ±×¸²Àº IPIP encapsulationÀ» ¾²´Â ´Ù¸¥ ¸¶¶¥ÇÑ ÀÌÀ¯, °¡»ó °³º° ³×Æ®¿öÅ·À» ³ªÅ¸³½´Ù. ÀÌ ¿¹Á¦´Â ¿©·¯ºÐÀÌ ±âº»ÀûÀÎ ´ÙÀ̾ó¾÷ ÀÎÅÍ³Ý ¿¬°áÀ» °¡Áø µÎ ¸Ó½ÅÀ» °¡Áö°í ÀÖ´Ù°í °¡Á¤ÇÑ´Ù. °¢ È£½ºÆ®´Â ÇÑ °³ÀÇ IP ÁÖ¼Ò¸¦ ºÎ¿©¹Þ¾Ò´Ù. ÀÌ ¸Ó½Åµé µÚ¿¡´Â ¿¹¾àµÈ IP ³×Æ®¿÷ ÁÖ¼Ò·Î ¼³Á¤µÈ ·ÎÄ® ³×Æ®¿÷ÀÌ Á¸ÀçÇÑ´Ù. ³×Æ®¿÷ ¶ó¿ìÅÍ·Î ÀÎÅͳݿ¡ ¿¬°áµÇ´Â °Íó·³ A ³×Æ®¿÷¿¡ Àִ ȣ½ºÆ®µéÀÌ B ³×Æ®¿÷ À§ÀÇ È£½ºÆ®µé¿¡ Á¢¼ÓÇÒ ¼ö ÀÖµµ·Ï ÇÏ±æ ¿øÇÑ´Ù°í Çغ¸ÀÚ. IPIP encapsulationÀÌ À̸¦ °¡´ÉÇÏ°Ô ÇØÁØ´Ù. ÁÖÀÇÇÒ °ÍÀº encapsulationÀÌ A¿Í B ³×Æ®¿÷ »óÀÇ È£½ºÆ®µéÀÌ ÀÎÅÍ³Ý »ó¿¡¼ ¼·Î Åë½ÅÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ¹®Á¦¸¦ ÇØ°áÇÏ´Â °ÍÀÌ ¾Æ´Ï¸ç ¿©ÀüÈ÷ À̸¦ À§Çؼ± IP Masquerade °°Àº ±â¹ýÀ» »ç¿ëÇØ¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù. encapsulationÀº º¸Åë ¶ó¿ìÅͷνáÀÇ ¸Ó½Å ±â´É¿¡ ÀÇÇØ ±¸ÇöµÈ´Ù.
¸®´ª½º ¶ó¿ìÅÍ `A
'´Â ¾Æ·¡¿Í °°Àº ½ºÅ©¸³Æ®·Î ¼³Á¤µÉ °ÍÀÌ´Ù.
#!/bin/sh
PATH=/sbin:/usr/sbin
mask=255.255.255.0
remotegw=fff.ggg.hhh.iii
#
# Ethernet configuration
ifconfig eth0 192.168.1.1 netmask $mask up
route add -net 192.168.1.0 netmask $mask eth0
#
# ppp0 configuration (start ppp link, set default route)
pppd
route add default ppp0
#
# Tunnel device configuration
ifconfig tunl0 192.168.1.1 up
route add -net 192.168.2.0 netmask $mask gw $remotegw tunl0
¸®´ª½º ¶ó¿ìÅÍ `B
'´Â ¾Æ·¡¿Í °°Àº ½ºÅ©¸³Æ®·Î ¼³Á¤µÉ °ÍÀÌ´Ù.
#!/bin/sh
PATH=/sbin:/usr/sbin
mask=255.255.255.0
remotegw=aaa.bbb.ccc.ddd
#
# Ethernet configuration
ifconfig eth0 192.168.2.1 netmask $mask up
route add -net 192.168.2.0 netmask $mask eth0
#
# ppp0 configuration (start ppp link, set default route)
pppd
route add default ppp0
#
# Tunnel device configuration
ifconfig tunl0 192.168.2.1 up
route add -net 192.168.1.0 netmask $mask gw $remotegw tunl0
¸í·É:
route add -net 192.168.1.0 netmask $mask gw $remotegw tunl0
ÀÌ´Â `192.168.1.0/24
·Î ÇâÇÏ´Â µ¥ÀÌŸ±×·¥µéÀ» IPIP ĸ½¶È µ¥ÀÌŸ±×·¥
¼Ó¿¡ ³Ö¾î¼ aaa.bbb.ccc.ddd
'ÀÇ ÁÖ¼Ò·Î º¸³½´Ù'´Â °ÍÀ» ¶æÇÑ´Ù.
¼³Á¤Àº ¾ç Ãø¿¡¼ ÀÏÄ¡ÇØ¾ß ÇÑ´Ù. tunnel ÀåÄ¡´Â ¶ó¿ìÆýÿ¡ ÀÚ½ÅÀÌ ¶ó¿ìÆÃÇϵµ·Ï
¹ÞÀº µ¥ÀÌŸ±×·¥À» Áý¾î³ÖÀ» IP µ¥ÀÌŸ±×·¥ÀÇ ¸ñÀûÁö·Î `gw
'¸¦ »ç¿ëÇÑ´Ù.
±× ¸Ó½Å ¿ª½Ã IPIP µ¥ÀÌŸ±×·¥À» decapsulateÇÏ´Â ¹ýÀ» ¾Ë¾Æ¾ß ÇÏ¸ç ´Ù½Ã¸»ÇØ
tunnel ÀåÄ¡°¡ ¼³Á¤µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.
¶ó¿ìÆà ÇÏ´Â °ÍÀÌ Àüü ³×Æ®¿÷ÀÏ ÇÊ¿æ ¾øÀ¸¸ç ´Ü ÇϳªÀÇ IP ÁÖ¼Ò¸¸À» ¶ó¿ìÆÃÇÒ ¼ö ÀÖ´Ù.
ÀÌ·² °æ¿ì `¿ø°Ý' ¸Ó½ÅÀÇ tunl
ÀåÄ¡´Â ¸Ó½ÅÀÇ IP ÁÖ¼Ò·Î ¼ºÀýÇØ¾ß Çϸç A ÂÊ¿¡¼±
tunnel ÀåÄ¡¸¦ ÅëÇÑ ³×Æ®¿÷ ¶ó¿ìÆà º¸´Ù´Â È£½ºÆ® ¶ó¿ìÆÃ(±×¸®°í Proxy Arp)¸¦ »ç¿ëÇؾß
ÇÑ´Ù. ÀÌ¿¡ ¸Âµµ·Ï ¼³Á¤À» Á¶Á¤Çؼ ¾Ë¸Â°Ô ´Ù½Ã ±×·Áº¸ÀÚ. ÀÌÁ¦ ¿ì¸®´Â ¿ÏÀüÈ÷
ÀÎÅͳݿ¡ ¿¬°áµÇ¾î ÀÖ°í È£½ºÆ® `A
'¿¡ ÀÇÇØ Áö¿øµÇ´Â ¿ø°Ý ³×Æ®¿÷ÀÇ ÀϺÎÀÎ °Íó·³
ÀÛµ¿ÇÏ·Á´Â È£½ºÆ® `B
'¸¦ °¡Áö°í ÀÖ´Ù.
192.168.1/24
-
| ppp0 = ppp0 =
| aaa.bbb.ccc.ddd fff.ggg.hhh.iii
|
| /-----\ /-----\
| | | // | |
|---| A |------//---------| B |
| | | // | |
| \-----/ \-----/
| also: 192.168.1.12
-
¸®´ª½º ¶ó¿ìÅÍ `A
'´Â ´ÙÀ½°ú °°ÀÌ ¼³Á¤µÈ´Ù.
#!/bin/sh
PATH=/sbin:/usr/sbin
mask=255.255.255.0
remotegw=fff.ggg.hhh.iii
#
# Ethernet configuration
ifconfig eth0 192.168.1.1 netmask $mask up
route add -net 192.168.1.0 netmask $mask eth0
#
# ppp0 configuration (start ppp link, set default route)
pppd
route add default ppp0
#
# Tunnel device configuration
ifconfig tunl0 192.168.1.1 up
route add -host 192.168.1.12 gw $remotegw tunl0
#
# Proxy ARP for the remote host
arp -s 192.168.1.12 xx:xx:xx:xx:xx:xx pub
¸®´ª½º È£½ºÆ® `B
'´Â ´ÙÀ½°ú °°ÀÌ ¼³Á¤µÈ´Ù.
#!/bin/sh
PATH=/sbin:/usr/sbin
mask=255.255.255.0
remotegw=aaa.bbb.ccc.ddd
#
# ppp0 configuration (start ppp link, set default route)
pppd
route add default ppp0
#
# Tunnel device configuration
ifconfig tunl0 192.168.1.12 up
route add -net 192.168.1.0 netmask $mask gw $remotegwtunl0
ÀÌ·± Á¾·ùÀÇ ¼³Á¤Àº Mobile-IP ºÐ¾ß¿¡¼ ´õ¿í ÀüÇüÀûÀÌ´Ù. ÀÌ ºÐ¾ß¿¡¼´Â ÇϳªÀÇ È£½ºÆ®°¡ ÀÎÅÍ³Ý ³»ºÎ¸¦ µ¹¾Æ´Ù´Ï¸é¼µµ ³»³» ÇϳªÀÇ IP ÁÖ¼Ò¸¦ »ç¿ëÇÏ°íÀÚ ÇÑ´Ù. ½ÇÁ¦·Î À̸¦ ´Ù·ç´Â °Í¿¡ ´ëÇÑ ´õ ¸¹Àº Á¤º¸¸¦ ¿øÇÑ´Ù¸é Mobile-IP ºÎºÐÀ» Âü°íÇ϶ó.
¸¹Àº »ç¶÷µéÀº ÀÎÅͳݿ¡ Á¢¼ÓÇϱâ À§ÇØ ´Ü¼øÇÑ ´ÙÀ̾ó¾÷ °èÁ¤À» °¡Áö°í ÀÖÀ» »ÓÀÌ´Ù. ÀÌ·± Á¾·ùÀÇ ¼³Á¤À» ¾²´Â °ÅÀÇ ¸ðµç »ç¶÷µéÀº ISP (Internet Service Provider) ·ÎºÎÅÍ ´ÜÁö ÇϳªÀÇ IP ÁÖ¼Ò¸¸À» ÇÒ´ç¹Þ´Â´Ù. ÀÌ´Â ´Ü ÇϳªÀÇ È£½ºÆ®°¡ ³×Æ®¿÷¿¡ Á¢¼ÓÇÒ °æ¿î ÀϹÝÀûÀ¸·Î ÃæºÐÇÏ´Ù. IP Masquerade´Â ¿©·¯ È£½ºÆ®µéÀÌ ´ÙÀ̾ó¾÷ ¿¬°áÀ» ÇÏ´Â ¸Ó½Åó·³ º¸À̵µ·Ï ÇϹǷνá ÇÑ IP ÁÖ¼Ò¸¦ ¿©·¯ ¸Ó½ÅµéÀÌ ¾µ ¼ö ÀÖµµ·Ï ÇÏ´Â ÀÏÁ¾ÀÇ Æ®¸¯ÀÌ´Ù. (¿ªÀÚÁÖ: masquerade´Â °¡Àå ¹«µµÈ¸, °¡ÀåÇÏ´Ù. ÀÇ ¶æÀÌ´Ù.) ÇÑ ÀÛÀº Á¦ÇÑÁ¡Àº masquerade ±â´ÉÀ» ÇÑ ¹æÇâÀ¸·Î¸¸ ÀÛµ¿ÇÑ´Ù´Â °ÍÀÌ´Ù. ´Ù½Ã ¸»ÇØ ÀÌ ±â´ÉÀ» »ç¿ëÇϴ ȣ½ºÆ®´Â Á¢¼ÓÀ» Çϵµ·Ï ¿äûÀ» ÇÒ ¼ö´Â ÀÖÁö¸¸ ¿ø°Ý È£½ºÆ®·ÎºÎÅÍÀÇ Á¢¼ÓÀ» ¹Þ¾ÆµéÀÌÁö´Â ¸øÇÑ´Ù´Â °ÍÀÌ´Ù. talk°°Àº ÀϺΠ³×Æ®¿÷ ¼ºñ½º´Â ÀÛµ¿ÇÏÁö ¾ÊÀ¸¸ç ftp°°Àº ¼ºñ½ºµéÀº ¼öµ¿ (PASV) ¸ðµå·Î ÀÛµ¿Çϵµ·Ï ¼³Á¤µÇ¾î¾ß ÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ¿îÀÌ ÁÁ°Ôµµ WWW³ª irc, telnet °°Àº ´ëºÎºÐÀÇ ³×Æ®¿÷ ¼ºñ½º´Â Àß ÀÛµ¿ÇÑ´Ù.
Kernel Compile Options:
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
Networking options --->
[*] Network firewalls
....
[*] TCP/IP networking
[*] IP: forwarding/gatewaying
....
[*] IP: masquerading (EXPERIMENTAL)
º¸Åë ¿©·¯ºÐÀº ¸®´ª½º ¸Ó½Å¿¡ ´Üµ¶(standalone) ¸Ó½ÅÀÏ ¶§Ã³·³ slipÀ̳ª ppp ¿¬°áÀ» Áö¿øÇϵµ·Ï ¸¸µç´Ù. ÀÌ¿¡ Ãß°¡·Î ¿¹¾àµÈ ³×Æ®¿÷ ÁÖ¼Ò·Î ¼³Á¤ÀÌ µÈ ÀÌ´õ³Ý °°Àº ¶Ç ´Ù¸¥ ³×Æ®¿÷ ÀåÄ¡¸¦ °¡Áö°í ÀÖÀ» °ÍÀÌ´Ù. masquerade µÉ È£½ºÆ®µéÀº ÀÌ µÎ ¹ø° ³×Æ®¿÷ »ó¿¡ Á¸ÀçÇÑ´Ù. °¢°¢ÀÇ ÀÌ È£½ºÆ®µéÀº À§ ¸®´ª½º ¸Ó½ÅÀÇ ÀÌ´õ³Ý Æ÷Æ® ÁÖ¼Ò¸¦ ±âº» gateway³ª ¶ó¿ìÅÍ·Î ¼³Á¤ÇÑ´Ù.
ÀüÇüÀûÀÎ ¼³Á¤Àº ¾Æ·¡Ã³·³ º¸ÀδÙ.
- -
\ | 192.168.1.0
\ | /255.255.255.0
\ --------- |
| | Linux | .1.1 |
NET =================| masq |------|
| PPP/slip | router| | --------
/ --------- |--| host |
/ | | |
/ | --------
- -
IPFWADMÀ» ÀÌ¿ëÇÑ Masquerading
ÀÌ ¼³Á¤¿¡ °¡Àå ÀûÀýÇÑ ¸í·ÉÀº ¾Æ·¡¿Í °°´Ù.
# Network route for ethernet
route add -net 192.168.1.0 netmask 255.255.255.0 eth0
#
# Default route to the rest of the internet.
route add default ppp0
#
# Cause all hosts on the 192.168.1/24 network to be masqueraded.
ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0
IPCHAINSÀ» ÀÌ¿ëÇÑ Masquerading
IPFWADMÀ» ¾²´Â °æ¿ì¿Í ºñ½ÁÇϳª ¸í·É ±¸Á¶°¡ ¹Ù²î¾ú´Ù.
# Network route for ethernet
route add -net 192.168.1.0 netmask 255.255.255.0 eth0
#
# Default route to the rest of the internet.
route add default ppp0
#
# Cause all hosts on the 192.168.1/24 network to be masqueraded.
ipchains -A forward -s 192.168.1.0/24 -j MASQ
¿©·¯ºÐÀº IP Masquerade Resource Page·ÎºÎÅÍ Linux IP Masquerade¿¡ ´ëÇÑ ´õ ¸¹Àº Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Ù. ¶ÇÇÑ masquerading¿¡ ´ëÇÑ ¸Å¿ì ÀÚ¼¼ÇÑ ¹®¼·Î ``IP-Masquerade mini-HOWTO''°¡ ÀÖ´Ù(¿©±â¿¡´Â ´Ù¸¥ OSµéÀ» Linux masquerade ¼¹ö¿Í ÇÔ²² ÀÛµ¿Çϵµ·Ï ¼³Á¤ÇÏ´Â ¹ýµµ ³ª¿ÍÀÖ´Ù).
ip transparent proxy´Â ´Ù¸¥ ¸Ó½ÅÀ» ÇâÇÏ´Â ¼ºñ½º³ª ¼¹ö¸¦ ÀÌ ¸Ó½ÅÀÇ ±× ¼ºñ½ºµé·Î µ¹¸± ¼ö ÀÖµµ·Ï ÇØÁÖ´Â ±â´ÉÀÌ´Ù. ÀϹÝÀûÀ¸·Î ÀÌ ±â´ÉÀº ¸®´ª½º ¸Ó½ÅÀ» ¶ó¿ìÅÍ·Î ¾²´Â µ¿½Ã¿¡ proxy ¼¹ö·Î ¾²´Â °÷¿¡¼ À¯¿ëÇÏ´Ù. ¿©·¯ºÐÀº °¢ ¼ºñ½ºµé·Î ¿À´Â ¸ðµç ¿¬°áµéÀ» ·ÎÄ® proxy ¼¹ö·Î µ¹¸± ¼ö ÀÖ´Ù.
Kernel Compile Options:
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
Networking options --->
[*] Network firewalls
....
[*] TCP/IP networking
....
[*] IP: firewalling
....
[*] IP: transparent proxy support (EXPERIMENTAL)
transparent proxy Ư¡ÀÇ ¼³Á¤Àº ipfwadm ¸í·ÉÀ» »ç¿ëÇؼ ÇÑ´Ù.
¾µ¸¸ÇÑ ¿¹°¡ ¾Æ·¡¿¡ ÀÖ´Ù.
root# ipfwadm -I -a accept -D 0/0 telnet -r 2323
ÀÌ ¿¹´Â ¾î¶² È£½ºÆ®ÀÇ telnet
Æ÷Æ®(23)¿¡ µé¾î¿À´Â ¿¬°áµéÀ» ¸ðµÎ ÀÌ È£½ºÆ®ÀÇ
2323 Æ÷Æ®·Î µ¹·ÁÁØ´Ù. ¸¸¾à ±× Æ÷Æ®¿¡¼ ¼ºñ½º¸¦ µ¹¸®°í ÀÖ´Ù¸é À̸¦ telnet ¿¬°á·Î
µ¹¸®°Å³ª log¸¦ ³²±â°Å³ª ȤÀº ¿øÇÏ´Â ¹«¾ùÀ̵ç ÇÒ ¼ö ÀÖ´Ù.
´õ¿í Èï¹ÌÀÖ´Â ¿¹´Â ¸ðµç http
¿¬°áµéÀ» local cache¸¦ ÅëÇϵµ·Ï µ¹¸®´Â °ÍÀÌ´Ù.
±×·¯³ª proxy ¼¹ö°¡ »ç¿ëÇÏ´Â protocolÀº º¸ÅëÀÇ http¿Í´Â ´Ù¸£´Ù. Ŭ¶óÀ̾ðÆ®°¡ http¸¦
ÀÌ¿ëÇÒ °æ¿î www.server.com:80
¿¡ ¿¬°áµÇ¾î /path/page
¸¦ ¿äûÇÏÁö¸¸
local cache¿¡ ¿¬°áµÉ ¶§´Â proxy.local.domain:8080
¿¡ Á¢¼ÓÇؼ
www.server.com/path/page
¸¦ ¿äûÇÑ´Ù.
http
¿äûÀ» local proxy¸¦ ÅëÇØ °É·¯³»±â À§Çؼ± transproxy
¶ó´Â ÀÛÀº ¼¹ö¸¦
»ðÀÔÇؼ ±× ÇÁ·ÎÅäÄÝÀ» ¹Þ¾ÆµéÀÏ ÇÊ¿ä°¡ ÀÖ´Ù (ÀÌ´Â À¥¿¡¼ ½±°Ô ±¸ÇÒ ¼ö ÀÖ´Ù). ÀÌ
transproxy
¸¦ 8081 Æ÷Æ®¿¡¼ µ¹µµ·Ï °áÁ¤ÇÑ ´ÙÀ½ ¾Æ·¡ ¸í·ÉÀ» ³»¸°´Ù.
root# ipfwadm -I -a accept -D 0/0 80 -r 8081
±×·¯¸é transproxy
ÇÁ·Î±×·¥Àº ¿ÜºÎ ¼¹ö·Î °¡´Â ¸ðµç ¿¬°áÀ» ¹ÞÀº ÈÄ ÇÁ·ÎÅäÄÝ°£ÀÇ
»óÀÌÁ¡À» º¸Á¤ÇÑ ÈÄ local proxy·Î ±× ¿¬°áµéÀ» º¸³¾ °ÍÀÌ´Ù.
¿©·¯ºÐÀÌ ¸· IP ³×Æ®¿öÅ·À» ÀÌÇØÇϱ⠽ÃÀÛÇÏ´Â ¼ø°£ ±ÔÄ¢ÀÌ º¯ÇüµÇ¾ú´Ù. IPv6´Â Internet ProtocolÀÇ version 6¿¡ ´ëÇÑ ÁÙÀÓ¸»ÀÌ´Ù. IPv6´Â ÇÒ´çÇÒ IP ÁÖ¼ÒÀÇ ºÎÁ· ¹®Á¦¸¦ ±Øº¹Çϱâ À§ÇØ °³¹ßµÇ¾ú´Ù. IPv6 ÁÖ¼Ò´Â 16¹ÙÀÌÆ®(128ºñÆ®)¸¦ »ç¿ëÇÑ´Ù. IPv6´Â ¸¹Àº ´Ù¸¥ ¼öÁ¤ »çÇ×µéÀ» Æ÷ÇÔÇϴµ¥ ±× Áß¿£ IPv4 ³×Æ®¿÷ º¸´Ù IPv6 ³×Æ®¿÷À» ´Ù·ç±â ½±µµ·Ï ÇÏ´Â ´Ü¼øȵµ ÀÖ´Ù.
¸®´ª½º´Â ÀÌ¹Ì ¿ÏÀüÇÏÁö´Â ¾ÊÁö¸¸ ÀÛµ¿Àº ÇÏ´Â IPv6¸¦ 2.2.*
¹öÁ¯ÀÇ Ä¿³Îµé¿¡¼
±¸ÇöÇØ ³ù´Ù.
¿©·¯ºÐÀÌ ÀÌ »õ·Î¿î ÀÎÅÍ³Ý ±â¼úÀ» °æÇèÇØ º¸°í ½Í°Å³ª ÇÊ¿äÇÏ´Ù¸é www.terra.net¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Â IPv6-FAQ¸¦ Àо¶ó.
"IP mobility"¶ó´Â ¸»Àº ÇÑ È£½ºÆ®°¡ IP ÁÖ¼ÒÀÇ º¯È³ª ¿¬°á Áß´Ü ¾øÀÌ ÀÎÅͳÝÀÇ ÇÑ ÁöÁ¡¿¡¼ ´Ù¸¥ ÁöÁ¡À¸·Î ¿¬°áÀ» À̵¿½Ãų ¼ö ÀÖ´Â ´É·ÂÀ» ¸»ÇÑ´Ù. ÀϹÝÀûÀ¸·Î IP È£½ºÆ®°¡ ¿¬°á ÁöÁ¡À» ¹Ù²Ù´Â °æ¿ì IP ÁÖ¼Òµµ ¹Ù²ã¾ß¸¸ ÇÑ´Ù. IP Mobility´Â mobile È£½ºÆ®¿¡ °íÁ¤ IP ÁÖ¼Ò¸¦ ÇÒ´çÇÏ°í ÀÌ ÁÖ¼Ò·Î ¿À´Â µ¥ÀÌŸ±×·¥µéÀ» ½ÇÁ¦ »ç¿ëµÇ´Â IP ÁÖ¼Ò·Î µ¹¸®´Â ÀÚµ¿ ¶ó¿ìÆðú ÇÔ²² IP encapsulation (tunneling)À» »ç¿ëÇÏ¿© ÀÌ ¹®Á¦¸¦ ±Øº¹ÇÑ´Ù.
¸®´ª½º¿¡¼ ¿ÏÀüÇÑ IP mobility µµ±¸¸¦ Á¦°øÇϱâ À§ÇÑ ÇÁ·ÎÁ§Æ®°¡ ÁøÇàÁßÀÌ´Ù. ÀÌ ÇÁ·ÎÁ§Æ®¿Í µµ±¸µéÀÇ »óÅ´ Linux Mobile IP Home Page¿¡¼ º¼ ¼ö ÀÖ´Ù.
IP Multicast´Â ´Ù¸¥ IP ³×Æ®¿÷ »óÀÇ ¸¹Àº IP È£½ºÆ®µéÀÌ ±×µé¿¡°Ô µ¿½Ã¿¡ º¸³»Áö´Â IP µ¥ÀÌŸ±×·¥À» ¹Þµµ·Ï ÇØÁØ´Ù. ÀÌ ±â¼úÀº ¿Àµð¿À¿Í ºñµð¿À Àü¼Û µîÀÇ ÀÎÅͳÝÀ» ÅëÇÑ ¹æ¼ÛÀ» À§ÇØ °³¹ßµÇ¾ú´Ù.
Kernel Compile Options:
Networking options --->
[*] TCP/IP networking
....
[*] IP: multicasting
¾à°£ÀÇ µµ±¸¿Í ÀÛÀº ³×Æ®¿÷ ¼³Á¤ÀÌ ÇÊ¿äÇÏ´Ù. ¸®´ª½º »ó¿¡¼ÀÇ Multicast Áö¿ø¿¡ ´ëÇÑ Ãß°¡ Á¤º¸´Â Multicast-HOWTO¸¦ º¸¶ó.
IP Network Address Translation ±â´ÉÀº ¸®´ª½º IP Masquerade ±â´ÉÀÇ ÈξÀ Ç¥ÁØÈµÈ ±â¼úÀÌ´Ù. RFC-1631¿¡ º¸´Ù ÀÚ¼¼È÷ ±â¼úµÇ¾î ÀÖ´Ù. NAT´Â IP-Masquerade°¡ Áö¿øÇÏÁö ¸øÇÏ´Â ±â´ÉµéÀ» Á¦°øÇϸç ÀÌ´Â NAT°¡ ¹æȺ®ÀÌ ÀÖ´Â ¶ó¿ìÅͳª º¸´Ù Å« ±Ô¸ðÀÇ È¯°æ¿¡ ´õ ÀûÇÕÇϵµ·Ï ÇØÁØ´Ù.
Linux 2.0.29 Ä¿³Î¿¡ ´ëÇÑ NAT ±¸ÇöÀÇ ¾ËÆÄ ¹öÁ¯ÀÌ Michael.Hasenstein,
Michael.Hasenstein@informatik.tu-chemnitz.de
¿¡ ÀÇÇØ °³¹ßµÇ¾î ¿Ô´Ù. MichaelÀÇ
¹®¼¿Í ±¸ÇöÀº
Linux IP Network Address Web Page
¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Ù.
»õ·Î¿î Linux 2.2.x Ä¿³ÎµéÀº ¸î¸î NATÀÇ ±â´ÉÀ» ¶ó¿ìÆà ¾Ë°í¸®Áò¿¡ Æ÷ÇÔÇÏ°í ÀÖ´Ù.
traffic shaper´Â »õ ÀÎÅÍÆäÀ̽º ÀåÄ¡¸¦ ¸¸µå´Â µå¶óÀ̹öÀÌ´Ù. ±× ÀåÄ¡µéÀº »ç¿ëÀÚÀÇ Á¤ÀÇ¿¡ µû¶ó Æ®·¡ÇÈÀÌ Á¦ÇÑµÉ ¼ö ÀÖ°í ½ÇÁ¦ Àü¼Û¿¡ À־ ½ÇÁ¦ÀÇ ³×Æ®¿÷ ÀåÄ¡¿¡ ÀÇÁ¸ÇÏ¸é¼ ³×Æ®¿÷ Æ®·¡ÇÈÀ» ¹ÛÀ¸·Î ³»º¸³»´Â ÀåÄ¡·Î ¾²ÀÏ ¼ö ÀÖ´Ù.
shaper´Â Linux-2.1.15¿¡¼ ¼Ò°³µÇ¾ú°í Linux-2.0.36À¸·Î °Å²Ù·Î Àû¿ëµÇ¾ú´Ù
(shaper ÀåÄ¡ÀÇ Á¦ÀÛÀÚÀ̸ç Linux-2.0¸¦ °ü¸®ÇÏ´Â Alan Cox°¡ ¹èÆ÷ÇÑ
2.0.36-pre-patch-2
¿¡ Æ÷ÇԵǾî ÀÖ´Ù).
traffic shaper´Â ¸ðµâ·Î¸¸ ÄÄÆÄÀ쵃 ¼ö ÀÖÀ¸¸ç shapecfg ÇÁ·Î±×·¥À¸·Î ¾Æ·¡¿Í °°Àº ¹æ½ÄÀ¸·Î ¼³Á¤µÈ´Ù.
shapecfg attach shaper0 eth1
shapecfg speed shaper0 64000
shaper ÀåÄ¡´Â ÆÐŶµéÀÌ ¶ó¿ìÆà Å×ÀÌºí¿¡ µû¶ó shaper¸¦ Åë°úÇÏ´Â °æ¿ì¿¡ ¹ÛÀ¸·Î ³ª°¡´Â Æ®·¡ÇÈÀÇ ´ë¿ªÆø¸¸À» Á¶ÀýÇÒ ¼ö ÀÖ´Ù. µû¶ó¼ ``Ãâ¹ßÁö ÁÖ¼Ò¿¡ ÀÇÇÑ ¶ó¿ìÆÃ'' ±â´ÉÀº ¸®´ª½º ¶ó¿ìÅ͸¦ »ç¿ëÇϴ ƯÁ¤ È£½ºÆ®µéÀÇ Àü¹ÝÀûÀÎ ´ë¿ªÆøÀ» Á¦ÇÑÇÏ´Â µ¥ µµ¿òÀ» ÁØ´Ù.
Linux-2.2´Â ÀÌ¹Ì ±×·± ¶ó¿ìÆÃÀ» Áö¿øÇϸç Linux-2.0¿¡¼ ÀÌ ±â´ÉÀÌ ÇÊ¿äÇÏ´Ù¸é
ftp.invlogic.com
¿¡¼ Mike McLaganÀÌ ¸¸µç ÆÐÄ¡¸¦ Á¡°ËÇØ º¸¶ó. shaper¿¡
´ëÇÑ ´õ ¸¹Àº Á¤º¸´Â Documentation
networking/shaper.txt¿¡¼ ¾òÀ» ¼ö ÀÖ´Ù.
µé¾î¿À´Â ÆÐŶ¿¡ ´ëÇÑ shapingÀ» ½ÃÇèÇØ º¸°í ½Í´Ù¸é
ftp.systemy.it·ÎºÎÅÍ »õ ¹öÁ¯ÀÎ
rshaper-1.01
¸¦ ½ÃµµÇØ º¼ ¼ö ÀÖ´Ù.
LinuxÀÇ ÃֽŠ¹öÁ¯ÀÎ 2.2´Â ¶ó¿ìÆà Á¤Ã¥¿¡ ÀÖ¾î ¸¹Àº À¯¿¬¼ºÀ» Á¦°øÇÑ´Ù. ºÒÇàÈ÷µµ ¿©·¯ºÐÀº ÀÌ ÇÏ¿ìÅõ ¹®¼ÀÇ ´ÙÀ½ ¹öÁ¯À» ±â´Ù¸®°Å³ª Ä¿³Î ¼Ò½º¸¦ ÀÐÀ¸·¯ °¡¾ßÇÑ´Ù.