[ Home | Freetime works | FreeBSD | KFUG ]

ÇÁ·Î±×·¥¼¼°è 2002³â 6¿ùºÐ

ipfw/natd ·Î ¹æÈ­º®°ú ÀÎÅÍ³Ý °ÔÀÌÆ®¿þÀÌ ¸¸µé±â

ÃÖÁØÈ£, Korea FreeBSD Users Group <cjh at kr.FreeBSD.org>

À̹ø´Þ¿¡´Â FreeBSD·Î °£´ÜÇÑ ¹æÈ­º®°ú ·ÎÄà ÀÎÅÍ³Ý ¼­¹ö¸¦ ¸¸µå´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ. FreeBSD´Â ±âÃÊÀûÀ̸鼭µµ °í±Þ Ȱ¿ëÀÌ °¡´ÉÇÑ ¶Ù¾î³­ ÆÐŶ ÇÊÅÍ ½Ã½ºÅÛÀ» µÎ°¡Áö °®°í ÀÖ´Ù.

ÀÌ´ÞÀÇ FreeBSD ¼Ò½Ä

°øÁö/¼Ò½Ä

  • -stable Æ®¸®´Â 4.6À» À§ÇÑ ÄÚµå ÇÁ¸®Áî ´Ü°è¿¡ µé¾î°¬´Ù. 4.6ÀÇ ¸±¸®Áî ¿¹Á¤ÀÏÀº 6¿ù 1ÀÏÀε¥, ½ÇÁ¦ ¸±¸®Áî´Â À̺¸´Ù´Â Á¶±Ý ´ÊÀ» °ÍÀ¸·Î Àü¸ÁµÈ´Ù.

  • 5.0-DP1ÀÌ 4¿ù 8ÀÏ¿¡ ¸±¸®ÁîµÇ¾ú´Ù. 5.0-DP1Àº ¿ÃÇØ ¸»¿¡ ÀÖÀ» 5.0 ¸±¸®ÁîÀÇ »õ·Î¿î ±â´ÉÀ» »ç¿ëÀÚ¿¡°Ô ¹Ì¸® ¸Àº¸À̱â À§ÇÑ ÇÁ¸® ¸±¸®ÁîÀÇ ¼º°ÝÀ» °®°í ÀÖÀ¸¸ç, FTP ¼³Ä¡ ¶Ç´Â ISO ÆÄÀÏÀ» ´Ù¿î·ÎµåÇÒ ¼ö ÀÖ´Ù.

    5.0-DP1Àº i386, alpha, sparc64¿ëÀÇ ¼¼°¡Áö Ç÷§ÆûÀ¸·Î ¸±¸®ÁîµÇ¾ú´Ù. i386°ú alpha´Â °¢ FTP ¹Ì·¯ÀÇ /pub/FreeBSD/releases/{i386,alpha}/5.0-DP1 µð·ºÅ丮 ¶Ç´Â /pub/FreeBSD/releases/{i386,alpha}/ISO-IMAGES µð·ºÅ丮¿¡¼­ ±¸ÇÒ ¼ö ÀÖÀ¸¸ç, sparc64 ¹öÀüÀº /pub/FreeBSD/development/sparc64 µð·ºÅ丮¿¡¼­ º°µµ·Î ±¸ÇÒ ¼ö ÀÖ´Ù.

  • ÄÚ¾îÀÇ ÀÕ´Ü »çÀÓ; 2000³â¿¡ ¼±ÃâÇÑ ÄÚ¾î ÆÀ Áß Satoshi Asami°¡ ÀϽŻóÀÇ ÀÌÀ¯·Î »çÀÓÇÑ ÀÌ·¡ ÃÖ±Ù¿¡ Jordan Hubbard, Michael Smith°¡ ¿¬¼ÓÀûÀ¸·Î ÄÚ¾î ÆÀÀ» »çÀÓÇÏ¿´´Ù. ÃÖ±Ù¿¡ FreeBSD °³¹ßÁø »çÀÌ¿¡¼­ ÇÁ·ÎÁ§Æ®ÀÇ ¿î¿µ ¹æÇâÀ̳ª ¹æ½ÄÀ» ³õ°í ¿©·¯°¡Áö ³í¶õÀÌ ÀÖ´ø ÁßÀ̾úÀ¸¸ç, ¼¼¸íÀÌ »çÀÓÇÔ¿¡ µû¶ó ±ÔÄ¢¿¡ ÀÇÇØ ¿ÃÇØ·Î ¿¹Á¤µÇ¾î ÀÖ´ø ÄÚ¾î ÆÀ ¼±ÃâÀ» ¾Õ´ç±æ ¿¹Á¤ÀÌ´Ù.

½Ã½ºÅÛ ¾÷µ¥ÀÌÆ®

  • inetd_enableÀÇ ±âº»°ªÀÌ ´Ù½Ã YES°¡ µÇ¾î¼­, ±âº»ÀûÀ¸·Î inetd°¡ ¶ß°Ô µÈ´Ù. ¹°·Ð /etc/inetd.conf´Â °è¼Ó ¸ðµÎ ÁÖ¼®Ã³¸®µÇ¾î ÀÖÀ¸¹Ç·Î ±âº»ÀûÀ¸·Î ¶ß´Â ´ë¸óÀº ¾ø´Ù.

  • sendmail_enableÀÇ ±âº»°ªÀÌ YES°¡ µÇ¾î¼­, ½Ã½ºÅÛÀ» ¼³Ä¡Çϸé sendmailÀÌ µ¿ÀÛÇÑ´Ù.

  • sendmail ½ÃÀÛ ½ºÅ©¸³Æ®¿¡¼­ ¼­·Î ´Ù¸¥ MTA¸¦ ¶ç¿ï ¼ö ÀÖµµ·Ï µÇ¾ú´Ù. ÇöÀç·Î¼­´Â /etc/rc.sendmailÀÌ sendmailÀ» ¶ç¿ï ¼ö ÀÖµµ·Ï ÇÏÁö¸¸, rc.confÀÇ mta_start_script¸¦ ¹Ù²Ù¸é ´Ù¸¥ MTAÀÇ ½Ãµ¿ ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

  • /etc¿¡ ¸¹Àº ºÎºÐÀÌ MFCµÇ¾úÀ¸¹Ç·Î, -stable·Î ¾÷µ¥ÀÌÆ®ÇÏ´Â »ç¿ëÀÚ´Â mergemaster¿¡ »õ·Î »ý±ä -C ¿É¼ÇÀ» »ç¿ëÇÏ¸é ±âº»°ª°ú ´Ù¸¥ »ç¿ëÀÚÀÇ rc.conf¸¦ º¸¿©ÁØ´Ù. ±âº»°ªÀÌ ¹Ù²ï ¿É¼ÇµîÀ» ÁÖÀÇÇØ¼­ »ìÆìº¸ÀÚ.

  • -stableÀÇ ±âº» XFree86 ½Ã½ºÅÛ¿¡ ±âÁ¸ÀÇ 3.3.6¿¡¼­ 4.2.0·Î ¹Ù²î¾ú´Ù. ÀÌ¿¡ µû¶ó 6¿ù 1ÀÏ¿¡ ¸±¸®Áî ¿¹Á¤ÀÎ 4.6-RELEASE¿¡¼­´Â ±âº»ÀûÀ¸·Î XFree86 4.2.0ÀÌ Æ÷Ç﵃ ¿¹Á¤À̸ç, ÀÌ¿¡ µû¶ó ¼³Ä¡ ÇÁ·Î±×·¥µµ ¸¹ÀÌ ¹Ù²ð ¿¹Á¤ÀÌ´Ù.

º¸¾È ¾÷µ¥ÀÌÆ®

´ÙÀ½Àº ÀÌ´ÞÀÇ º¸¾È ±Ç°í »çÇ×ÀÌ´Ù. 02:23ÀÇ stdio ¹ö±×, 02:20ÀÇ syncache ¹ö±× µîÀº ¸Å¿ì Áß¿äÇϹǷÎ, 4.5-RELEASE »ç¿ëÀÚ´Â RELENG_4_5 ºê·£Ä¡¸¦ »ç¿ëÇÏ¿© ¾÷µ¥ÀÌÆ®Çϵµ·Ï ÇÏÀÚ. ÇöÀç 4.5-RELEASE p4 ±îÁö ³ª¿Í ÀÖ´Ù.
FreeBSD-SA-02:23.stdio.asc 
FreeBSD-SA-02:22.mmap.asc 
FreeBSD-SA-02:21.tcpip.asc 
FreeBSD-SA-02:20.syncache.asc 
FreeBSD-SA-02:19.squid.asc 

FreeBSD¿Í ¹æÈ­º®

¹æÈ­º®À̶õ

