[ Home | Freetime works | FreeBSD | KFUG ]
ÇÁ·Î±×·¥¼¼°è 2002³â 6¿ùºÐ
ÀÌ´ÞÀÇ FreeBSD ¼Ò½Ä°øÁö/¼Ò½Ä
½Ã½ºÅÛ ¾÷µ¥ÀÌÆ®
º¸¾È ¾÷µ¥ÀÌÆ®´ÙÀ½Àº ÀÌ´ÞÀÇ º¸¾È ±Ç°í »çÇ×ÀÌ´Ù. 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 |
ÆÐŶ ÇÊÅÍ ¹æÈº®ÀÇ ÀåÁ¡Àº º¸Åë ÆÐŶ(ÀÌ´õ³Ý ÇÁ·¹ÀÓµµ Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù) ¼öÁØ¿¡¼ ÇÊÅ͸µ ¿©ºÎ°¡ °áÁ¤µÇ±â ¶§¹®¿¡ ½ÇÁ¦ ¼¹ö±îÁö Àü´ÞµÇÁö ¾Ê´Â´Ù´Â ÀåÁ¡ÀÌ ÀÖ´Ù. ÇÏÁö¸¸ ¸ðµç ÆÐŶÀ» ó¸®ÇØ¾ß Çϰí, 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 °øÀÎ 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:50000NAT¼¹ö´Â ¾Æ±î ÇÒ´çµÇ¾ú´ø Æ÷Æ® ¹øÈ£¸¦ ±â¾ïÇϰí ÀÖ´Ù°¡ ³»ºÎ ³×Æ®¿öÅ©·Î ÆÐŶÀ» º¸³¾ ¶§ Æ÷Æ®¿¡ ÇÒ´çµÇ¾ú´ø ÁÖ¼Ò·Î ¹Ù²Ù¾î ¾´´Ù. ¼Û½Å: 211.46.62.18:80 ¼ö½Å: 192.168.1.100:30000ÀÌ·¸°Ô ÇÏ¿© ³»ºÎ¿¡¼ ¿ÜºÎ·Î Åë½ÅÀÌ °¡´ÉÇÏ´Ù. ´Ü ¿ÜºÎ¿¡¼´Â ³»ºÎ ÁÖ¼Ò·Î ¶ó¿ìÆÃÀÌ ºÒ°¡´ÉÇϹǷΠµé¾î¿Ã ¼ö ¾ø´Âµ¥, ÀÌ´Â Æ÷Æ® Àü¼Û(port forwarding) À̶ó´Â ±â¹ýÀ» »ç¿ëÇÏ¸é °¡´ÉÇÏ´Ù. Áï NAT ¼¹öÀÇ Æ¯Á¤ Æ÷Æ®¸¦ ³»ºÎ ³×Æ®¿öÅ©ÀÇ Æ¯Á¤ IP:Æ÷Æ®·Î ¸ÅÇÎÇÏ´Â °ÍÀÌ´Ù. Áï ´ÙÀ½°ú °°ÀÌ ¼³Á¤µÇ¾úÀ» ¶§, 211.46.52.100:40000 -> 192.168.1.10:80211.46.52.100:40000À» ÇâÇØ µé¾î¿À´Â ÆÐŶÀº ¸ðµÎ 192.168.1.10:80 À¸·Î º¸³»°í, µ¹¾Æ°¡´Â ÆÐŶÀº ±× ¹Ý´ë·Î ó¸®ÇÏ¸é µÈ´Ù. ´ëºÎºÐÀÇ NAT ¼¹ö´Â À§ÀÇ µÎ ±â´ÉÀ» ¸ðµÎ ¼öÇàÇÒ ¼ö ÀÖ´Ù. ´Ù¸¸ FTPµî°ú °°ÀÌ Æ÷Æ®¸¦ ¼¹ö¿¡¼ ÇÒ´çÇÏ´Â °æ¿ì µî¿¡´Â ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖÀ¸¹Ç·Î, Ưº°ÇÑ Ã³¸®¸¦ ÇÏ´Â °ÍÀÌ º¸ÅëÀÌ´Ù. |
| Ç׸ñ | ipfw | ipfilter |
|---|---|---|
| À̽ļº | FreeBSDÀü¿ë | ¸ÖƼÇ÷§Æû |
| ±ÔÄ¢Àû¿ë | ¸ÕÀú ¸Â´Â ¼ø | °¡Àå ³ªÁß¿¡ ¸Â´Â ¼ø |
| »ç¿ë | ¸ðµâ | ¸ðµâ |
| NAT | natd(8) ´ë¸ó | ³»Àå(ipnatÀ¸·Î Á¦¾î) |
| TCP »óÅ ÇÊÅ͸µ | °¡´É | °¡´É |
| ±ÔÄ¢ ±×·ì | ¾øÀ½ | ÀÖÀ½ |
| ÆÐŶ Àü¼Û | °¡´É | °¡´É |
| ºê¸®Áö Áö¿ø | °¡´É | ºÒ°¡´É |
| ´ë¿ªÆø Á¦¾î | °¡´É(dummynet) | ºÒ°¡´É |
| IPv6 Áö¿ø | °¡´É(ip6fw) | ºÒ°¡´É |
FreeBSD »ç¿ëÀÚ¶ó¸é ipfw¿¡ Àͼ÷ÇØÁö´Â ÆíÀÌ ÁÁÀ» °ÍÀÌ´Ù. ipfilter·Î ±âº»ÀûÀÎ ¹æÈº® »ç¿ëÀº °¡´ÉÇÏÁö¸¸, Á¶±Ý ´õ °í±Þ ±â´ÉÀÎ ´ë¿ªÆø Á¦¾î³ª ÀÌ´õ³Ý ºê¸®Áö Áö¿ø µîÀÌ µÇÁö ¾Ê±â ¶§¹®ÀÌ´Ù. ipfw´Â FreeBSD 2.0¿¡¼ óÀ½ µîÀåÇÏ¿´À¸¸ç, 2.2.8¿¡¼ ´ë¿ªÆø(dummynet)Áö¿øÀ», 4.0ºÎÅÍ TCP »óÅ Á¦¾î°¡ °¡´ÉÇÏ¿´À¸¸ç, 4.4 ¸±¸®ÁîºÎÅÍ ¸ðµâ·Î ÀоîµéÀÌ´Â ÀÏÀÌ °¡´ÉÇØÁ³´Ù. ¶ÇÇÑ ip6fw(8)¸í·ÉÀ» »ç¿ëÇÏ¿© IPv6 ÆÐŶµµ ÇÊÅ͸µÀÌ °¡´ÉÇÏ´Ù(IPv6Àº NAT°¡ ÇÊ¿ä ¾øÀ¸¹Ç·Î natd¿¡¼´Â Áö¿øÇÏÁö ¾Ê´Â´Ù).
ipfilteripfilter´Â ¿ÀÇ ¼Ò½ºÀ̸鼵µ ¿ÜºÎÀο¡ ÀÇÇÑ Ã·»èÀ» ÀÓÀÇ·Î Çã¿ëÇÏÁö ¾Ê´Â (ÀúÀÚ¿¡°Ô ¹Ì¸® ¾Ë·Á¾ß ÇÑ´Ù) ¶óÀ̼¾½º ¶§¹®¿¡ OpenBSD¿¡´Â ³íÀï ³¡¿¡ ipfilter¸¦ ±âº» ¼Ò½º Æ®¸®¿¡¼ Á¦¿Ü½Ã۰í pf¶ó°í ÇÏ´Â µ¶ÀÚÀûÀÎ ÆÐŶ ÇÊÅÍ ½Ã½ºÅÛÀ» ¸¸µé¾ú´Ù. pf´Â ipfilter¿Í µ¿ÀÏÇÑ ÀÎÅÍÆäÀ̽º¸¦ °®´Â´Ù. ½ÇÁ¦·Î OpenBSD 3.0ºÎÅÍ´Â ipfilter´ë½Å pf°¡ Æ÷ÇÔµÇ¾î ¸±¸®ÁîµÇ¾ú´Âµ¥, Darren¾¾´Â pf¸¦ »©°í ipfilter¸¦ ³ÖÀº OpenBSD 3.0 ¹èÆ÷º»À» º°µµ·Î ¸±¸®ÁîÇϱ⵵ ÇÏ¿´´Ù.
ipfilter ȨÆäÀÌÁö: http://www.ipfilter.org |
# 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 /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 ±ÔÄ¢ÀÇ ±âº»ÀûÀÎ ¹®¹ýÀº ´ÙÀ½°ú °°´Ù.
[prob È®·ü] µ¿ÀÛ [log [logamount ¼ýÀÚ]] ÆÐŶŸÀÔ from ¼Û½Åó to ¼ö½Åó [ÀÎÅÍÆäÀ̽º Á¤º¸] [¿É¼Ç]
È®·üÀº 0¿¡¼ 1 »çÀÌÀÇ °ªÀ¸·Î ÆÐŶÀÌ Åë°úÇÒ È®·üÀ» Á¤ÇÑ´Ù. ÀÌ´Â °¡»óÀÇ ³×Æ®¿öÅ© ȯ°æÀ» Èä³»³»°Å³ª, ÀϺη¯ ÆÐŶÀ» È®·üÀûÀ¸·Î ¹ö·Á¾ß ÇÒ ¶§ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
µ¿ÀÛ¿¡´Â Å©°Ô ´ÙÀ½°ú °°Àº °ÍÀÌ ÀÖ´Ù. ½ÇÁ¦ µ¿ÀÛÀº À̺¸´Ù ´õ ÀÚ¼¼Çϸç, ±× Á¤º¸¿¡ ´ëÇØ¼´Â ¸Å´º¾ó ÆäÀÌÁö¸¦ Âü°íÇÏÀÚ.
| allow | ÆÐŶ Åë°ú¸¦ Çã°¡ÇÑ´Ù. |
| deny | ÆÐŶ Åë°ú¸¦ °ÅºÎÇÑ´Ù. |
| unreach | ÆÐŶ Åë°ú¸¦ °ÅºÎÇϰí Á¤ÇØÁø ÄÚµåÀÇ ICMP ÅëÁö¸¦ ÇÑ´Ù. |
| reset | ÆÐŶ Åë°ú¸¦ °ÅºÎÇϰí TCP RST¸¦ º¸³½´Ù. |
| divert | Á¤ÇØÁø Æ÷Æ®ÀÇ divert(4) ¼ÒÄÏÀ¸·Î º¸³½´Ù. NAT¿¡¼ »ç¿ë. |
| fwd | ÆÐŶÀ» Á¤ÇØÁø ÁÖ¼Ò¿Í Æ÷Æ®·Î Àü´ÞÇÑ´Ù. |
±ÔÄ¢¿¡ ÀÏÄ¡ÇÏ´Â °æ¿ì ·Î±×¸¦ ³²±ä´Ù. ·Î±×ÀÇ Å©±â´Â logamount·Î Á¦ÇÑÇÒ ¼ö ÀÖÀ¸¸ç, Ä¿³Î ¿É¼Ç IPFIREWALL_VERBOSE_LIMIT¿Í sysctl MIB net.inet.ip.fw.verbose_limit¿¡¼ Á¤ÇÑ ¼ýÀÚº¸´Ù ¿ì¼±ÇÑ´Ù.
ÆÐŶÀÇ Á¾·ù·Î, º¸Åë ip, tcp, udp, icmp µîÀÌ »ç¿ëµÈ´Ù. ÀÚ¼¼ÇÑ ÆÐŶ Á¾·ù ¸ñ·ÏÀº /etc/protocols¸¦ º¸ÀÚ.
ÀÌ´Â ÆÐŶÀ» º¸³½ °÷°ú °¥ °÷À» ³ªÅ¸³»´Âµ¥, TCP/IP ½Ã½ºÅÛ¿¡¼´Â º¸Åë IP ÁÖ¼Ò¿Í Æ÷Æ®·Î Ç¥ÇöµÈ´Ù. ¹®¹ýÀº ´ÙÀ½°ú °°´Ù.
any | me | [not] <ÁÖ¼Ò/¸¶½ºÅ©> [Æ÷Æ®]
| any | ¸ðµç ÁÖ¼Ò |
| me | ÀÌ ÄÄÇ»ÅÍÀÇ ÁÖ¼Ò |
| ÁÖ¼Ò/¸¶½ºÅ© |
¼¼°¡Áö Ç¥ÇöÀÌ °¡´ÉÇÏ´Ù.
|
| Æ÷Æ® |
Æ÷Æ®´Â ¿©·¯°³(½°Ç¥·Î ±¸ºÐ) ¶Ç´Â -¸¦ »ç¿ëÇÏ¿©
¹üÀ§ ÁöÁ¤ÀÌ °¡´ÉÇÏ´Ù. ¹øÈ£ ´ë½Å smtp, ssh¿Í °°Àº
À̸§À» »ç¿ëÇÒ ¼öµµ Àִµ¥, ÀÚ¼¼ÇÑ Æ÷Æ® À̸§Àº
/etc/services¸¦ º¸ÀÚ.
|
ÆÐŶÀÌ Áö³ª°¡´Â ÀÎÅÍÆäÀ̽º¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
| in | µé¾î¿À´Â ÆÐŶ |
| out | ³ª°¡´Â ÆÐŶ |
| via ifX | ifX(fxp0¿Í °°Àº ÀÎÅÍÆäÀ̽º¸í)À» Áö³ª´Â ÆÐŶ |
¿É¼ÇÀº ¿©·¯°¡Áö°¡ ÀÖÀ¸³ª, °¡Àå ´«¿©°Ü º¼ °ÍÀº keep-state ¿É¼ÇÀÌ´Ù. ÀÌ´Â TCP ¶Ç´Â UDPÀÇ Á¢¼Ó »óŸ¦ À¯ÁöÇÒ ¼ö ÀÖ´Â µ¿Àû ±ÔÄ¢À» »ý¼ºÇÏ°Ô ÇÑ´Ù. µ¿Àû ±ÔÄ¢Àº ÀÏÁ¤ ½Ã°£ ÀÌÈÄ »ç¶óÁø´Ù.
| established | TCP¿¡¼ RST³ª ACK ºñÆ®°¡ ÁöÁ¤µÈ °æ¿ì¿¡ ÇØ´ç |
| setup | TCP¿¡¼ SYN¸¸ ÀÖ°í ACK ºñÆ®°¡ ¾ø´Â °æ¿ì¿¡ ÇØ´ç |
À§ µÎ ¿É¼ÇÀº TCP ¿¬°áÀ» È®¸³ÇÏ´Â °úÁ¤ÀÇ »óŸ¦ ³ªÅ¸³½´Ù. Áï Æ¯Á¤ Á¶°Ç¿¡ ÇØ´çÇÏ´Â TCP ¿¬°á¸¸ Çã°¡ ¶Ç´Â °ÅºÎÇÏ°í ½ÍÀ» ¶§ keep-state¿Í ¿¬°èÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖ´Ù.
deny ip from any to any
deny tcp from 211.45.78.3 to any
allow tcp from any to 211.45.78.100 http
allow tcp from 211.44.63.0/24 to any ssh
divert 8668 ip from any to any via tun0
fwd 192.168.1.1,3128 tcp from 192.168.1.0/24 to any 80 via tun0
Á¤Ã¥ ¼ö½Å ¼Û½Å ŸÀÔ ¿É¼Ç ------------------------------------------------------------------------- Çã°¡ 192.168.2.0/24 192.168.1.100:80 TCP * Çã°¡ 192.168.2.0/24 192.168.1.100:22 TCP * °ÅºÎ * 192.168.1.100:1-1023 IP * Çã°¡ * * ICMP 0,3,8,11 °ÅºÎ * * ICMP * Çã°¡ * * * *ÆÐŶÀ» ¸ðµÎ Çã°¡ÇÏ´Â ¹æ¹ýÀº µÎ°¡Áö°¡ ÀÖ´Ù. Çϳª´Â allow ip from any to any ±ÔÄ¢À» ¸Ç ¸¶Áö¸·¿¡ ³Ö¾î ÁÖ´Â °ÍÀ̰í, µÎ¹øÂ°´Â IPFIREWALL_DEFALULT_TO_ACCEPT¸¦ »ç¿ëÇÏ´Â °ÍÀε¥, 60000¹ø Á¤µµ¿¡ allow ip from any to any¸¦ ³Ö¾î ÁÖ¸é Ä¿³Î ¿É¼Ç¿¡ °ü°è¾øÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
À§ÀÇ ±ÔÄ¢ Á¤¸®¸¦ ±â¹ÝÀ¸·Î ÇÏ¿© ´ÙÀ½°ú °°Àº ³»¿ëÀ¸·Î /etc/ipfw.conf¸¦ ¸¸µç´Ù.
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 add allow tcp from 192.168.2.0/24 to 192.168.1.100 80,22 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¸¶Áö¸·ÀÇ allow ip from any to any´Â °¡Àå µÞºÎºÐ¿¡ ³Ö±â À§ÇØ ÀϺη¯ 60000¹øÀÇ ±ÔÄ¢À» ºÎ¿©ÇÏ¿´´Ù.
ÆÄÀÏ¿¡ ÀÖ´Â ³»¿ëÀ» Çѹø¿¡ Àû¿ëÇÏ·Á¸é À§¿¡¼Ã³·³
ipfw -f flush ipfw /etc/ipfw.conf¶ó°í ÇØ º¸ÀÚ. ÀÌÈÄ¿¡ ¿øÇÏ´Â ´ë·Î ÆÐŶ Àü¼ÛÀÌ Á¦¾îµÇ°í ÀÖÀ¸¸é ¼º°øÀÌ´Ù. ´Ü À߸øµÇ´Â °æ¿ì µÇµ¹¸®·Á¸é ipfw -f flush ¸¦ »ç¿ëÇØ¾ß Çϴµ¥, ÄܼÖÀÌ ¾Æ´Ñ ³×Æ®¿öÅ© ¿¬°á »óÅ¿¡¼´Â ±âº» ±ÔÄ¢ÀÌ °ÅºÎÀÇ °æ¿ì ³×Æ®¿öÅ©°¡ ¹Ù·Î ²÷¾îÁö¹Ç·Î ¹æÈº® ¼³Á¤Àº µÇµµ·ÏÀ̸é Äֿܼ¡¼ ÇØ¾ß ÇÑ´Ù.
Á¦´ë·Î µÇ°í ÀÖ´ÂÁö »ìÆìº¸´Â ÁÁÀº ¹æ¹ýÀº 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 ÆÄÀÏ¿¡ ·Î±ëµÇ´Â ÆÐŶÀÌ Ç¥½ÃµÈ´Ù. Á¦ÇÑÀÌ ÀÖÁö¸¸ Ãʹݺο¡ ÆÐŶÀ» ºÐ¼®Çϴµ¥´Â ÁÁÀ» °ÍÀÌ´Ù.
firewall_enable="YES" firewall_type="/etc/ipfw.conf"¹æÈº® »ç¿ë ¿É¼ÇÀ» YES¶ó°í Çϰí, type¿¡ ±ÔÄ¢ ÆÄÀÏÀ» Àû¾îÁÖ¸é ½ÃÀ۽ÿ¡ ipfw ¼³Á¤À» ÇÏ°Ô µÈ´Ù. firewall_type¿¡´Â ¿©·¯°¡Áö°¡ Àִµ¥, open, client, simple, closed, UNKNOWN µîÀÇ ¹Ì¸® ¸¸µé¾îÁø ±ÔÄ¢ÀÌ ÀÖ´Ù. ÀÌ¿¡ ´ëÇØ¼´Â /etc/rc.firewall ¾ÕºÎºÐÀÇ ÁÖ¼®À» ÀоÀÚ.
rc.conf¿¡ ÇÊ¿äÇÑ ºÎºÐÀ» ¼³Á¤ÇÏ¿´À¸¸é ÀçºÎÆÃÇϰí, ±ÔÄ¢ÀÌ Á¦´ë·Î ¼³Á¤µÇ¾ú´ÂÁö »ìÆìº»´Ù.
´ÙÀ½°ú °°Àº ȯ°æ¿¡¼ 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¸¦ ÀûÀýÇÑ ¿É¼ÇÀ¸·Î ½ÇÇàÇÏ¸é µÈ´Ù.
# 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.confnatd¸¦ ½ÇÇà½Ã¿¡µµ µ¿ÀÛÇÏ°Ô ÇÏ·Á¸é /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°¡ Á¦´ë·Î µ¿ÀÛÇÏ´ÂÁö È®ÀÎÇϱâ À§Çؼ´Â ´ÙÀ½ »çÇ×À» Á¡°ËÇÏ¸é µÈ´Ù.
# 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 anyfirewall_type¿¡ À§¿¡¼Ã³·³ open µîÀÇ Á¤ÇØÁø ŸÀÔÀÌ ¾Æ´Ï¶ó º°µµÀÇ ¼³Á¤ ÆÄÀÏÀ» »ç¿ëÇÏ´õ¶óµµ NAT¸¦ À§ÇØ divert ±ÔÄ¢À» Ãß°¡ÇÒ ÇÊ¿ä´Â ¾ø´Ù. /etc/rc.firewallÀº ¹æÈº®À» »ç¿ëÇϰí(firewall_enable), NAT¸¦ »ç¿ëÇÏ´Â °æ¿ì(natd_enable) ÀÚµ¿ÀûÀ¸·Î 50¹ø ±ÔÄ¢À» Ãß°¡ÇÑ´Ù.
NAT°¡ µ¿ÀÛÇÏ¸é ¿©·¯°¡Áö Àç¹ÌÀÖ´Â ÀÏÀ» ÇÒ ¼ö ÀÖ´Ù. ·ÎÄà DNS ij½Ã¸¦ ¸¸µé ¼öµµ ÀÖ°í, DHCP¼¹ö¸¦ »ç¿ëÇÏ¿© ³×Æ®¿öÅ© ÀÚµ¿ ¼³Á¤, squid¸¦ ÀÌ¿ëÇÑ À¥ ÇÁ·Ï½Ã µî ´Ù¾çÇÑ È°¿ëÀÌ °¡´ÉÇϹǷΠÀç¹ÌÀÖ°Ô »ç¿ëÇØ º¸ÀÚ.
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¿¡¼ »ç¿ëÇÏ´ø °Í°ú ±×´ë·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ ¹æ¹ýÀ» Àß ÀÀ¿ëÇÏ¸é ¹Ýº¹µÇ´Â ÀÛ¾÷À» ¸ÅÅ©·Î¸¦ »ç¿ëÇÏ¿© Æí¸®ÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù.
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 ȯ°æ ±¸Ãà ¿¹¿¡¼, 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 À¸·Î Á¢¼ÓÇÏ´Â °Í°ú µ¿ÀÏÇÏ´Ù.
¿©·¯°³ÀÇ Æ÷Æ®¸¦ ¿©·¯ ÁÖ¼Ò·Î ¿¬°áÇÏ·Á¸é ¼³Á¤ ÆÄÀÏÀ» µÎ´Â ÆíÀÌ ÁÁ´Ù.
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
ÀÌ ±â´ÉÀ» »ç¿ëÇϱâ À§Çؼ´Â Ä¿³Î ¿É¼Ç¿¡ ´ÙÀ½À» Ãß°¡Çϰųª 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%ÀÇ È®·ü·Î ÇØ´ç ±ÔÄ¢¿¡ ¸Â´Â ÆÐŶÀ» ¹ö¸°´Ù.
[ Home | Freetime works | FreeBSD | KFUG ]