FreeBSD 5.x ¿ë OpenBSD pf Æ÷Æ®
OpenBSD pf
pf´Â OpenBSDÀÇ packet filter·Î¼ ipfilterÀÇ license ¹®Á¦°¡ Á¦±â µÇ¾úÀ»¶§ OpeBSDÁø¿µ¿¡¼´Â
À̸¦ ¼ö¿ëÇÏÁö ¾Ê°í µ¶ÀÚÀûÀÎ packet filter¸¦ ¸¸µçµ¥¼ À¯·¡ÇÕ´Ï´Ù.(ipf.c)
ÃÊâ±âÀÇ pf´Â ipfilter¿Í °ÅÀÇ ºñ½ÁÇÑ ±â´ÉÀ» Áö¿øÇßÁö¸¸ Áö±ÝÀº ¸¹Àº ºÎºÐÀÌ ´Ù¸£°í state modulation,
SYN proxyµî °í°¡ÀÇ »ó¿ë ¹æÈº®¿¡¼µµ º¸±â ¾î·Á¿î ´Ù¾çÇÑ ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù.
FreeBSD 5.x¿ë
pf ȨÆäÀÌÁö
¸ÞÀΠȨÆäÀÌÁö´Â µ¶ÀÏ¿¡¼ ¿µ¹®À¸·Î ¿î¿µµÇ°í ÀÖ½À´Ï´Ù. ¼³Ä¡ ¹æ¹ý°ú ÁÖÀÇ»çÇ×, ¸ÞÀϸµ ¸®½ºÆ®µîÀº ¸ÞÀΠȨÆäÀÌÁö¸¦ ÂüÁ¶Çϱâ
¹Ù¶ø´Ï´Ù.(OpenBSD pf
ported to FreeBSD 5.0/5.1)
OpenBSD pf¿Í
FreeBSD pf¿ÍÀÇ Â÷ÀÌÁ¡
ALTQ¸¦
Æ÷ÇÔÇÑ °ÅÀÇ ¸ðµç ±â´ÉÀÌ µ¿ÀÏÇÕ´Ï´Ù. µÎ OS°£ÀÇ Â÷ÀÌ·Î ±Øº¹ÇÒ ¼ö ¾ø´Â ºÎºÐÀÌ ÀÖ±ä ÇÏÁö¸¸ ÀÌ ºÎºÐµµ Ä¿³ÎÀ» ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù¸é
°¡´ÉÇÕ´Ï´Ù. °¡Àå Å« Â÷ÀÌÁ¡Àº FreeBSD¿¡¼ ½ÇÇàµÇ´Â pf´Â kernel¿¡ moduleÀÇ ÇüÅ·Π·ÎµåµÇ°í, SMP¿Í
multiple kernel threads¸¦ Áö¿øÇÑ´Ù´Â Á¡ ÀÔ´Ï´Ù.
pf ¼º´É
º°µµÀÇ ¼º´É½ÃÇèÀ» ÇÏÁö´Â ¾Ê¾ÒÁö¸¸ ipfw¿Í ipfilter¿¡ ºñÇÏ¿© °áÄÚ ´À¸®Áö ¾Ê´Ù°í
»ý°¢ÇÕ´Ï´Ù. stateful inspectionÀ» »ç¿ëÇÏ¿© »ý¼ºµÈ ¹æÈº® ·êÀÌ ÀÖ´ÂÁö °Ë»çÇÒ¶§ ipfw´Â hash,
ipfilter´Â B-tree, pf´Â RB(red-black) tree(balacned tree, AVLÀ» »ý°¢ÇϽøé
µË´Ï´Ù.)¸¦ »ç¿ëÇÕ´Ï´Ù. hashÀÇ °æ¿ì´Â hash bucket¿¡ ÀÇÇØ¼ ¼º´ÉÀÌ Á¿ìµÇ¸ç, ¼ö¸¸ ~ ¼ö½Ê¸¸°³ÀÇ state°¡
»ý±â¸é hash collisionÀÌ ¹ß»ýÇÏ¿© È¿À²ÀÌ ±Þ°ÝÈ÷ ¶³¾îÁý´Ï´Ù. stateful inspection¿¡¼ ¼º´É¿¡ °¡Àå
¿µÇâÀ» ¸¹ÀÌ ¹Þ´Â ºÎºÐÀÌ stateÁ¤º¸¸¦ ÀúÀåÇÒ ¸Þ¸ð¸®ÀÇ ÇÒ´ç°ú
ÇØÁ¦ÀÔ´Ï´Ù. ipfw¿Í ipfilter´Â ÀüÅëÀûÀÎ malloc(9)À» »ç¿ëÇÏÁö¸¸ OpenBSDÀÇ pf´Â pool(9)À»
FreeBSD¿¡¼´Â zone(9)À» »ç¿ëÇÕ´Ï´Ù. zone(9)Àº ÇÒ´çÇÒ ¸Þ¸ð¸®ÀÇ Å©±â°¡ µ¿ÀûÀÌÁö ¾ÊÀ»¶§ malloc(9)º¸´Ù
È¿À²ÀûÀÌ°í º¸´Ù ºü¸¥°ÍÀ¸·Î ¾Ë·ÁÁ®ÀÖ½À´Ï´Ù. ¹°·Ð stateful inspection¿¡¼´Â ¼Óµµ »Ó ¾Æ´Ï¶ó ÀÌ¿ë °¡´ÉÇÑ ¸ðµç
¸Þ¸ð¸®¸¦ °¢°¢ÀÇ stateÁ¤º¸¸¦ ÀúÀåÇϴµ¥ ´Ù ¼ÒÁøÇÏ¿´À» °æ¿ì, »õ·Î¿î SYN request¿¡ ´ëÇÑ Ã³¸®¹æ½Äµµ Áß¿äÇÕ´Ï´Ù.
ipfw¿Í ipfilter´Â ÀÌ·± ±Ø´ÜÀûÀÎ »óȲÀÌ ¿ÔÀ» ¶§ ´ëóÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ ±²ÀåÈ÷ Á¦ÇÑÀûÀÔ´Ï´Ù.(»ç½Ç ÇÒ ¼ö ÀÖ´Â°Ô º°·Î
¾ø½À´Ï´Ù. downµÇÁö ¾Ê±â¸¦ ¹Ù¶ó´Â ¼ö ¹Û¿¡´Â...) Á¦°¡ ±Ø´ÜÀûÀ̶ó´Â Ç¥ÇöÀ» »ç¿ëÇß½À´Ï´Ù¸¸ ¾ÇÀÇÀûÀÎ °ø°ÝÀÚ´Â ¿©·¯ ÇÁ·Î±×·¥À»
ÀÌ¿ëÇØ¼ ¼Õ½±°Ô ÀÌ·± »óȲÀ» À¯¹ßÇÏ°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù.
pf´Â hardware check-sum offload¸¦ Áö¿øÇϱ⠶§¹®¿¡ °í¼º´ÉÀÇ Gigabit Ethernet
Card¸¦ È¿À²ÀûÀ¸·Î Áö¿øÇÕ´Ï´Ù. Çϵå¿þ¾î ½ÃÇèÀåºñ°¡ ÀÖÀ¸½Å ºÐµéÀº °°Àº ·ê¼ÂÀ¸·Î ¹æÈº®À» ¼³Á¤ÇÑ ÈÄ ½ÃÇè°á°ú¸¦ ¾Ë·ÁÁֽøé
project¿¡ Å« µµ¿òÀÌ µÉ °ÍÀÔ´Ï´Ù.
pf highlights
FreeBSD ¹öÁ¯º° Áö¿ø »óȲ
| |
|
![]() |