ÀϹÝÀûÀ¸·Î ¹æÈ­º®(firewall)À̶ó ÇÔÀº ÀÎÅÍ³Ý »ó¿¡ À§Ä¡ÇÏ¿© ¿ÜºÎ ³×Æ®¿öÅ©·ÎºÎÅÍ ³»ºÎ ³×Æ®¿öÅ©¸¦ º¸È£ÇÏ´Â ½Ã½ºÅÛÀ» ÀǹÌÇÑ´Ù. ¿©·¯°¡Áö ¹æ½ÄÀÇ ¹æÈ­º®¿¡ Á¸ÀçÇÒ ¼ö ÀÖÁö¸¸ Å©°Ô ÆÐŶ ÇÊÅ͸µÀ» ÅëÇÑ ¹æÈ­º® ½Ã½ºÅÛ°ú ¾îÇø®ÄÉÀÌ¼Ç ¼öÁØÀÇ ¹æÈ­º® ½Ã½ºÅÛÀ¸·Î ³ª´­ ¼ö ÀÖ´Ù. IP ¼öÁØÀÇ ÆÐŶÀ» ÆÇº°ÇÏ¿© ¼±º°ÀûÀ¸·Î Åë°ú½ÃŰ´Â °ÍÀ» ÆÐŶ ÇÊÅ͸µ ¹æÈ­º®À̶ó°í Çϸç, ƯÁ¤ ¾îÇø®ÄÉÀÌ¼Ç ÇÁ·ÎÅäÄÝ(HTTP, SMTP, POP µî)À» ÀÌÇØÇÏ¿© ƯÁ¤ ÇÁ·ÎÅäÄÝÀÇ ´ë¸®ÀÚ(proxy)·Î µ¿ÀÛÇÒ ¼ö ÀÖ´Â °ÍÀ» ¾îÇø®ÄÉÀÌ¼Ç ¼öÁØ ¹æÈ­º®À̶ó°í ÇÒ ¼ö ÀÖ´Ù. ´Ù¸¥ Á¾·ùµµ ÀÖÁö¸¸ ÀÌ ±Û¿¡¼­´Â ÀÌ µÎ°¡Áö¿¡ ´ëÇØ¼­¸¸ »ý°¢ÇØ º¸ÀÚ.

ÆÐŶ ÇÊÅÍ ¹æÈ­º®ÀÇ ÀåÁ¡Àº º¸Åë ÆÐŶ(ÀÌ´õ³Ý ÇÁ·¹ÀÓµµ Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù) ¼öÁØ¿¡¼­ ÇÊÅ͸µ ¿©ºÎ°¡ °áÁ¤µÇ±â ¶§¹®¿¡ ½ÇÁ¦ ¼­¹ö±îÁö Àü´ÞµÇÁö ¾Ê´Â´Ù´Â ÀåÁ¡ÀÌ ÀÖ´Ù. ÇÏÁö¸¸ ¸ðµç ÆÐŶÀ» ó¸®ÇØ¾ß Çϰí, TCP/UDP ¼öÁرîÁö´Â ÆÐŶ ÇÊÅÍ¿¡¼­ ÀÌÇØÇÏ´Â °æ¿ì°¡ ¸¹Áö¸¸(¾ö¹ÐÈ÷ ¸»ÇÏ¸é ±×°Ç IP ÆÐŶ ÇÊÅÍ ¹æÈ­º®ÀÇ ¼öÁØÀ» ³Ñ¾î¼­´Â ÀÏÀ̱â´Â ÇÏ´Ù) ½ÇÁ¦ ¾îÇø®ÄÉÀÌ¼Ç ÇÁ·ÎÅäÄÝ¿¡ ´ëÇØ¼­´Â ¹«ÁöÇϱ⠶§¹®¿¡ ´Ü¼øÈ÷ ¿À°í°¡´Â ÆÐŶÀÇ ÁÖ¼Ò¸¸À¸·Î ÇÊÅÍ ¿©ºÎ¸¦ ÆÇÁ¤ÇØ¾ß Çϱ⠶§¹®ÀÌ´Ù.

¾îÇø®ÄÉÀÌ¼Ç ¼öÁØ ¹æÈ­º®Àº HTTP ÇÁ·Ï½Ã¿Í °°ÀÌ Æ¯Á¤ ÇÁ·ÎÅäÄÝÀ» ÀÌÇØÇÏ¿© ÀûÀýÇÑ ¼öÁØÀÇ ´ë¸® Á¢¼ÓÀ» ÇØ ÁÖ´Â °ÍÀ¸·Î, »ó¿ë ¶Ç´Â °ø°³ÀÇ ¹æÈ­º® ŸŶÀ» »ç¿ëÇϰųª squid¿Í °°Àº À¥ ÇÁ·Ï½Ã ½Ã½ºÅÛ¿¡ Æ÷ÇԵǾî ÀÖ´Ù. »ç¿ëÀÚ ±â¹Ý ÀÎÁõ µî ¿©·¯°¡Áö ´Ù¾çÇÑ ´É·ÂÀ» ¼öÇàÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ ÀÖÁö¸¸ »ç¿ëÀÚ´Â »ç¿ëÇϰíÀÚ ÇÏ´Â ÇÁ·ÎÅäÄݺ°·Î ¼­·Î ´Ù¸¥ ÇÁ·Ï½Ã¸¦ »ç¿ëÇØ¾ß Çϰí, °¢ ÇÁ·ÎÅäÄݸ¶´Ù º°µµÀÇ ÇÁ·Ï½Ã ¼­¹ö°¡ °³¹ßµÇ¾î¾ß ÇÑ´Ù´Â ´ÜÁ¡ÀÌ ÀÖ´Ù.

ÀϹÝÀûÀ¸·Î »ç¹«½ÇÀ̳ª °¡Á¤¿¡¼­ »ç¿ëÇÏ´Â ¼Ò±Ô¸ð ³×Æ®¿öÅ©ÀÇ °æ¿ì ¾îÇø®ÄÉÀÌ¼Ç ¼öÁØ ÇÁ·Ï½Ã·Î »ç¿ëÇÒ Á¤µµÀÇ ÀÏÀº À¥ ÇÁ·Ï½Ã Á¤µµ°¡ ´ëºÎºÐÀÏ °ÍÀÌ´Ù(SOCKS¿Í °°Àº ¾îÇø®ÄÉÀÌ¼Ç ¼öÁØ ¹æÈ­º® ÇÁ·Ï½Ã ½Ã½ºÅÛÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é).

ÆÐŶ ÇÊÅÍ ¹æÈ­º®Àº »ý°¢º¸´Ù °£´ÜÇѵ¥, ´ÙÀ½°ú °°Àº ±ÔÄ¢À» »ç¿ëÇÏ´Â °ÍÀÌ ´ëºÎºÐÀÌ´Ù. IP ÆÐŶÀº ±âº»ÀûÀ¸·Î ´ÙÀ½°ú °°ÀÌ Á¤ÀÇµÉ ¼ö ÀÖ´Ù. ÆÐŶ Çì´õ¿¡´Â ±âº»ÀûÀ¸·Î ´ÙÀ½°ú °°Àº Á¤º¸°¡ ±â·ÏµÇ¾î ÀÖÀ¸¹Ç·Î À̸¦ ÀÌ¿ëÇÑ´Ù.

  ¼Û½Å: IPÁÖ¼Ò, Æ÷Æ®, [ÇÁ·ÎÅäÄÝ Á¾·ù: TCP/UDP µî, Ç÷¡±×]
  ¼ö½Å: IPÁÖ¼Ò, Æ÷Æ®, [ÇÁ·ÎÅäÄÝ Á¾·ù: TCP/UDP µî, Ç÷¡±×]
ÇÊÅ͸µ ±ÔÄ¢Àº ÀÌ Á¶°ÇÀ» ÁöÁ¤ÇÏ´Â °ÍÀÌ´Ù. Áï 1.2.3.4ÀÇ 80¹ø Æ÷Æ®·Î °¡´Â ¸ðµç ÆÐŶÀ» ¸·°í ½Í´Ù¸é ±ÔÄ¢Àº
  ¼Û½Å: IP: ¸ðµÎ, Æ÷Æ®: ¸ðµÎ, ¼ö½Å: IP: 1.2.3.4, Æ÷Æ®: 80, µ¿ÀÛ: °ÅºÎ
¿Í °°ÀÌ ÁöÁ¤µÉ ¼ö ÀÖÀ¸¸ç, 2.3.4.5¿¡¼­ µé¾î¿À´Â ¸ðµç Á¢¼ÓÀ» Çã°¡ÇÏ°í ½Í´Ù¸é ´ÙÀ½°ú °°ÀÌ ±ÔÄ¢À» ¸¸µé ¼ö ÀÖ´Ù.
  ¼Û½Å: IP: 2.3.4.5, Æ÷Æ®: ¸ðµÎ, ¼ö½Å: IP: ¸ðµÎ, Æ÷Æ®: ¸ðµÎ, µ¿ÀÛ: Çã°¡
´ëºÎºÐÀÇ ÆÐŶ ÇÊÅÍ ¹æÈ­º®Àº À§¿Í °°Àº ±ÔÄ¢À» ³ª¸§´ë·ÎÀÇ ¹®¹ý¿¡ ¸Â°Ô »ç¿ëÇÏ¸é °¡´ÉÇÏ´Ù.

NAT

NAT(Network Address Translation)Àº IPv4 ÀÎÅÍ³Ý ÁÖ¼ÒÀÇ °í°¥°ú, ½ÇÁ¦ ÀÎÅͳݿ¡¼­ ¿¬°áµÇ¾î ÀÖÁö¸¸ ¿ÜºÎ¿¡¼­ ºÐ¸®µÈ »ç¼³ ³×Æ®¿öÅ©¸¦ ±¸¼ºÇϱâ À§Çؼ­ »ç¿ëÇÏ´Â ±â¹ýÀÌ´Ù. ±¸Ã¼ÀûÀ¸·Î´Â ±× À̸§¿¡¼­µµ ¾Ë ¼ö ÀÖµíÀÌ ³×Æ®¿öÅ© ÁÖ¼Ò¸¦ º¯È¯ÇÏ´Â ¹æ¹ýÀ¸·Î ÀÌ·ç¾îÁö¸ç, ¿î¿µÃ¼Á¦¿¡ µû¶ó À̸§ÀÌ Á¶±Ý¾¿ ´Ù¸£±âµµ Çѵ¥, BSD ¿î¿µÃ¼Á¦¿¡¼­´Â º¸Åë NAT¶ó°í ºÎ¸£°í, ¸®´ª½º¿¡¼­´Â IP ¸Å½ºÄ¿·¹À̵å(IP Masquerade)¶ó°í ºÎ¸£´Â °ÍÀÌ º¸ÅëÀÌ´Ù. NAT³ª IP ¸Å½ºÄ¿·¹À̵峪 °°Àº ¸»À̹ǷΠȥµ¿ÇÏÁö ¸»ÀÚ.

ÀϹÝÀûÀ¸·Î NAT °øÀÎ IP ¿Í »ç¼³ IP »çÀÌ¿¡¼­ ÀÏÁ¾ÀÇ ¶ó¿ìÅÍ·Î µ¿ÀÛÇÒ ¼ö ÀÖÀ¸¸ç, ³»ºÎ ³×Æ®¿öÅ©ÀÇ ÆÐŶÀÌ ¿ÜºÎ·Î ³ª°¥ ¶§¿¡´Â ÁöÁ¤µÈ ¸ÅÇÎ ¹æ¹ý¿¡ ÀÇÇØ ÆÐŶÀÇ ÁÖ¼Ò¸¦ ´Ù½Ã ¾²°Ô µÈ´Ù. µé¾î¿À´Â ÆÐŶÀÇ °æ¿ì, »ç¼³ IP ´ë¿ªÀÇ °æ¿ì IPv4 ÁÖ¼Ò¸¦ °®Áö¸¸ ¶ó¿ìÆÃÀÌ µÉ ¼ö ¾ø´Â ÁÖ¼Ò·Î Á¤ÀǵǾî ÀÖÀ¸¹Ç·Î, ¿ÜºÎ ³×Æ®¿öÅ©¿¡¼­ ³»ºÎ ³×Æ®¿öÅ©·Î ÆÐŶÀÌ Á÷Á¢ µµ´ÞÇÒ ¼ö´Â ¾ø´Ù.

NATÀÇ ¿ø¸®

µû¶ó¼­ NAT ¼­¹ö°¡ Á¤ÇØÁø ±ÔÄ¢¿¡ µû¶ó ÆÐŶÀÇ µµÂø ÁÖ¼Ò¸¦ ´Ù½Ã ¾²°Ô µÈ´Ù. °£´ÜÇÏ°Ô »ý°¢ÇÏ¸é ´ÙÀ½°ú °°´Ù. ³»ºÎ¿¡¼­ ¿ÜºÎ·Î ³ª°¡´Â ´ÙÀ½ ÆÐŶÀ» °¡Á¤ÇØ º¸ÀÚ.
  ¼Û½Å: 192.168.1.100:30000
  ¼ö½Å: 211.46.62.18:80
ÀÌ °æ¿ì NAT¼­¹ö´Â Æ÷Æ®¸¦ Çϳª ÇÒ´çÇÏ°í ¿©±â¿¡ À̸¦ ±â·ÏÇÑ ´ÙÀ½ º¸³»´Â ÁÖ¼Ò¸¦ ¹Ù²Ù¾î ¾´´Ù. ÇÒ´ç¹ÞÀº Æ÷Æ®°¡ 50000¹øÀ̶ó°í ÇØ º¸ÀÚ.
  ¼Û½Å: 211.46.52.100:50000 [¿ÜºÎ Æ÷Æ® 50000 -> 192.168.1.100:30000]
  ¼ö½Å: 211.46.62.18:80
ÀÌ·¸°Ô Çϸé ÀÌ ÆÐŶÀÇ ÀÀ´äÀ¸·Î µé¾î¿À´Â ÆÐŶÀº ´ÙÀ½ÀÇ ÁÖ¼Ò¸¦ °¡Áö¹Ç·Î,
  ¼Û½Å: 211.46.62.18:80
  ¼ö½Å: 211.46.52.100:50000
NAT¼­¹ö´Â ¾Æ±î ÇÒ´çµÇ¾ú´ø Æ÷Æ® ¹øÈ£¸¦ ±â¾ïÇϰí ÀÖ´Ù°¡ ³»ºÎ ³×Æ®¿öÅ©·Î ÆÐŶÀ» º¸³¾ ¶§ Æ÷Æ®¿¡ ÇÒ´çµÇ¾ú´ø ÁÖ¼Ò·Î ¹Ù²Ù¾î ¾´´Ù.
  ¼Û½Å: 211.46.62.18:80
  ¼ö½Å: 192.168.1.100:30000
ÀÌ·¸°Ô ÇÏ¿© ³»ºÎ¿¡¼­ ¿ÜºÎ·Î Åë½ÅÀÌ °¡´ÉÇÏ´Ù. ´Ü ¿ÜºÎ¿¡¼­´Â ³»ºÎ ÁÖ¼Ò·Î ¶ó¿ìÆÃÀÌ ºÒ°¡´ÉÇϹǷΠµé¾î¿Ã ¼ö ¾ø´Âµ¥, ÀÌ´Â Æ÷Æ® Àü¼Û(port forwarding) À̶ó´Â ±â¹ýÀ» »ç¿ëÇÏ¸é °¡´ÉÇÏ´Ù. Áï NAT ¼­¹öÀÇ Æ¯Á¤ Æ÷Æ®¸¦ ³»ºÎ ³×Æ®¿öÅ©ÀÇ Æ¯Á¤ IP:Æ÷Æ®·Î ¸ÅÇÎÇÏ´Â °ÍÀÌ´Ù. Áï ´ÙÀ½°ú °°ÀÌ ¼³Á¤µÇ¾úÀ» ¶§,
  211.46.52.100:40000 -> 192.168.1.10:80
211.46.52.100:40000À» ÇâÇØ µé¾î¿À´Â ÆÐŶÀº ¸ðµÎ 192.168.1.10:80 À¸·Î º¸³»°í, µ¹¾Æ°¡´Â ÆÐŶÀº ±× ¹Ý´ë·Î ó¸®ÇÏ¸é µÈ´Ù.

´ëºÎºÐÀÇ NAT ¼­¹ö´Â À§ÀÇ µÎ ±â´ÉÀ» ¸ðµÎ ¼öÇàÇÒ ¼ö ÀÖ´Ù. ´Ù¸¸ FTPµî°ú °°ÀÌ Æ÷Æ®¸¦ ¼­¹ö¿¡¼­ ÇÒ´çÇÏ´Â °æ¿ì µî¿¡´Â ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖÀ¸¹Ç·Î, Ưº°ÇÑ Ã³¸®¸¦ ÇÏ´Â °ÍÀÌ º¸ÅëÀÌ´Ù.

FreeBSDÀÇ ³»Àå ÆÐŶ ÇÊÅÍ ½Ã½ºÅÛ

FreeBSD´Â µÎ°¡ÁöÀÇ ÆÐŶ ÇÊÅÍ ¹æÈ­º® ½Ã½ºÅÛÀÌ ±âº» ½Ã½ºÅÛ¿¡ Æ÷ÇԵǾî Á¦°øµÈ´Ù. Çϳª´Â FreeBSD °íÀ¯ÀÇ ipfw(8)À̸ç, µÎ¹øÂ°´Â Darren Reed¾¾ÀÇ ¸ÖƼÇ÷§Æû Áö¿øÀÇ ipfilter(8)ÀÌ´Ù. µÎ°¡Áö´Â °¢°¢ Àå´ÜÁ¡ÀÌ Àִµ¥, °£´ÜÈ÷ Á¤¸®ÇØ º¸¸é ´ÙÀ½°ú °°´Ù.

Ç׸ñ ipfw ipfilter
À̽ļº FreeBSDÀü¿ë ¸ÖƼÇ÷§Æû
±ÔÄ¢Àû¿ë ¸ÕÀú ¸Â´Â ¼ø °¡Àå ³ªÁß¿¡ ¸Â´Â ¼ø
»ç¿ë ¸ðµâ ¸ðµâ
NAT natd(8) ´ë¸ó ³»Àå(ipnatÀ¸·Î Á¦¾î)
TCP »óÅ ÇÊÅ͸µ °¡´É °¡´É
±ÔÄ¢ ±×·ì ¾øÀ½ ÀÖÀ½
ÆÐŶ Àü¼Û °¡´É °¡´É
ºê¸®Áö Áö¿ø °¡´É ºÒ°¡´É
´ë¿ªÆø Á¦¾î °¡´É(dummynet) ºÒ°¡´É
IPv6 Áö¿ø °¡´É(ip6fw) ºÒ°¡´É
Ç¥: ipfw¿Í ipfilter
* ipfilter´Â ¸®´ª½º, ¼Ö¶ó¸®½º, FreeBSD, NetBSD, OpenBSD, IRIX µî¿¡¼­ ¸ðµÎ µ¿ÀÏÇÏ°Ô µ¿ÀÛÇÑ´Ù.

FreeBSD »ç¿ëÀÚ¶ó¸é ipfw¿¡ Àͼ÷ÇØÁö´Â ÆíÀÌ ÁÁÀ» °ÍÀÌ´Ù. ipfilter·Î ±âº»ÀûÀÎ ¹æÈ­º® »ç¿ëÀº °¡´ÉÇÏÁö¸¸, Á¶±Ý ´õ °í±Þ ±â´ÉÀÎ ´ë¿ªÆø Á¦¾î³ª ÀÌ´õ³Ý ºê¸®Áö Áö¿ø µîÀÌ µÇÁö ¾Ê±â ¶§¹®ÀÌ´Ù. ipfw´Â FreeBSD 2.0¿¡¼­ óÀ½ µîÀåÇÏ¿´À¸¸ç, 2.2.8¿¡¼­ ´ë¿ªÆø(dummynet)Áö¿øÀ», 4.0ºÎÅÍ TCP »óÅ Á¦¾î°¡ °¡´ÉÇÏ¿´À¸¸ç, 4.4 ¸±¸®ÁîºÎÅÍ ¸ðµâ·Î ÀоîµéÀÌ´Â ÀÏÀÌ °¡´ÉÇØÁ³´Ù. ¶ÇÇÑ ip6fw(8)¸í·ÉÀ» »ç¿ëÇÏ¿© IPv6 ÆÐŶµµ ÇÊÅ͸µÀÌ °¡´ÉÇÏ´Ù(IPv6Àº NAT°¡ ÇÊ¿ä ¾øÀ¸¹Ç·Î natd¿¡¼­´Â Áö¿øÇÏÁö ¾Ê´Â´Ù).

ipfilter

ipfilter´Â ¿ÀÇ ¼Ò½ºÀ̸鼭µµ ¿ÜºÎÀο¡ ÀÇÇÑ Ã·»èÀ» ÀÓÀÇ·Î Çã¿ëÇÏÁö ¾Ê´Â (ÀúÀÚ¿¡°Ô ¹Ì¸® ¾Ë·Á¾ß ÇÑ´Ù) ¶óÀ̼¾½º ¶§¹®¿¡ OpenBSD¿¡´Â ³íÀï ³¡¿¡ ipfilter¸¦ ±âº» ¼Ò½º Æ®¸®¿¡¼­ Á¦¿Ü½Ã۰í pf¶ó°í ÇÏ´Â µ¶ÀÚÀûÀÎ ÆÐŶ ÇÊÅÍ ½Ã½ºÅÛÀ» ¸¸µé¾ú´Ù. pf´Â ipfilter¿Í µ¿ÀÏÇÑ ÀÎÅÍÆäÀ̽º¸¦ °®´Â´Ù. ½ÇÁ¦·Î OpenBSD 3.0ºÎÅÍ´Â ipfilter´ë½Å pf°¡ Æ÷ÇÔµÇ¾î ¸±¸®ÁîµÇ¾ú´Âµ¥, Darren¾¾´Â pf¸¦ »©°í ipfilter¸¦ ³ÖÀº OpenBSD 3.0 ¹èÆ÷º»À» º°µµ·Î ¸±¸®ÁîÇϱ⵵ ÇÏ¿´´Ù.

ipfilter ȨÆäÀÌÁö: http://www.ipfilter.org

ipfw·Î ¹æÈ­º® ¸¸µé±â

À̹ø¿¡´Â ipfw¸¦ »ç¿ëÇÑ ¹æÈ­º® ¸¸µé±â¿¡ µµÀüÇØ º¸ÀÚ. ipfilterÀÇ °æ¿ì´Â À̹ø¿¡ ¼Ò°³ÇÏÁö ¾ÊÁö¸¸, ±âº»ÀûÀÎ ¹®¹ý¸¸ ´Ù¸¦ »Ó ¿ø¸®´Â °°À¸¹Ç·Î µ¿ÀÏÇÏ°Ô ¼³°èÇÑ ³×Æ®¿öÅ©¸¦ ipfilter·Îµµ ±¸ÇöÇÒ ¼ö ÀÖ´Ù.

ipfw ¼³Á¤Çϱâ

ipfw¸¦ ¸ðµâ·Î ÀоîµéÀÏ ¼ö ÀÖ´Ù°í ÇÏ¿´Áö¸¸, ±âº»ÀûÀÎ ipfw ¼³Á¤Àº Ä¿³Î¿¡¼­ ÇØ ÁÖ´Â ÆíÀÌ ÁÁ´Ù. ´ÙÀ½Àº ±âº»ÀûÀÎ ipfw °ü·Ã Ä¿³Î ¿É¼ÇÀÌ´Ù. ´ÙÀ½ ¼³Á¤À» Ä¿³Î ¼³Á¤ ÆÄÀÏ(/sys/i386/conf/Ä¿³Î¼³Á¤ÆÄÀϸí)¿¡ Ãß°¡ÇØ Áֱ⠹ٶõ´Ù. ¾Æ·¡ ¿É¼ÇÀº ±âº» Ä¿³ÎÀÎ GENERIC¿¡ Æ÷ÇԵǾî ÀÖÁö ¾ÊÀ¸¹Ç·Î, ÀÚ¼¼ÇÑ ³»¿ëÀº /sys/i386/conf/LINT ÆÄÀÏÀ» Âü°íÇϱ⠹ٶõ´Ù.
# ipfw ¹æÈ­º® Äڵ带 »ç¿ëÇÑ´Ù. ipfw.ko ¸¦ ÀоîµéÀÌ´Â °Í°ú µ¿ÀÏÇÏ´Ù.
# ¹æÈ­º® ÄÚµå´Â Ä¿³Î¿¡¼­ Æ÷ÇÔ½ÃŰ´Â °ÍÀÌ º¸¾È»ó ¾ÈÀüÇÏ´Ù.
options         IPFIREWALL
# ipfwÀÇ ·Î±×¸¦ syslogd(8)À» ÅëÇØ Ãâ·ÂÇϵµ·Ï ÇÑ´Ù.
options         IPFIREWALL_VERBOSE
# ÇØ´çµÇ´Â ÆÐŶÀÌ ¸¹À¸¸é ¸Þ½ÃÁö°¡ ³Ê¹« ¸¹À¸¹Ç·Î Çѵµ¸¦ Á¤ÇÑ´Ù.
options         IPFIREWALL_VERBOSE_LIMIT=100
# ipfwÀÇ ÆÐŶ Àü¼Û ±â´ÉÀ» »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù.
options         IPFIREWALL_FORWARD
# ipfw´Â ±âº»ÀûÀ¸·Î ¸ðµç ÆÐŶÀ» °ÅºÎÇϵµ·Ï µÇ¾î ÀÖ´Ù.
# À̸¦ ±âº»ÀûÀ¸·Î ¸ðµç ÆÐŶÀ» Çã¿ëÇÏ´Â °ÍÀ¸·Î ¹Ù²Û´Ù.
options         IPFIREWALL_DEFAULT_TO_ACCEPT

# IPv6 ¹æÈ­º® Äڵ带 »ç¿ëÇÑ´Ù.
# ³ª¸ÓÁö ¿É¼ÇÀº IPFIREALL_*ÀÇ ±×°Í°ú µ¿ÀÏÇÑ ÀǹÌÀÌ´Ù.
options         IPV6FIREWALL
options         IPV6FIREWALL_VERBOSE
options         IPV6FIREWALL_VERBOSE_LIMIT=100
options         IPV6FIREWALL_DEFAULT_TO_ACCEPT

# divert(4)´Â ÆÐŶÀÇ ¹æÇâÀ» ÁÖ¼Ò¿¡ °ü°è¾øÀÌ Æ¯Á¤ Æ÷Æ®·Î ¹Ù²Ù¾îÁÖ´Â
# ÀÎÅÍÆäÀ̽ºÀÌ´Ù. ÀÌ´Â NAT¿¡¼­ ÆÐŶÀ» ´Ù½Ã ¾²±â À§ÇÑ ¹æ¹ýÀ¸·Î »ç¿ëÇÒ
# ¼ö ÀÖÀ¸¸ç, NAT¸¦ »ç¿ëÇϱâ À§Çؼ­´Â ¹Ýµå½Ã Æ÷ÇԵǾî¾ß ÇÑ´Ù.
# ipfw¸¦ ¸ðµâ·Î ÀоîµéÀÌ´Â °æ¿ì ÀÌ ¿É¼ÇÀ» ÁÖ°í ºôµåÇØ¾ß¸¸ NAT¸¦ »ç¿ëÇÒ
# ¼ö ÀÖ´Ù.
options         IPDIVERT
±âº»ÀûÀ¸·Î ¹æÈ­º®À» »ç¿ëÇÏ·Á¸é IPFIREWALL ¿É¼ÇÀ», NAT¸¦ »ç¿ëÇÏ·Á¸é IPDIVERT ¿É¼ÇÀ» Ãß°¡ÇÏ¸é µÈ´Ù. Åõ¸í ÇÁ·Ï½Ã µîÀÇ ±â´ÉÀ» ÀÌ¿ëÇÏ·Á¸é IPFIREWALL_FORWARD¸¦ Ãß°¡ÇÏ¸é µÈ´Ù.

¸ðµâ·Î ÀоîµéÀÌ·Á´Â °æ¿ì¿¡´Â /modules/ipfw.ko ¸¦ ÀоîµéÀ̵µ·Ï ÇÏ¸é µÈ´Ù. ´ë¿ªÆø Á¦¾î ±â´ÉÀ» Ȱ¿ëÇÏ·Á¸é dummynet.koµµ Àоîµé¿©¾ß ÇÑ´Ù´Â Á¡µµ ÀØÁö ¸»ÀÚ.

ipfw ¸í·É

ipfw´Â ¸í·ÉÇàÀ¸·Î ±ÔÄ¢À» Ãß°¡ÇÒ ¼ö ÀÖ°í, ÆÄÀÏ·Î ¸¸µé¾îÁø ±ÔÄ¢À» ÀоîµéÀ̵µ·Ï ÇÒ ¼öµµ ÀÖ´Ù. °¡·É ±ÔÄ¢ÀÌ ÇÑ Çà¿¡ Çϳª¾¿ ¾²¿©Áø ÆÄÀÏÀÌ ÀÖ´Ù¸é
  ipfw /etc/ipfw.conf
¿Í °°ÀÌ ÀоîµéÀÏ ¼ö ÀÖ´Ù.

±ÔÄ¢À» ¸í·ÉÇàÀ¸·Î Çϳª¾¿ Ãß°¡ÇÏ·Á¸é, ¹øÈ£¿Í ÇÔ²² add/delete¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

  ipfw add 500 allow ip from any to any
ÀÌ·¸°Ô Çϸé 500¹ø ±ÔÄ¢¿¡ allow ip from any to any °¡ Ãß°¡µÈ´Ù. °°Àº ¹øÈ£¿¡ µÎ°³ ÀÌ»óÀÇ ±ÔÄ¢ÀÌ ÀÖÀ» ¼ö ÀÖ´Ù´Â Á¡¿¡ ÁÖÀÇÇÏÀÚ. ÇØ´ç ¹øÈ£ÀÇ ±ÔÄ¢À» Áö¿ì°í ½Í´Ù¸é
  ipfw del 500
ÇÏ¸é µÈ´Ù. ÇöÀçÀÇ ±ÔÄ¢ ¸ñ·ÏÀ» º¸·Á¸é
  ipfw list
ÇÏ¸é µÇ¸ç, ±ÔÄ¢¿¡ ÀÏÄ¡µÈ ÆÐŶÀÇ ¼ö¿Í ¹ÙÀÌÆ® ¼ö±îÁö ¾Ë°í ½Í´Ù¸é ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
  ipfw -a list
±ÔÄ¢À» ¸ðµÎ Áö¿ì·Á¸é
  ipfw -f flush
·Î Áö¿ï ¼ö ÀÖ´Ù.

ipfwÀÇ ±ÔÄ¢ ¹®¹ý

ipfw´Â ¸Å¿ì °£´ÜÇϰí Á÷°üÀûÀÎ ¹®¹ýÀ» °®°í ÀÖ´Ù. ±âº»ÀûÀ¸·Î´Â °¢ ÆÐŶÀ» ¾î¶»°Ô ó¸®ÇÒ ÁöÀÇ ±ÔÄ¢À» ±â¼úÇØ ÁÖ¸é µÇ¸ç, ±ÔÄ¢Àº ´ÙÀ½°ú °°ÀÌ ±¸¼ºµÇ¾î¾ß ÇÑ´Ù.
  1. °¢ ±ÔÄ¢¿¡´Â ¹øÈ£°¡ ÀÖ´Ù(1 ~ 65535).
  2. ±ÔÄ¢Àº ¹øÈ£°¡ ³·Àº ¼ø¼­ºÎÅÍ Àû¿ëµÈ´Ù.
  3. °¡Àå ¸ÕÀú ÀÏÄ¡ÇÑ ±ÔÄ¢ÀÌ ¹Ù·Î Àû¿ëµÇ°í ±× ´ÙÀ½ ±ÔÄ¢Àº ³Ñ¾î°£´Ù.
  4. 65535 ¹ø ±ÔÄ¢Àº ±âº» ±ÔÄ¢À¸·Î ¸ðµç ÆÐŶ¿¡ Àû¿ëµÈ´Ù. (IPFIREWALL_DEFAULT_TO_ACCEPT ¿É¼ÇÀ» ÁÖ¾úÀ¸¸é ¸ðµÎ Çã°¡, ¾Æ´Ï¸é ¸ðµÎ °ÅºÎÀÌ´Ù)
Áï ipfwÀÇ ¹®¹ý 󸮴 ±ÔÄ¢À» ¼ø¼­´ë·Î ³ª¿­ÇØ ÁÖ´Â °ÍÀÌ´Ù.

ipfw ±ÔÄ¢ÀÇ ±âº»ÀûÀÎ ¹®¹ýÀº ´ÙÀ½°ú °°´Ù.

  [prob È®·ü] µ¿ÀÛ [log [logamount ¼ýÀÚ]] ÆÐŶŸÀÔ from ¼Û½Åó to ¼ö½Åó [ÀÎÅÍÆäÀ̽º Á¤º¸] [¿É¼Ç]
¸î°¡Áö ¿¹¸¦ µé¾î º¸ÀÚ. ipfw´Â ¸ðµç ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º¿¡ ¿µÇâÀ» ¹ÌÄ¡´Âµ¥, ·çÇÁ¹é ÀåÄ¡(lo0)µµ ¿¹¿Ü´Â ¾Æ´Ï¶ó´Â Á¡À» ¸í½ÉÇÏÀÚ.

±âº»ÀûÀÎ ¹æÈ­º® ¸¸µé±â

ÀÌÁ¦ ±âº»ÀûÀÎ Áö½ÄÀ» ÀÍÇû´Ù¸é °£´ÜÇÑ ¹æÈ­º®À» ¸¸µé¾î º¸ÀÚ. ¹æÈ­º®À» ¸¸µé±â Àü¿¡ ÇÒ ÀÏÀº ±× Á¤Ã¥À» Á¤ÇÏ´Â ÀÏÀÌ´Ù. ´ÙÀ½ÀÇ ³»¿ëÀ» »çÀü¿¡ ¹Ì¸® »ý°¢ÇØ µÎ¸é µÈ´Ù. ipfw´Â ¸Å¿ì Á÷°üÀûÀÎ ¹®¹ýÀ» Çã°¡ÇϹǷÎ, ¸ÕÀú ±ÔÄ¢À» Àß ¸¸µé¾î ³õÀ¸¸é ±×´ë·Î ipfw ±ÔÄ¢À¸·Î ¿Å°Ü ÀûÀ¸¸é µÈ´Ù. °¡·É ´ÙÀ½°ú °°Àº ¿¹¸¦ µé¾î º¸ÀÚ.

Á¦´ë·Î µÇ°í ÀÖ´ÂÁö »ìÆìº¸´Â ÁÁÀº ¹æ¹ýÀº list¿É¼Ç¿¡ -a¸¦ ÁÖ´Â °ÍÀÌ´Ù. ù¹øÂ° ¿­Àº ±ÔÄ¢ ¹øÈ£, µÎ¹øÂ°´Â ÀÌ ±ÔÄ¢¿¡ ÇØ´çÇÑ ÆÐŶ ¼ö, ¼¼¹øÂ°´Â ÀÌ ±ÔÄ¢¿¡ ÇØ´çÇÑ ÃÑ Àü¼Û·®(¹ÙÀÌÆ®)ÀÌ´Ù.

# ipfw -a list
00100     1466       82308 allow ip from any to any via lo0
00200        0           0 deny ip from any to 127.0.0.0/8
00400        0           0 deny ip from 127.0.0.0/8 to any
00500      383       44797 allow tcp from 192.168.2.0/24 to 192.168.1.100 80,22
00600        0           0 deny ip from any to 192.168.1.100 1-1023
00700       41        2296 allow icmp from any to any icmptype 0,3,8,11
00800        0           0 deny icmp from any to any
60000    31011     2814393 allow ip from any to any
65535        0           0 allow ip from any to any
·Î±× ±â´ÉÀ» »ç¿ëÇϵµ·Ï ÇÏ¿´´Ù¸é ÄܼÖÀ̳ª /var/log/secure, /var/log/messages ÆÄÀÏ¿¡ ·Î±ëµÇ´Â ÆÐŶÀÌ Ç¥½ÃµÈ´Ù. Á¦ÇÑÀÌ ÀÖÁö¸¸ Ãʹݺο¡ ÆÐŶÀ» ºÐ¼®Çϴµ¥´Â ÁÁÀ» °ÍÀÌ´Ù.

½Ã½ºÅÛ ¼³Á¤

ÀÌÁ¦ ¸¸µé¾îÁø ±ÔÄ¢À» Àû¿ëÇÏ°í ½Ã½ºÅÛÀ» ´Ù½Ã ºÎÆÃÇÒ ¶§ ±× ±ÔÄ¢ÀÌ ¹Ù·Î Àû¿ëµÇµµ·Ï ÇØ º¸ÀÚ. /etc/rc.conf¿¡ ´ÙÀ½°ú °°ÀÌ Àû´Â´Ù.
firewall_enable="YES"
firewall_type="/etc/ipfw.conf"
¹æÈ­º® »ç¿ë ¿É¼ÇÀ» YES¶ó°í Çϰí, type¿¡ ±ÔÄ¢ ÆÄÀÏÀ» Àû¾îÁÖ¸é ½ÃÀ۽ÿ¡ ipfw ¼³Á¤À» ÇÏ°Ô µÈ´Ù. firewall_type¿¡´Â ¿©·¯°¡Áö°¡ Àִµ¥, open, client, simple, closed, UNKNOWN µîÀÇ ¹Ì¸® ¸¸µé¾îÁø ±ÔÄ¢ÀÌ ÀÖ´Ù. ÀÌ¿¡ ´ëÇØ¼­´Â /etc/rc.firewall ¾ÕºÎºÐÀÇ ÁÖ¼®À» ÀоÀÚ.

rc.conf¿¡ ÇÊ¿äÇÑ ºÎºÐÀ» ¼³Á¤ÇÏ¿´À¸¸é ÀçºÎÆÃÇϰí, ±ÔÄ¢ÀÌ Á¦´ë·Î ¼³Á¤µÇ¾ú´ÂÁö »ìÆìº»´Ù.

natd·Î ±âº»ÀûÀÎ NAT ȯ°æ ±¸ÃàÇϱâ

À̹ø¿¡´Â NAT ȯ°æ¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸ÀÚ. º¸ÅëÀº ÁýÀ̳ª ¼Ò±Ô¸ð »ç¹«½Ç, ±³À°Àå°ú °°Àº ȯ°æ¿¡¼­ °øÀÎ IP°¡ ¸ðÀÚ¶ö °æ¿ì NAT¸¦ »ç¿ëÇØ¼­ ³×Æ®¿öÅ©¸¦ ±¸ÃàÇÒ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì ³»ºÎ ³×Æ®¿öÅ©´Â ¿ÜºÎ ¶ó¿ìÆÃÀÌ ºÒ°¡´ÉÇÑ »ç¼³ IP ´ë¿ªÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. »ç¿ëÇÒ ¼ö ÀÖ´Â »ç¼³ IP ´ë¿ªÀº RFC1918¿¡ Á¤ÀǵǾî ÀÖÀ¸¸ç, ´ÙÀ½°ú °°´Ù. ÀϹÝÀûÀ¸·Î ¸¹ÀÌ »ç¿ëÇÏ´Â °ÍÀº 10.0.0.1/8 À̳ª 192.168.0.0/24ÀÌ´Ù. ¾Æ¹« ¿µ¿ªÀ̳ª »ç¿ëÇÒ ¼ö ÀÖÀ¸¹Ç·Î Æí¸®ÇÑ ´ë·Î ÀÌ¿ëÇÏÀÚ.

´ÙÀ½°ú °°Àº ȯ°æ¿¡¼­ NAT¸¦ ±¸ÃàÇÑ´Ù°í »ý°¢ÇØ º¸ÀÚ.

      ------------------------------
      ¿ÜºÎ ³×Æ®¿öÅ©(211.99.82.0/24)
      ------------------------------
                   |
		   |  211.99.82.1 (fxp0)
	      NAT °ÔÀÌÆ®¿þÀÌ(FreeBSD)
	           |  192.168.1.1 (fxp1)
		   |
      ------------------------------
      ³»ºÎ ³×Æ®¿öÅ©(192.168.1.1/24)
      ------------------------------
ÀÌ °æ¿ì, FreeBSD ¼­¹ö¿¡´Â ·£ Ä«µå°¡ µÎÀåÀÌ ÀÖ°í, ³»ºÎ ³×Æ®¿öÅ©ÀÇ PC´Â ¸ðµÎ Çãºê¿¡ ¿¬°áµÇ¾î ÀÖ¾î¾ß ÇÑ´Ù. ³»ºÎ ³×Æ®¿öÅ©¿¡ ÀÖ´Â PC´Â °ÔÀÌÆ®¿þÀ̸¦ 192.168.1.1·Î ÀâÀ¸¸é µÈ´Ù.

NAT¸¦ »ç¿ëÇϱâ À§Çؼ­´Â ¸ÕÀú ipfw ȯ°æÀÌ ±¸ÃàÀÌ µÇ¾î ÀÖ°í, NAT¸¦ À§ÇÑ ±ÔÄ¢À» Ãß°¡ÇÑ ´ÙÀ½¿¡ natd¸¦ ÀûÀýÇÑ ¿É¼ÇÀ¸·Î ½ÇÇàÇÏ¸é µÈ´Ù.

natd

natd´Â ipfw¿Í ¿¬°èµÇ´Â NAT ´ë¸óÀ¸·Î, NAT¸¦ »ç¿ëÇÏ·Á¸é Ç×»ó ½ÇÇàÇØ µÎ¾î¾ß ÇÑ´Ù. ÀÚ¼¼ÇÑ ¿É¼ÇÀº natd(8) ¸Å´º¾ó ÆäÀÌÁö¿¡¼­ ÀоÀÚ. º¸Åë ÀϹÝÀûÀÎ NAT¼­ºñ½º¸¦ À§Çؼ­´Â º°µµ ¿É¼Ç ¾øÀÌ ÀÎÅÍÆäÀ̽º¸¸ ÁöÁ¤Çؼ­ ±×´ë·Î ½ÇÇàÇÏ¸é µÈ´Ù. ±× ÀÌÀü¿¡ NAT¸¦ À§ÇÑ Æ¯º°ÇÑ ±ÔÄ¢ÀÌ ipfw ¹æÈ­º®¿¡ Ãß°¡µÇ¾î¾ß ÇÑ´Ù. ÀÌ ±ÔÄ¢Àº °¡Àå ¾ÕºÎºÐ¿¡ ÀÖ¾î¾ß ÇÑ´Ù.
# ipfw add 50 divert 8668 ip from any to any via fxp0
ÀÌ °æ¿ì ÀåÄ¡¸íÀº °øÀÎ IP°¡ ºÎ¿©µÈ ÀÎÅÍÆäÀ̽º¸í(¿©±â¼­´Â fxp0)À̶ó´Â Á¡¿¡ ÁÖÀÇÇÏÀÚ. 8868Àº NAT°¡ ¸®½º´×ÇÏ´Â Æ÷Æ® ¸íÀ¸·Î, ÀÌ ±ÔÄ¢Àº fxp0¸¦ ÅëÇØ Áö³ª´Ù´Ï´Â ÆÐŶÀ» natd·Î divert ¼ÒÄÏÀ» »ç¿ëÇÏ¿© Àü¼ÛÇϰí, natd´Â ¹ÞÀº ÆÐŶÀ» ÀûÀýÈ÷ ´Ù½Ã ¾²°Ô µÈ´Ù. ÀÌÁ¦ natd¸¦ ½ÇÇàÇÏÀÚ.
# /sbin/natd -n fxp0
±×¸®°í ³ª¼­ ³»ºÎ ³×Æ®¿öÅ©¿¡¼­ ¿ÜºÎ Á¢¼ÓÀÌ °¡´ÉÇÑÁö È®ÀÎÇØ º¸ÀÚ. natdÀÇ ¿É¼ÇÀº ¸í·ÉÇàÀ¸·Î ÁÙ ¼öµµ ÀÖÁö¸¸, º°µµÀÇ ¼³Á¤ ÆÄÀÏ¿¡ ÁÖ´Â °Íµµ °¡´ÉÇÏ´Ù. ¸¸¾à ´ÙÀ½°ú °°Àº ¿É¼ÇÀ» »ç¿ëÇÏ°í ½Í´Ù¸é
# /sbin/natd -same_ports -unregistered_only -interface fxp0
¼³Á¤ ÆÄÀÏ·Î ¿É¼ÇÀ» ÇÑ ÁÙ¿¡ Çϳª¾¿ ¾²°í ±×°ÍÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¾Æ·¡ ÆÄÀÏÀ» /etc/natd.conf¶ó°í ÇÏÀÚ(¿É¼ÇÀÇ Àǹ̴ natd ¸Å´º¾óÀ» ÀоÀÚ).
same_ports
unregistered_only
interface fxp0
±×·¯¸é natd¸¦ ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÒ ¼ö ÀÖ´Ù.
# /sbin/natd -f /etc/natd.conf
natd¸¦ ½ÇÇà½Ã¿¡µµ µ¿ÀÛÇÏ°Ô ÇÏ·Á¸é /etc/rc.conf¿¡ ´ÙÀ½°ú °°ÀÌ ÁöÁ¤ÇÑ´Ù.
firewall_enable="YES"
firewall_type="open"
natd_enable="YES"
natd_interface="fxp0"
natd_flags="-f /etc/natd.conf"
gateway_enable="YES"
À§ÀÇ µÎ°³´Â ¹æÈ­º®À» »ç¿ëÇϱâ À§ÇÑ °ÍÀ̰í(firewall_typeÀº ÀÚ½ÅÀÌ »ç¿ëÇÏ´Â °ÍÀÌ ÀÖ´Ù¸é ±×°ÍÀ» »ç¿ëÇØ¾ß ÇÑ´Ù), natd_flags¿¡´Â ¿É¼ÇÀ» ÁöÁ¤ÇÑ´Ù. gateway_enableÀº ÀÎÅÍÆäÀ̽º°£ ÆÐŶ Àü¼ÛÀ» °¡´ÉÇÏ°Ô ÇÏ´Â °ÍÀÌ´Ù. ÀÌ´Â ipfw + nat ȯ°æ¿¡¼­ ²À ÇÊ¿äÇÑ ¿É¼ÇÀ̸ç, ½ÇÁ¦·Î´Â ´ÙÀ½°ú °°Àº ¸í·ÉÀ» ½ÇÇàÇÏ´Â °Í°ú µ¿ÀÏÇÏ´Ù.
  sysctl net.inet.ip.forwarding=1
´Ù½Ã ºÎÆÃÇØ¼­ NAT°¡ Á¦´ë·Î µ¿ÀÛÇÏ´ÂÁö È®ÀÎÇØ º¸ÀÚ. NAT°¡ Á¦´ë·Î µ¿ÀÛÇÏ´ÂÁö È®ÀÎÇϱâ À§Çؼ­´Â ´ÙÀ½ »çÇ×À» Á¡°ËÇÏ¸é µÈ´Ù. °¡Àå °£´ÜÇÑ ÇüÅÂ(firewall_type="open")À¸·Î ¸¸µé¾îÁø °æ¿ì ¹æÈ­º® ±ÔÄ¢Àº ´ÙÀ½°ú °°ÀÌ ³ªÅ¸³ª¾ß ÇÑ´Ù.
# ipfw list
00050 divert 8668 ip from any to any via fxp0
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
65000 allow ip from any to any
65535 allow ip from any to any
firewall_type¿¡ À§¿¡¼­Ã³·³ open µîÀÇ Á¤ÇØÁø ŸÀÔÀÌ ¾Æ´Ï¶ó º°µµÀÇ ¼³Á¤ ÆÄÀÏÀ» »ç¿ëÇÏ´õ¶óµµ NAT¸¦ À§ÇØ divert ±ÔÄ¢À» Ãß°¡ÇÒ ÇÊ¿ä´Â ¾ø´Ù. /etc/rc.firewallÀº ¹æÈ­º®À» »ç¿ëÇϰí(firewall_enable), NAT¸¦ »ç¿ëÇÏ´Â °æ¿ì(natd_enable) ÀÚµ¿ÀûÀ¸·Î 50¹ø ±ÔÄ¢À» Ãß°¡ÇÑ´Ù.

NAT°¡ µ¿ÀÛÇÏ¸é ¿©·¯°¡Áö Àç¹ÌÀÖ´Â ÀÏÀ» ÇÒ ¼ö ÀÖ´Ù. ·ÎÄà DNS ij½Ã¸¦ ¸¸µé ¼öµµ ÀÖ°í, DHCP¼­¹ö¸¦ »ç¿ëÇÏ¿© ³×Æ®¿öÅ© ÀÚµ¿ ¼³Á¤, squid¸¦ ÀÌ¿ëÇÑ À¥ ÇÁ·Ï½Ã µî ´Ù¾çÇÑ È°¿ëÀÌ °¡´ÉÇϹǷΠÀç¹ÌÀÖ°Ô »ç¿ëÇØ º¸ÀÚ.

°í±Þ Ȱ¿ë

ÀÌÁ¦ ipfw + natd ¹æÈ­º®¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸¾ÒÀ¸´Ï, Á¶±Ý ´õ °í±Þ ó¸® ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ.

cpp¸¦ ÀÌ¿ë ¸ÅÅ©·Î ó¸®

ipfw.conf´Â Àü󸮱â(preprocessor)¸¦ ÅëÇÑ Ã³¸®°¡ °¡´ÉÇÏ´Ù. °¡·É ´ÙÀ½°ú °°ÀÌ /etc/rc.conf¿¡ ÁöÁ¤ÇØ µÎ¾ú´Ù¸é,
firewall_enable="YES"
firewall_type="/etc/ipfw.conf"
firewall_flags="-p cpp"
ipfw.conf´Â C Àü󸮱â(cpp)¸¦ »ç¿ëÇÏ¿© ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
/*
 * my ipfw.conf
 */

#define ALLOW_SSH(ipaddr) add allow tcp from ipaddr to any 22
#define ALLOW_WWW(ipaddr) add allow tcp from ipaddr to any 80

add allow ip from any to any via lo0
add deny ip from any to 127.0.0.0/8
add deny ip from 127.0.0.0/8 to any

ALLOW_SSH(192.168.2.0/24)
ALLOW_WWW(192.168.4.11)

add deny ip from any to 192.168.1.100 1-1023
add allow icmp from any to any icmptype 0,3,8,11
add deny icmp from any to any
add 60000 allow ip from any to any
ÀÌ ¿¹Á¦¿¡¼­, IIF, ALLOW_SSHµîÀÇ ¸ÅÅ©·Î´Â C¿¡¼­ »ç¿ëÇÏ´ø °Í°ú ±×´ë·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ ¹æ¹ýÀ» Àß ÀÀ¿ëÇÏ¸é ¹Ýº¹µÇ´Â ÀÛ¾÷À» ¸ÅÅ©·Î¸¦ »ç¿ëÇÏ¿© Æí¸®ÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù.

ÆÐŶ Æ÷¿öµù

IPFIREWALL_FORWARD ¿É¼ÇÀ» »ç¿ëÇÏ¸é ÆÐŶ Æ÷¿öµùÀ» ½±°Ô ±¸ÇöÇÒ ¼ö ÀÖ´Ù. À§ÀÇ natd ¿¹Á¦¿¡¼­, °ÔÀÌÆ®¿þÀÌ ¼­¹ö¿¡ squid³ª wwwoffle¿Í °°Àº À¥ ÇÁ·Ï½Ã°¡ ¼³Ä¡µÇ¾î ÀÖ°í, 3128 Æ÷Æ®¿¡¼­ Åõ¸í ÇÁ·Ï½Ã ¸ðµå·Î »ç¿ë °¡´ÉÇÏ´Ù°í »ý°¢ÇØ º¸ÀÚ. ÀÌ Æ÷Æ®·Î À¥ Æ®·¡ÇÈÀ» °­Á¦·Î º¸³»±â À§ÇØ ´ÙÀ½ ±ÔÄ¢À» ipfw¿¡ Ãß°¡ÇÒ ¼ö ÀÖ´Ù.
add 30 fwd 192.168.1.1,3128 tcp from 192.168.1.0/24 to any 80 via fxp0
ÀÌ·¸°Ô Çϸé 192.168.1.0/24 ³×Æ®¿öÅ©¿¡¼­ ¿ÜºÎÀÇ HTTP Æ÷Æ®¿¡ Á¢¼ÓÇÏ´Â ¸ðµç ÆÐŶÀº 192.168.1.1:3128 Æ÷Æ®·Î ¿¬°áµÈ´Ù. À̰÷¿¡ Åõ¸í ÇÁ·Ï½Ã°¡ Á¸ÀçÇÏ¸é »ç¿ëÀÚ´Â º°µµ·Î ÇÁ·Ï½Ã ¼³Á¤ ¾øÀÌ ÀÚµ¿À¸·Î À¥ ÇÁ·Î½Ã¸¦ »ç¿ëÇÏ°Ô µÈ´Ù.

NAT »ç¿ë½Ã ¿ÜºÎ¿¡¼­ ³»ºÎ·ÎÀÇ Á¢¼Ó

NAT »ç¿ë½Ã »ç¼³ IP ´ë¿ªÀ» »ç¿ëÇÑ´Ù¸é, ¿ÜºÎ¿¡¼­´Â ³»ºÎ·Î Á¢¼ÓÀÌ ºÒ°¡´ÉÇÏ´Ù. ÀÌ °æ¿ì NAT ¼­¹öÀÇ Æ¯Á¤ Æ÷Æ®¸¦ ³»ºÎ ¼­¹öÀÇ Æ¯Á¤ IP¿Í Æ÷Æ®·Î ÁöÁ¤ÇÏ¿©, ¿ÜºÎ¿¡¼­ ³»ºÎ·Î Á¢¼ÓÀÌ °¡´ÉÇÏ°Ô ÇÒ ¼ö ÀÖ´Ù.

À§ NAT ȯ°æ ±¸Ãà ¿¹¿¡¼­, 192.168.1.100¿¡¼­ À¥ ¼­¹ö¿¡ 80¹ø Æ÷Æ®·Î µ¿ÀÛÇÏ´Â °æ¿ì, ¿ÜºÎ¿¡¼­ Á¢¼ÓÇϱâ À§Çؼ­´Â ¸ÕÀú °ÔÀÌÆ®¿þÀÌÀÇ °øÀÎ IPÀÎ 211.99.82.1 ¿¡ Àû´çÇÑ Æ÷Æ®¸¦ ÁöÁ¤ÇØ¾ß ÇÑ´Ù. °¡·É 8080¹øÀ̶ó°í Çϸé, natd ¿É¼Ç¿¡ ´ÙÀ½À» Ãß°¡ÇÑ´Ù.

/sbin/natd -n fxp0 -redirect_port tcp 192.168.1.100:80 8080
ÀÌ·¸°Ô Çϸé 211.99.82.1:8080 À¸·Î Á¢¼ÓÇÏ´Â °ÍÀº 192.168.1.100:80 À¸·Î Á¢¼ÓÇÏ´Â °Í°ú µ¿ÀÏÇÏ´Ù.

¿©·¯°³ÀÇ Æ÷Æ®¸¦ ¿©·¯ ÁÖ¼Ò·Î ¿¬°áÇÏ·Á¸é ¼³Á¤ ÆÄÀÏÀ» µÎ´Â ÆíÀÌ ÁÁ´Ù.

ºê¸®Áö

ÀÌ´õ³Ý ºê¸®Áö´Â µÎ µ¿ÀÏÇÑ ÀÌ´õ³Ý ȯ°æ(°°Àº ¼­ºê³Ý)À» À̾îÁÖ´Â ´Ù¸® ¿ªÇÒÀ» Çϸç, ±¸Ã¼ÀûÀ¸·Î´Â ¼­·Î ¿À°¡´Â ÆÐŶÀ» ±×´ë·Î Àü´ÞÇØ ÁÖ´Â ¿ªÇÒÀ» ÇÑ´Ù. FreeBSD¿¡¼­´Â ºê¸®Áö ±¸ÇöÀ» »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, À̸¦ À§Çؼ­ Ä¿³Î ¿É¼Ç¿¡ ´ÙÀ½À» Ãß°¡ÇÑ´Ù.
 options BRIDGE
±×¸®°í, /etc/sysctl.conf¿¡ ´ÙÀ½°ú °°ÀÌ ÁöÁ¤ÇÏ¸é ºê¸®Áö ¼³Á¤À» ÇÒ ¼ö ÀÖ´Ù. ºê¸®Áö ¼³Á¤À̶ó¸é ¿¬°áÇÒ µÎ ³×Æ®¿öÅ© ÀåÄ¡¸¦ ÁöÁ¤ÇÏ´Â °ÍÀÌ´Ù.
# ºê¸®Áö »ç¿ë
net.link.ether.bridge=1
# ºê¸®Áö¿¡¼­ ipfw ÆÐŶ ÇÊÅÍ »ç¿ë °¡´É
net.link.ether.bridge_ipfw=1
# ºê¸®Áö·Î ¿¬°áÇÒ µÎ ³×Æ®¿öÅ© ÀåÄ¡ ÁöÁ¤
net.link.ether.bridge_cfg=fxp0:0,fxp1:0
¶ÇÇÑ ºê¸®Áö¿¡¼­ ipfw ¸¦ ÅëÇÑ ÆÐŶ ÇÊÅ͸µÀ» ÇÒ ¼ö Àִµ¥, ÀÌ´Â ¼Ò±Ô¸ð ³×Æ®¿öÅ©¿¡¼­ÀÇ ÆÐŶ ÇÊÅÍ ¹æÈ­º®À» ¸¸µå´Âµ¥ ¾ÆÁÖ Æí¸®ÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù.

´ÙÀ½°ú °°Àº ±¸¼ºÀ» »ý°¢ÇØ º¸ÀÚ.

      -----------------------------
              ¿ÜºÎ ³×Æ®¿öÅ©
      -----------------------------
                   |
		------
		¶ó¿ìÅÍ 
		------
                   | 211.99.82.1
                   |
		   |  fxp0
              ----------------
	      ºê¸®Áö (FreeBSD)
	      ----------------
	           |  fxp1: 211.99.82.2
		   |
      ------------------------------
       ³»ºÎ ³×Æ®¿öÅ©(211.99.82.0/24)
      ------------------------------
Áï, ³»ºÎ ³×Æ®¿öÅ©¿Í ¶ó¿ìÅÍ »çÀÌ¿¡ ºê¸®Áö ¹æÈ­º®À» ¼³Ä¡ÇÏ´Â °ÍÀ¸·Î, ±âÁ¸ ³×Æ®¿öÅ© ±¸¼ºÀ» º¯°æÇÒ ÇÊ¿ä ¾øÀÌ ºê¸®Áö ÇüÅÂÀÇ ¹æÈ­º® Ãß°¡°¡ °¡´ÉÇÏ´Ù. ºê¸®Áö´Â ¹Ýµå½Ã IP¸¦ °¡Áú ÇÊ¿ä´Â ¾øÁö¸¸, ±×·¸°Ô Çϸé Äֿܼ¡¼­¸¸ Á¢¼ÓÀÌ °¡´ÉÇϹǷΠ¾ÈÂÊ¿¡´Â IP¸¦ °®µµ·Ï ÇÑ´Ù.

³²Àº °ÍÀº ÀûÀýÇÑ ±ÔÄ¢À» ¸¸µå´Â ÀÏÀε¥, DaemonNewsÀÇ ´ÙÀ½ ±â»ç¸¦ Âü°íÇÏ¸é ºñ±³Àû ½±°Ô ¸¸µé ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌ ±â»ç´Â ipfilter¸¦ ±âÁØÀ¸·Î ¾²¿© ÀÖÁö¸¸, ipfw ¹æÈ­º® ±ÔÄ¢À¸·Î º¯È¯ÇÏ´Â °ÍÀº ¾î·ÆÁö ¾Ê´Ù.

Daemon News : OpenBSD bridge without IPs using IPF Tutorial
http://www.daemonnews.org/200103/ipf_bridge.html

´ë¿ªÆø Á¦¾î

ipfw¿Í dummynet(4)¸¦ »ç¿ëÇÏ¸é ¹æÈ­º®À¸·Î Áö³ª°¡´Â ÆÐŶÀÇ ´ë¿ªÆø Á¦¾î°¡ °¡´ÉÇÏ´Ù. dummynet´Â Áö³ª°¡´Â ÆÐŶÀÇ ´ë¿ªÆø Á¦¾î³ª È®·ü ±â¹ÝÀÇ ÆÐŶ ¹ö¸² µîÀÇ Ã³¸®°¡ °¡´ÉÇϹǷÎ, ¾ÇÁ¶°ÇÀÇ ³×Æ®¿öÅ©¸¦ Èä³»³»´Â ½Ã¹Ä·¹ÀÌÅÍÀÇ ¿ªÇÒÀ» ÇÒ ¼öµµ ÀÖ´Ù.

ÀÌ ±â´ÉÀ» »ç¿ëÇϱâ À§Çؼ­´Â Ä¿³Î ¿É¼Ç¿¡ ´ÙÀ½À» Ãß°¡Çϰųª dummynet.ko¸¦ Àоîµé¿©¾ß ÇÑ´Ù.

options		DUMMYNET
¼³Á¤Àº ipfw ¸Å´º¾ó ÆäÀÌÁö¿¡ ÀÚ¼¼È÷ ³ª¿Í Àִµ¥, °£´ÜÇÑ ¸î°¡Áö ¿¹Á¦¸¸ µé¾îº¸±â·Î ÇÏÀÚ. ¸ÕÀú ´ë¿ªÆø Á¦¾î¸¦ ÇÒ ±ÔÄ¢À» Á¤ÇÑ´Ù.
  ipfw add pipe 1 ip from 192.168.2.0/24 to any
ÀÌ °æ¿ì ÆÄÀÌÇÁ 1¹øÀÌ 192.168.2.0/24 ³×Æ®¿öÅ©¿¡¼­ ´Ù¸¥ ÂÊÀ¸·Î °¡´Â ÆÐŶ ¸ðµÎ¿¡ ´ëÇØ Àû¿ëµÈ´Ù. ±× ´ÙÀ½¿¡´Â pipe 1À» ¼³Á¤ÇÑ´Ù.
  ipfw pipe 1 config bw 128kbit/s
ÀÌ·¸°Ô ÇÏ¿© pipe 1ÀÇ ´ë¿ªÀ» 128kbit ·Î Á¦ÇÑÇÒ ¼ö ÀÖ´Ù. pipe´Â ¹øÈ£¸¦ ºÙ¿© ¿©·¯°³¸¦ ¸¸µé ¼ö ÀÖ´Ù. È®·ü·Î ÆÐŶÀ» ¹ö¸®·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
  ipfw pipe 1 config plr 0.05
ÀÌ °æ¿ì 5%ÀÇ È®·ü·Î ÇØ´ç ±ÔÄ¢¿¡ ¸Â´Â ÆÐŶÀ» ¹ö¸°´Ù.

³¡À¸·Î

À̹ø´Þ¿¡´Â ipfw + natd¸¦ »ç¿ëÇÏ¿© FreeBSD¿¡¼­ ¹æÈ­º®°ú NAT ³×Æ®¿öÅ© ¼­¹ö¸¦ ±¸ÃàÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¸¾Ò´Ù. ipfw´Â ³»ÀåµÇ¾î ÀÖ°í ¾Ë±â ½¬¿î ¹®¹ýÀ» Á¦°øÇϹǷΠ¹æÈ­º®¿¡ ´ëÇÑ ±âº»ÀûÀÎ ¿ø¸®¸¸ ¾Ë¸é ´©±¸³ª ½±°Ô ¹æÈ­º®À» ±¸ÃàÇÒ ¼ö ÀÖ´Ù. °í°¡ÀÇ ¹æÈ­º® Àåºñ¸¦ ±¸ÀÔÇϱ⠺¸´Ù´Â »ç¹«½Ç Á¤µµÀÇ ÀÎÅÍ³Ý È¯°æÀ̶ó¸é Á¶±Ý ±¸½ÄÀÇ ÆæÆ¼¾ö Àåºñµµ FreeBSD¿Í ÇÔ²² ÈǸ¢ÇÑ ¹æÈ­º®¿Í ÀÎÅÍ³Ý °ÔÀÌÆ®¿þÀÌ ¿ªÇÒÀ» ÇÒ ¼ö ÀÖ´Ù. ÁÖº¯¿¡ ¹æÈ­º®ÀÌ ÇÊ¿äÇѵ¥ ¾ÆÁ÷ ¾ø´Ù¸é FreeBSD·Î Çѹø ¸¸µé¾î º¸ÀÚ!

[ Home | Freetime works | FreeBSD | KFUG ]


Copyright © 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 CHOI Junho, all rights reserved.
Please send spam/UCE here to register your mail to razor