.\" %FreeBSD: src/contrib/ipfilter/man/ipf. 5, v 1.4. 2.2 2001/07/28 13:34:24 darrenr Exp % .\" WORD: filtering rule ÇÊÅÍ ·ê .\" WORD: semantics ½Ã¸àƽ½º .\" WORD: inbound ³»Çâ .\" WORD: outbound ¹ÛÀ¸·Î ÇâÇÑ .\" WORD: forward Àü¼Û .\" WORD: transmit ¼ÛÃâ .\" WORD: fall-through °è¼Ó( ¡¸Åë°ú¡¹·Î Çϸé(ÀÚ) block/pass¿Í ±¸º°ÇÒ ¼ö ¾ø´Ù) .\" $FreeBSD: doc/ja_JP.eucJP/man/man5/ipf. 5, v 1.8 2001/07/29 22:12:31 horikawa Exp $ .TH IPF 5 .SH ¸íĪ ipf, ipf.conf \- IP ÆÐŶ ÇÊÅÍÀÇ ·ê ¹®¹ý .SH ÇØ¼³ .PP \fBipf\fP ÀÇ ·ê ÆÄÀÏÀº, ¾î¶² À̸§ÀÌ¶óµµ ÀÚÁÖ(Àß), Ç¥ÁØ ÀԷ¿¡¼­µµ ±¦Âú½À´Ï´Ù. Ä¿³Î ³»ºÎÀÇ ÇÊÅÍ ¸®½ºÆ®¸¦ Ç¥½ÃÇÒ ¶§, \fBipfstat\fP ´Â ÇØ¼® °¡´ÉÇÑ ·êÀ» Ãâ·ÂÇϱ⠶§¹®¿¡, ÀÌ Ãâ·ÂÀ» \fBipf\fP ¿¡ÀÇ ÀÔ·ÂÀ¸·Î¼­ Çǵå¹éÇϴµ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. µû¶ó¼­, ÀÔ·Â ÆÐŶ¿¡ ´ëÇÑ ÀüÇÊÅ͸¦ Á¦°ÅÇϱâ À§Çؼ­´Â, ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù: .nf \fC# ipfstat \-i | ipf \-rf \-\fP .fi .SH ¹®¹ý .PP \fBipf\fP °¡ ÇÊÅÍ ·ê ±¸Ãà¿¡ »ç¿ëÇÏ´Â Æ÷¸ËÀº, BNF ¸¦ »ç¿ëÇÑ ¹®¹ýÀ¸·Î ´ÙÀ½°ú °°ÀÌ °¡¸®Å³ ¼ö°¡ ÀÖ½À´Ï´Ù: \fC .nf filter-rule = [ insert ] action in-out [ options ] [ tos ] [ ttl ] [ proto ] [ ip ] [ group ]. insert = "@" decnumber . action = block | "pass" | log | "count" | skip | auth | call . in-out = "in" | "out" . options = [ log ] [ "quick" ] [ "on" interface-name [ dup ] [ froute ] ] . tos = "tos" decnumber | "tos" hexnumber . ttl = "ttl" decnumber . proto = "proto" protocol . ip = srcdst [ flags ] [ with withopt ] [ icmp ] [ keep ] . group = [ "head" decnumber ] [ "group" decnumber ] . block = "block" [ return-icmp[return-code] | "return-rst" ] . auth = "auth" | "preauth" . log = "log" [ "body" ] [ "first" ] [ "or-block" ] [ "level" loglevel ] . call = "call" [ "now" ] function-name . skip = "skip" decnumber . dup = "dup-to" interface-name[":"ipaddr] . froute = "fastroute" | "to" interface-name . protocol = "tcp/udp" | "udp" | "tcp" | "icmp" | decnumber . srcdst = "all" | fromto . fromto = "from" [ "! " ] object "to" [ "! " ] object . return-icmp = "return-icmp" | "return-icmp-as-dest" . object = addr [ port-comp | port-range ] . addr = "any" | nummask | host-name [ "mask" ipaddr | "mask" hexnumber ] . port-comp = "port" compare port-num . port-range = "port" port-num range port-num . flags = "flags" flag { flag } [ "/" flag { flag } ] . with = "with" | "and" . icmp = "icmp-type" icmp-type [ "code" decnumber ] . return-code = "("icmp-code")" . keep = "keep" "state" | "keep" "frags" . loglevel = facility"."priority | priority . nummask = host-name [ "/" decnumber ] . host-name = ipaddr | hostname | "any" . ipaddr = host-num ". " host-num ". " host-num ". " host-num . host-num = digit [ digit [ digit ] ] . port-num = service-name | decnumber . withopt = [ "not" | "no" ] opttype [ withopt ] . opttype = "ipopts" | "short" | "frag" | "opt" ipopts . optname = ipopts [ "," optname ] . ipopts = optlist | "sec-class" [ secname ] . secname = seclvl [ "," secname ] . seclvl = "unclass" | "confid" | "reserv-1" | "reserv-2" | "reserv-3" | "reserv-4" | "secret" | "topsecret" . icmp-type = "unreach" | "echo" | "echorep" | "squench" | "redir" | "timex" | "paramprob" | "timest" | "timestrep" | "inforeq" | "inforep" | "maskreq" | "maskrep" | decnumber . icmp-code = decumber | "net-unr" | "host-unr" | "proto-unr" | "port-unr" | "needfrag" | "srcfail" | "net-unk" | "host-unk" | "isolate" | "net-prohib" | "host-prohib" | "net-tos" | "host-tos" | "filter-prohib" | "host-preced" | "cutoff-preced" . optlist = "nop" | "rr" | "zsu" | "mtup" | "mtur" | "encode" | "ts" | "tr" | "sec" | "lsrr" | "e-sec" | "cipso" | "satid" | "ssrr" | "addext" | "visa" | "imitd" | "eip" | "finn" . facility = "kern" | "user" | "mail" | "daemon" | "auth" | "syslog" | "lpr" | "news" | "uucp" | "cron" | "ftp" | "authpriv" | "audit" | "logalert" | "local0" | "local1" | "local2" | "local3" | "local4" | "local5" | "local6" | "local7" . priority = "emerg" | "alert" | "crit" | "err" | "warn" | "notice" | "info" | "debug" . hexnumber = "0" "x" hexstring . hexstring = hexdigit [ hexstring ] . decnumber = digit [ decnumber ] . compare = "=" | "! =" | "<" | ">" | "<=" | ">=" | "eq" | "ne" | "lt" | "gt" | "le" | "ge" . range = "<>" | "><" . hexdigit = digit | "a" | "b" | "c" | "d" | "e" | "f" . digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" . flag = "F" | "S" | "R" | "P" | "A" | "U" . .fi .PP ÀÌ ¹®¹ýÀº, °¡µ¶¼ºÀ» À§Çؼ­(¶§¹®¿¡) Á¶±Ý °£·«È­Çϰí ÀÖ½À´Ï´Ù. ÀÌ ¹®¹ýÀ¸·Î ¸ÅÄ¡ ÇÏ´Â Æí¼ºÀ̾, Àǹ̸¦ ¸¸µé¾î³»Áö ¾Ê±â À§ÇØ(¶§¹®¿¡) ¼ÒÇÁÆ®¿þ¾î°¡ Çã°¡ÇÏÁö ¾Ê´Â °ÍÀÌ ÀÖ½À´Ï´Ù (ºñ TCP ÆÐŶ¿¡ ´ëÇÑ tcp \fBflags\fP µî). .SH ÇÊÅÍ ·ê .PP ¡¸ÃÖ´Ü¡¹ÇÑÆí À¯È¿ÇÑ ·êÀº (ÇöÀç·Î¼­´Â) ¹«µ¿ÀÛ°ú ´ÙÀ½ÀÇ Çü½ÄÀÔ´Ï´Ù: .nf block in all pass in all log out all count in all .fi .PP ÇÊÅÍ ·êÀº Â÷·Ê ´ë·Î¿¡ üũµÇ¾î ¸¶Áö¸·¿¡ ¸ÅÄ¡ ÇÑ ·êÀÌ ÆÐŶÀÇ ¿î¸íÀ» °áÁ¤ÇÕ´Ï´Ù (¿¹¿Ü: Èļú \fBquick\fP ¿É¼ÇÀ» ÂüÁ¶). .PP µðÆúÆ®¿¡¼­´Â, ÇÊÅÍ´Â Ä¿³ÎÀÇ ÇÊÅÍ ¸®½ºÆ®ÀÇ ¸¶Áö¸·¿¡ ÀνºÅç µË´Ï´Ù. ·êÀÇ Àü¿¡ \fB@n\fP ¸¦ ºÙÀ̸é(ÀÚ), ÇöÀçÀÇ ¸®½ºÆ®ÀÇ n ¹øÂ°ÀÇ ¿£Æ®¸®·Î¼­ »ðÀÔÇÏ°Ô µË´Ï´Ù. À̰ÍÀº, ÇöÀç À¯È¿ÇÑ ÇÊÅÍÀÇ ·ê ¼¼Æ®¸¦ ¼öÁ¤Çϰųª Å×½ºÆ®ÇÏ´Â °æ¿ì¿¡ À¯¿ëÇÕ´Ï´Ù. ÇÑÃþ ´õ Á¤º¸´Â ipf(1)¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä. .SH ¾×¼Ç .PP ¾×¼ÇÀº, ÇÊÅÍ ·êÀÇ ³ª¸ÓÁöÀÇ ºÎºÐ¿¡ ÆÐŶÀÌ ¸ÅÄ¡ ÇÏ´Â °æ¿ì¿¡, ±× ÆÐŶÀ» ¾î¶»°Ô Ãë±ÞÇÏ´ÂÁö¸¦ ³ªÅ¸³À´Ï´Ù. °¢ ·êÀº, ¾×¼ÇÀ» 1 °³ °¡Áö´Â °ÍÀÌ ¡¸ÇÊ¿äÇÕ´Ï´Ù¡¹. ´ÙÀ½ÀÇ ¾×¼ÇÀÌ Àνĵ˴ϴÙ: .TP . B block ÀÌ ÆÐŶÀ», µå·Ó Çϵµ·Ï(µíÀÌ) Ç¥½Ã¸¦ ÇÏ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù. ÆÐŶÀ» ºí·Ï ÇÏ´Â °Í¿¡ ´ëÇØ, ICMP ÆÐŶ (\fBreturn-icmp\fP)Àΰ¡, ¿ø·¡ÀÇ ÆÐŶ ¼Û½Å Ç༱Áö ±â¿øÀ» °¡ÀåÇÏ´Â ICMP ÆÐŶ (\fBreturn-icmp-as-dest\fP)Àΰ¡, TCP ¡¸¸®¼ÂÆ®¡¹ (\fBreturn-rst\fP)ÀÇ, ¸î°³ÀÇ ´ë´ä ÆÐŶÀ» µ¹·ÁÁÖµµ·Ï, ÇÊÅÍ¿¡ Áö½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ICMP ÆÐŶÀº, ÀÓÀÇÀÇ IP ÆÐŶÀÇ ÀÀ´äÀ¸·Î¼­ »ý¼ºÇÒ ¼ö ÀÖ¾î ±× Å¸ÀÔÀ» ÁöÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. TCP ¸®¼ÂÆ®´Â, TCP ÆÐŶ¿¡ ´ëÇØ¼­ Àû¿ëµÇ´Â ·ê¿¡ ´ëÇØ¼­¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. \fBreturn-icmp\fP ¶Ç´Â \fBreturn-icmp-as-dest\fP ¸¦ »ç¿ëÇÒ ¶§, µµ´Þ ºÒ°¡ÀÇ 'ŸÀÔ'¸¦ ÁöÁ¤ °¡´ÉÇÕ´Ï´Ù. ÀÌ Å¸ÀÔÀ̶õ, ³×Æ®¿öÅ© µµ´Þ ºÒ°¡, Æ÷Æ® µµ´Þ ºÒ°¡, ±ÇÇÑ¿¡ ÀÇÇÑ ±ÝÁöÀÇ ¸ÓÁö¾Ê¾ÆÀΰ¡ÀÔ´Ï´Ù. ÁöÁ¤ ¹æ¹ýÀº, \fBreturn-icmp\fP ¶Ç´Â \fBreturn-icmp-as-dest\fP ÀÇ Á÷ÈÄ¿¡, ŸÀÔ¿¡ °ü·ÃÇÏ´Â ICMP Äڵ带 °ýÈ£·Î °ý¶ó´Â °ÍÀÔ´Ï´Ù. ¿¹¸¦ µé¸é .nf block return-icmp(11) ... .fi .PP (À¸)·Î Çϸé(ÀÚ), Type-Of-Service (TOS) ICMP µµ´Þ ºÒ°¡ ¿¡·¯¸¦ µ¹·ÁÁÝ´Ï´Ù. .TP . B pass ÀÌ ÆÐŶÀ», ±×´ë·Î ÇÊÅ͸¦ Åë°ú½Ã۵µ·Ï(µíÀÌ) Ç¥½Ã¸¦ ÇÕ´Ï´Ù. .TP . B log ÀÌ ÆÐŶÀÇ ·Î±×¸¦ ÃëÇÕ´Ï´Ù (ÈļúÀÇ ·Î±ëÀý ÂüÁ¶). ÆÐŶÀÌ ÇÊÅ͸¦ Åë°ú °¡´ÉÇѰ¡ ¾Æ´Ñ°¡¿¡´Â, ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù. .TP . B count ÀÌ ÆÐŶÀ», ÇÊÅÍÀÇ ¾îÄ«¿îÆÃ Åë°è¿¡ Æ÷ÇÔÇÕ´Ï´Ù. ÆÐŶÀÌ ÇÊÅ͸¦ Åë°ú °¡´ÉÇѰ¡ ¾Æ´Ñ°¡¿¡´Â, ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù. Åë°è´Â ipfstat(8)¿¡¼­ ¿­¶÷ °¡´ÉÇÕ´Ï´Ù. .TP . B call ÀÌ ¾×¼ÇÀº ÁöÁ¤µÈ Ä¿³Î³» ÇÔ¼ö¸¦ È£ÃâÇϱâ À§Çؼ­(¶§¹®¿¡) »ç¿ëµË´Ï´Ù. Ä¿³Î³» ÇÔ¼ö´Â, ƯÁ¤ÀÇ È£Ãâ ÀÎÅÍÆäÀ̽º¸¦ ¸¸Çʿ䰡 ÀÖ½À´Ï´Ù. Ä¿½ºÅ͸¶ÀÌÁî ÇÑ ¾×¼Ç°ú ½Ã¸àƽ½º¸¦ ½ÇÀåÇØ, ÀÌ¿ë °¡´ÉÇÑ ¾×¼ÇÀ» º¸ÃæÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. Áö½ÄÀÌ ÀÖ´Â ÇØÄ¿°¡ »ç¿ëÇÏ´Â ±â´ÉÀ̸ç, ÇöÀç·Î¼­´Â ¹®¼­È­ µÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. .TP . B "skip " ÇÊÅÍ¿¡, ´ÙÀ½ÀÇ \fIn\fP ÇÊÅÍ ·êÀ» ½ºÅµ ½Ãŵ´Ï´Ù. ½ºÅµ µÇ´Â ¹üÀ§ÀÇ ·ê¿¡ »ðÀÔ ¶Ç´Â Á¦°Å°¡ ÀÖ¾úÀ» °æ¿ì, \fIn\fP ÀÇ °ªÀº ÀûÀýÈ÷ Á¶Á¤µË´Ï´Ù. .TP . B auth À̰Ϳ¡ ÀÇÇØ, À¯Àú °ø°£ ÇÁ·Î±×·¥À» ½ÇÇàÇØ Á¤´ç¼ºÀ» È®ÀÎÇÏ´Â ÆÐŶ Á¤º¸¸¦ ±â´Ù¸®´Â °ÍÀ¸·Î, ÀÎÁõÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÁ·Î±×·¥ÀÌ Ä¿³Î¿¡ ´ëÇØ¼­ ÆÐŶ Åë°ú¸¦ Çã¶ôÇÏ´ÂÁö ¾Æ´ÑÁöÀÇ \fI½ÇÁ¦ÀÇ \fP Ç÷¡±×¸¦ µ¹·ÁÁÙ ¶§±îÁö , ÆÐŶÀº ³»ºÎ ¹öÆÛ¿¡ º¸°ü À¯ÁöµË´Ï´Ù. ÆÐŶ Åë°ú¸¦ Çã¶ôÇϱâ Àü ¶Ç´Â ÀνĵÇÁö ¾Ê´Â ¼Û½Å¿øÀ¸·ÎºÎÅÍÀÇ ÆÐŶÀ» Ä¿³Î¿¡ ¶³¾î¶ß¸®µµ·Ï Áö½ÃÇϱâ Àü¿¡, ÀÌ·¯ÇÑ ÇÁ·Î±×·¥Àº, ¼Û½Å¿øÁÖ¼Ò¸¦ º¼Áöµµ ¸ð¸£°í, À¯Àú·ÎºÎÅÍÀÇ (ÆÐ½º¿öµåµîÀÇ) ¾î¶² Á¾·ùÀÇ ÀÎÁõÀ» ¿ä±¸ÇÒÁöµµ ¸ð¸¨´Ï´Ù. .TP . B preauth ÀÌ Å¬·¡½ºÀÇ ÆÐŶ¿¡ ´ëÇØ¼­´Â, ÇÑÃþ ´õ ¸íȮȭ¸¦ À§Çؼ­(¶§¹®¿¡) ÀÌ¹Ì ÀÎÁõµÈ ¸®½ºÆ®¸¦ ºÁ¾ß ÇÏ´Â °ÍÀ̶ó°í, ÇÊÅÍ¿¡ Áö½ÃÇÕ´Ï´Ù. ´õ¿í ¸ÅÄ¡ ÇÏ´Â ·êÀÌ ¹ß°ßµÇÁö ¾ÊÀ¸¸é ÆÐŶÀº ¶³¾î¶ß·ÁÁý´Ï´Ù (FR_PREAUTH ´Â FR_PASS ¿Í °°Áö´Â ¾Ê½À´Ï´Ù). ´õ¿í ¸ÅÄ¡ ÇÏ´Â ·êÀÌ ¹ß°ßµÇ¸é(ÀÚ), ±× °á°ú°¡ »ç¿ëµË´Ï´Ù. À̰ÍÀÌ »ç¿ëµÇ´Â »óȲÀº, À¯Àú°¡ ÆÄÀÌ¾î ¿ù(fire wall)¿¡\fI·Î±×ÀÎ\fP ÇØ, ÀÌ À¯Àú¿¡ °üÇÑ ÀϽÃÀûÀÎ ·êÀ» ¼³Á¤ÇÏ´Â °Í °°Àº °æ¿ìÀÔ´Ï´Ù. .PP ´ÙÀ½ÀÇ ¸»Àº \fBin\fP ³ª \fBout\fP ÀÇ ¾ðÁ¨°¡ÀÏ Çʿ䰡 ÀÖ½À´Ï´Ù. Ä¿³Î ³»ºÎ¸¦ Åë°úÇÏ´Â ÆÐŶÀº, ³»Çâ (ÀÎÅÍÆäÀ̽º¿¡¼­ ¼ö½ÅµÇ¾ú´Ù (»Ó)¸¸À¸·Î, Ä¿³ÎÀÇ ÇÁ·ÎÅäÄÝ Ã³¸®ºÎ¿¡ ÇâÇØ À̵¿Çϰí ÀÖ´Ù)Àΰ¡, ¹ÛÀ¸·Î ÇâÇÑ (ÇÁ·ÎÅäÄÝ ½ºÅÿ¡ ÀÇÇØ ¼ÛÃâ ¶Ç´Â Àü¼Û µÇ¾î ÀÎÅÍÆäÀ̽º·Î ÇâÇϰí ÀÖ´Ù) Àΰ¡ÀÇ ¸ÓÁö¾Ê¾ÆÀΰ¡ÀÔ´Ï´Ù. °¢ ÇÊÅÍ ·êÀÌ ÀÔÃâ·ÂÀÇ ¾î´À ÂÊ Ãø¿¡ Àû¿ëµÇ´ÂÁö¸¦, ¸í½ÃÀûÀ¸·Î ³ªÅ¸³¾ Çʿ䰡 ÀÖ½À´Ï´Ù. .SH ¿É¼Ç .PP ¿É¼ÇÀÇ À϶÷Àº ª°í, »ç½Ç ¸ðµÎ »ý·« °¡´ÉÇÕ´Ï´Ù. ¿É¼ÇÀÌ »ç¿ëµÇ´Â °÷Àº, ¿©±â¿¡ ³ªÅ¸³»´Â ¼ø¼­·Î ³õ¿©Áú Çʿ䰡 ÀÖ½À´Ï´Ù. ´ÙÀ½ÀÇ ¿É¼ÇÀÌ ÇöÀç ¼­Æ÷Æ®µÇ°í ÀÖ½À´Ï´Ù: .TP . B log ¸¶Áö¸·¿¡ ¸ÅÄ¡ ÇÏ´Â ·êÀÇ °æ¿ì, ÆÐŶ Çì´õ°¡ \fBipl\fP ·Î±×¿¡ ±âÀÔÇØÁý´Ï´Ù (ÈļúÀÇ ·Î±ëÀý ÂüÁ¶). .TP . B quick ÇÊÅ͸¦ °í¼ÓÈ­Çϰųª ÈļÓÀÇ ·êº¸´Ù ¿ì¼±½Ã۱â À§Çؼ­(¶§¹®¿¡), ·êÀÇ ¡¸¼îÆ® ÄÆ¡¹À» Çã¶ôÇÕ´Ï´Ù. ÆÐŶÀÌ \fBquick\fP ÀÇ Ç¥°¡ ºÙÀº ÇÊÅÍ ·ê¿¡ ¸ÅÄ¡ ÇÏ´Â °æ¿ì, ÀÌ ·êÀÌ ¸¶Áö¸·¿¡ üũµÇ´Â ·êÀÌ µÇ¾î, ¡¸ÇÕ¼± (short-circuit)¡¹ÆÐ½º¿¡ ÀÇÇØ ÈļÓÀÇ ·êÀÌ ÀÌ ÆÐŶ¿¡ ´ëÇØ¼­ 󸮵ÇÁö ¾Ê°Ô µË´Ï´Ù. (ÇöÀçÀÇ ·êÀÌ Àû¿ëµÈ ÈÄ¿¡) ÆÐŶÀÇ ÇöÀç »óŰ¡, ÆÐŶÀÌ Åë°úµÉ±î ºí·Ï µÉ±î¸¦ °áÁ¤ÇÕ´Ï´Ù. .IP ÀÌ ¿É¼ÇÀÌ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é ·êÀº ¡¸°è¼Ó(fall-through)¡¹·ê·Î ¿©°ÜÁý´Ï´Ù. Áï, ¸ÅÄ¡ÀÇ °á°ú (ºí·Ï/Åë°ú)°¡ º¸Á¸µÇ¾î ÇÑÃþ ´õ ¸ÅÄ¡ÀÌ ÀÖÀ»±î¸¦ º¸±â (À§ÇØ)¶§¹®¿¡ 󸮰¡ °è¼ÓµË´Ï´Ù. .TP . B on ¸ÅÄ¡ ¼ö¼Ó¿¡ ÀÎÅÍÆäÀ̽º¸íÀ» Â¥³Ö½À´Ï´Ù. ÀÎÅÍÆäÀ̽º¸íÀº "netstat \-i" ·Î Ç¥½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¿É¼ÇÀ» »ç¿ëÇϸé(ÀÚ), ÁöÁ¤ÇÑ ¹æÇâ (ÀÔÃâ·Â)À¸·Î ÀÌ ÀÎÅÍÆäÀ̽º¸¦ Åë°úÇÏ´Â ÆÐŶ ¿¡ ´ëÇØ¼­¸¸, ÀÌ ·êÀÌ ¸ÅÄ¡ ÇÕ´Ï´Ù. ÀÌ ¿É¼ÇÀÌ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é ·êÀº ÀÌ ÆÐŶÀÌ ³õ¿©Áø ÀÎÅÍÆäÀ̽º¿¡ ÀÇÁ¸ÇÏÁö ¾Ê°í (Áï ÀüÀÎÅÍÆäÀ̽º¿¡) Àû¿ëµË´Ï´Ù. ÇÊÅÍ ·ê ¼¼Æ®´Â ÀüÀÎÅÍÆäÀ̽º¿¡ °øÅëÀ̸ç, °¢ ÀÎÅÍÆäÀ̽º¿¡ ´ëÇØ¼­ ÇÊÅÍ ¸®½ºÆ®¸¦ °¡Áö´Â °ÍÀº ¾Æ´Õ´Ï´Ù. .IP ÀÌ ¿É¼ÇÀº ƯÈ÷, ´Ü¼øÇÑ IP »çĪ (IP spoofing)¿¡ ´ëÇÑ ¹æ¾î·Î¼­ À¯¿ëÇÕ´Ï´Ù: ÁöÁ¤ÇÑ ÀÎÅÍÆäÀ̽º»ó¿¡¼­, ÁöÁ¤ÇÑ ¼Û½Å¿øÁÖ¼ÒÀ̶ó°í µÇ´Â ÀÔ·Â ÆÐŶ¸¸À» ÅëÇØ, ´Ù¸¥ ÆÐŶÀ» ·Î±× Çϰųª µå·Ó ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. .TP . B dup-to ÆÐŶÀ» Ä«ÇÇÇØ, º¹»çÇÑ ÆÐŶÀ» ÁöÁ¤ÇÑ ÀÎÅÍÆäÀ̽º¿¡ ´ëÇØ¼­ ¹ÛÀ¸·Î ÇâÇÑ¿¡ º¸³À´Ï´Ù. ¶Ç, Ç༱Áö IP ÁÖ¼Ò¸¦ ÁöÁ¤ÇØ, º¯°æÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ³×Æ®¿öÅ©½º´ÏÆÛ¸¦ »ç¿ëÇØ, È£½ºÆ®¿Ü¿¡¼­ ·Î±× Çϱâ À§Çؼ­ À¯¿ëÇÕ´Ï´Ù. .TP . B to ÁöÁ¤ÇÑ ÀÎÅÍÆäÀ̽º¿¡ ´ëÇØ, ÆÐŶÀ» ¹ÛÀ¸·Î ÇâÇÑ Å¥¿¡ À̵¿½Ãŵ´Ï´Ù. Ä¿³ÎÀÇ ·çÆÃÀ» ȸÇÇÇϱâ À§Çؼ­ »ç¿ëÇÒ ¼ö ÀÖ¾î ÆÐŶ¿¡ ´ëÇÑ ³ª¸ÓÁöÀÇ Ä¿³Î 󸮸¦ ¿ìȸµµ·Î Çϱâ À§Çؼ­µµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù (³»Çâ ·ê¿¡ Àû¿ëµÇ¾úÀ» °æ¿ì). µû¶ó¼­, ¶ó¿ìÅͰ¡ ¾Æ´Ï°í, ÇÊÅ͸µ Çãºê³ª ½ºÀ­Ä¡¿Í °°ÀÌ, Åõ°úÀûÀ¸·Î µ¿ÀÛÇÏ´Â ÆÄÀÌ¾î ¿ù(fire wall)¸¦ ±¸ÃàÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. \fBfastroute\fP Ű¿öµå´Â, ÀÌ ¿É¼ÇÀÇ µ¿ÀǾîÀÔ´Ï´Ù. .SH ¸ÅĪ ÆÄ¶ó¹ÌÅÍ .PP ÀÌ ¸¶µð¿¡ ±âÀçµÇ¾î Àִ Ű¿öµå´Â, ·êÀÌ ¸ÅÄ¡ ÇÏ´ÂÁö ¾Æ´ÑÁö¸¦ °áÁ¤ÇÒ ¶§, ÆÐŶÀÇ ¾î´À ¼Ó¼ºÀ» »ç¿ëÇÏ´ÂÁö¸¦ ±â¼úÇϱâ À§Çؼ­ »ç¿ëµË´Ï´Ù. ÀÌÇÏÀÇ ¹ü¿ë ¼Ó¼ºÀÌ ¸ÅĪ¿¡ »ç¿ëÇÒ ¼ö ÀÖ¾î ÀÌ ¼ø¼­·Î »ç¿ëÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù: .TP . B tos ´Ù¸¥ ¼­ºñ½ºÇü (Type-Of-Service) Ä¡¸¦ °¡Áö´Â ÆÐŶÀ» ÇÊÅÍ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ À§, °³°³ÀÇ ¼­ºñ½º ·¹º§À̳ª Æí¼ºÀ¸·Î ÇÊÅÍ ÇÒ ¼ö ÀÖ½À´Ï´Ù. TOS ¸¶½ºÅ©¿¡ ´ëÇÑ °ªÀº, 16 Áø¼ö ¶Ç´Â 10 Áø¼öÀÇ Á¤¼ö·Î Ç¥ÇöµË´Ï´Ù. .TP . B ttl ÆÐŶÀ» »ýÁ¸ ½Ã°£ (Time-To-Live) Ä¡·Î ¼±ÅÃÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÇÊÅÍ ·ê·Î ÁÖ¾îÁö´Â °ªÀº, ¸ÅÄ¡À» ÇÏ´Â ÆÐŶÀÇ °ª°ú ¾ö¹ÐÇÏ°Ô ¼º³É ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÌ °ªÀº, 10 Áø¼öÀÇ Á¤¼ö¿¡¼­¸¸ ÁÙ ¼ö°¡ ÀÖ½À´Ï´Ù. .TP . B proto ƯÁ¤ÀÇ ÇÁ·ÎÅäÄÝ¿¡ ´ëÇØ¼­ ¸ÅÄ¡ ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. \fB/etc/protocols\fP ÁßÀÇ ÀüÇÁ·ÎÅäÄݸíÀÌ Àνĵǰí, »ç¿ë °¡´ÉÇÕ´Ï´Ù. ¶Ç, ÇÁ·ÎÅäÄÝÀ» 10 Áø¼ö·Î ÁöÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, ´ç½Å µ¶ÀÚÀûÀÎ ÇÁ·ÎÅäÄÝÀ̳ª »õ·Î¿î ÇÁ·ÎÅäÄÝÀ̱â (À§ÇØ)¶§¹®¿¡ ¸®½ºÆ®°¡ ³°¾Æ¼­ °ÔÀçµÇ¾î ÀÖÁö ¾ÊÀº °Í¿¡ ´ëÇØ, ¸ÅÄ¡ ÇÏ´Â ·êÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. .IP TCP ¶Ç´Â UDP ÆÐŶ¿¡ ¸ÅÄ¡ ÇÏ´Â, Ư¼öÇÑ ÇÁ·ÎÅäÄÝ Å°¿öµå \fBtcp/udp\fP ¸¦ »ç¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌ Å°¿öµå´Â, °°Àº ·êÀ» ¾ó¸¶µçÁö ¾²Áö ¾Ê¾Æµµ ÁÁ°Ô Çϱâ À§ÇÑ(ÇØ), Ãß°¡µÇ¾ú½À´Ï´Ù. .\" XXX grammar should reflect this (/etc/protocols) .PP \fBfrom\fP ¿Í \fBto\fP ÀÇ Å°¿öµå´Â, IP ÁÖ¼Ò ( ¹× »ý·« °¡´ÉÇÑ Æ÷Æ® ¹øÈ£)¿Í ¸ÅÄ¡ ½Ã۱â À§Çؼ­(¶§¹®¿¡) »ç¿ëµË´Ï´Ù. ¼Û½Å¿ø°ú ¼Û½ÅÁöÀÇ ¡¸¾çÂÊ ¸ðµÎÀÇ¡¹ÆÄ¶ó¹ÌÅ͸¦ ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. .PP IP ÁÖ¼ÒÀÇ ÁöÁ¤ ¹æ¹ýÀº, ´ÙÀ½ÀÇ 2 °³ Áß ¸ÓÁö¾Ê¾ÆÀΰ¡ÀÔ´Ï´Ù: ¼öÄ¡¿¡ ÀÇÇÑ ÁÖ¼Ò\fB/\fP¸¶½ºÅ© ¶Ç´Â, È£½ºÆ®¸í \fBmask\fP ³Ý ¸¶½ºÅ©. È£½ºÆ®¸íÀº, hosts ÆÄÀÏ ¶Ç´Â DNS Áß (¼³Á¤À̳ª ÇÁ·Î±×·¥ ¶óÀ̺귯¸®¿¡ ÀÇÁ¸ÇÕ´Ï´Ù) ÀÇ À¯È¿ÇÑ È£½ºÆ®¸íÀΰ¡, ´å ÷ºÎ ¼öÄ¡ Çü½ÄÀÔ´Ï´Ù. ³×Æ®¿öÅ© ÁöÁ¤À¸·Î¼­ Ưº°ÇÑ ±â¹ýÀº ¾ø½À´Ï´Ù¸¸, ³×Æ®¿öÅ©¸íÀº Àνĵ˴ϴÙ. ÇÊÅÍ ·êÀ» DNS ¿¡ ÀÇÁ¸½Ã۸é(ÀÚ) °ø°ÝÀÇ ¿©Áö¸¦ µµÀÔÇØ ¹ö¸®¹Ç·Î, ±ÇÀ¯¹ÞÁö ¾Ê½À´Ï´Ù. .PP È£½ºÆ®¸í¿¡´Â Ư¼öÇÑ \fBany\fP °¡ ¿ë¼­µÇ¾î 0.0. 0.0/0 À¸·Î Àνĵ˴ϴ٠(ÈļúÀÇ ¸¶½ºÅ© ¼­½Ä ÂüÁ¶). À̰ÍÀº Àü IP ÁÖ¼Ò¿¡ ¸ÅÄ¡ ÇÕ´Ï´Ù. "any" ¸¸ÀÌ ¸¶½ºÅ©¸¦ ¾Ï¹¬ÀûÀ¸·Î ÁöÁ¤Çϱ⠶§¹®¿¡, ´Ù¸¥ »óȲ¿¡¼­´Â, È£½ºÆ®¸íÀº ¸¶½ºÅ©¿Í ÇÔ²² ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. È£½ºÆ®¿Í ¸¶½ºÅ©¿¡ ´ëÇØ¼­ "any" ¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖÁö¸¸, ÀÌ ¾ð¾î¿¡ ´ëÇØ¼­´Â, Àǹ̸¦ °¡ÁöÁö ¾Ê°Ô µË´Ï´Ù. .PP ¼öÄ¡ Æ÷¸Ë "x\fB/\fPy" ´Â, 1 ÀÇ ºñÆ®°¡ MSB ·ÎºÎÅÍ °³½ÃÇØ y °³ ¿¬¼ÓÇÏ´Â ¸¶½ºÅ©ÀÇ »ý¼ºÀ» ³ªÅ¸³À´Ï´Ù. µû¶ó¼­, y ÀÇ °ªÀÌ 16 ÀÎ °æ¿ì¿¡´Â, 0xffff0000 °¡ µË´Ï´Ù. »ó¡ÀûÀÎ "x \fBmask\fP y" ´Â, ¸¶½ºÅ© y °¡ ´å ÷ºÎ IP Ç¥Çö, ¶Ç´Â 0x12345678 ÀÇ Çü½ÄÀÇ 16 Áø¼öÀÎ °ÍÀ» ³ªÅ¸³À´Ï´Ù. ºñÆ® ¸¶½ºÅ©°¡ °¡¸®Å°´Â IP ÁÖ¼ÒÀÇ ÀüºñÆ®¿Í ÆÐŶÀÇ ÁÖ¼Ò°¡, ¾ö¹ÐÇÏ°Ô ¸ÅÄ¡ ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù; ÇöÀç, ¸ÅÄ¡ÀÇ Àǹ̸¦ ¹ÝÀüÇÏ´Â ¹æ¹ýÀº ¾Ê°í, ºñÆ® ¸¶½ºÅ©¿¡¼­ ¿ëÀÌÇÏ°Ô Ç¥Çö °¡´ÉÇÏÁö ¾Ê´Ù IP ÁÖ¼Ò ¹üÀ§¿¡ ¸ÅÄ¡ ½ÃŰ´Â ¹æ¹ýµµ ¾ø½À´Ï´Ù (ºñÀ¯ÇÑ´Ù¸é, ¿©±â±îÁö ½ÇÇöµÇ¸é(ÀÚ), ÀÌ¹Ì ¾ÆÄ§ ½Ä»ç¶ó°í´Â ÇÒ ¼ö ¾ø³×¿ä). .PP ¼Û½Å¿ø°ú ¼Û½ÅÁöÀÇ ¾î´À ÂÊÀÎÁö ¶Ç´Â ¾çÀÚ¿¡°Ô \fBport\fP ¸ÅÄ¡¸¦ Æ÷ÇÔÇÑ °æ¿ì, TCP ¿Í UDP ÀÇ ÆÐŶ ¿¡ ´ëÇØ¼­¸¸ Àû¿ëµË´Ï´Ù. .\" XXX - "may only be" ? how does this apply to other protocols? will it not match, or will it be ignored? \fBproto\fP ¸ÅÄ¡ ÆÄ¶ó¹ÌÅͰ¡ ¾ø´Â °æ¿ì, ¾î´À ÂÊÀÇ ÇÁ·ÎÅäÄÝÀÇ ÆÐŶµµ ºñ±³µË´Ï´Ù. À̰ÍÀº,"proto tcp/udp" ¿Í µî°¡ÀÔ´Ï´Ù. \fBport\fP ÀÇ ºñ±³¸¦ ½Ç½ÃÇÒ ¶§´Â, ¼­ºñ½º¸í ¹× ¼öÄ¡ÀÇ Æ÷Æ® ¹øÈ£ÀÇ ¾îµð¶óµµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. Æ÷Æ®ÀÇ ºñ±³¸¦ ½Ç½ÃÇÒ ¶§, ¼öÄ¡ Çü½ÄÀ» ºñ±³ ¿¬»êÀÚ¿Í ÇÔ²² »ç¿ëÇϰųª Æ÷Æ® ¹üÀ§¸¦ ÁöÁ¤Çϰųª ÇÒ ¼ö ÀÖ½À´Ï´Ù. Æ÷Æ®°¡ \fBfrom\fP ¿ÀºêÁ§Æ®ÀÇ ÀϺημ­ µîÀåÇÏ´Â °æ¿ì, ¼Û½Å¿øÆ÷Æ® ¹øÈ£¿¡ ¸ÅÄ¡ ÇÕ´Ï´Ù. Æ÷Æ®°¡ \fBto\fP ¿ÀºêÁ§Æ®ÀÇ ÀϺημ­ µîÀåÇÏ´Â °æ¿ì, ¼Û½ÅÁö Æ÷Æ® ¹øÈ£¿¡ ¸ÅÄ¡ ÇÕ´Ï´Ù. ÇÑÃþ ´õ Á¤º¸´Â »ç¿ë¿¹¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä. .PP \fBall\fP Ű¿öµå´Â, º»ÁúÀûÀ¸·Î, ´Ù¸¥ ¸ÅÄ¡ ÆÄ¶ó¹ÌÅ͸¦ ¼ö¹ÝÇÏÁö ¾Ê´Â "from any to any" ÀÇ µ¿ÀǾîÀÔ´Ï´Ù. .PP ¼Û½Å¿ø ¹× ¼Û½ÅÁöÀÇ ¸ÅÄ¡ ÆÄ¶ó¹ÌÅÍÀÇ µÚ¿¡, ´ÙÀ½ÀÇ Ãß°¡ÀÇ ÆÄ¶ó¹ÌÅ͸¦ »ç¿ë °¡´ÉÇÕ´Ï´Ù: .TP . B with ¾î¶² Á¾·ùÀÇ ÆÐŶ¸¸ÀÌ °¡Áö´Â Ư¼öÇÑ ¼Ó¼º¿¡ ¸ÅÄ¡ ÇÏ´Â °æ¿ì¿¡ »ç¿ëÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î, IP ¿É¼ÇÀÌ Á¸ÀçÇÏ´Â °æ¿ì¿¡ ¸ÅÄ¡ ½ÃŰ·Á¸é , \fBwith ipopts\fP (À»)¸¦ »ç¿ëÇÕ´Ï´Ù. ¿ÏÀüÇÑ Çì´õ¸¦ °Ý³³ÇÏ·Á¸é ´ÜÀΰ¡ Áö³ª´Â ÆÐŶ¿¡ ¸ÅÄ¡ ½ÃŰ·Á¸é , \fBwith short\fP ¸¦ »ç¿ëÇÕ´Ï´Ù. ´ÜÆíÈ­ µÈ ÆÐŶ¿¡ ¸ÅÄ¡ ½Ã۱â À§Çؼ­(¶§¹®¿¡)´Â, \fBwith frag\fP ¸¦ »ç¿ëÇÕ´Ï´Ù. ´õ¿í, IP ¿É¼Ç °íÀ¯ÀÇ ÇÊÅ͸µ¿¡ °üÇØ¼­´Â, °¢ ¿É¼ÇÀ» ¿­°Å °¡´ÉÇÕ´Ï´Ù. .IP \fBwith\fP Ű¿öµåÀÇ µÚ¿¡ ÆÄ¶ó¹ÌÅ͸¦ °è¼ÓÇϱâ Àü¿¡, ¸» \fBnot\fP ¶Ç´Â \fBno\fP ¸¦ »ðÀÔÇØ, ¿É¼ÇÀÌ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì¿¡°Ô¸¸ ÇÊÅÍ ·êÀÌ ¸ÅÄ¡ Çϵµ·Ï ÇÒ ¼ö ÀÖ½À´Ï´Ù. .IP \fBwith\fP ÀýÀ» ¿¬¼ÓÇØ ±â¼úÇÏ´Â °ÍÀÌ Çã¶ôµË´Ï´Ù. ¶Ç, Ű¿öµå \fBand\fP ¸¦, \fBwith\fP ´ë½Å¿¡ »ç¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. À̰ÍÀº, ¼ø¼öÇÏ°Ô °¡µ¶¼º Çâ»óÀ» À§ÇØÀÔ´Ï´Ù ("with ... and ..."). º¹¼öÀÇ ¸¶µð¸¦ ¿­°ÅÇßÀ» ¶§, ¸ðµç °ÍÀÌ ¸ÅÄ¡ ÇÒ °æ¿ì¿¡, ·êÀÌ ¼º³É ÇÕ´Ï´Ù. .\" XXX describe the options more specifically in a separate section .TP . B flags TCP ÇÊÅ͸µ¿¡ ´ëÇØ¼­¸¸ À¯È¿ÇÕ´Ï´Ù. »ç¿ë °¡´ÉÇÑ ·¹ÅÍ´Â, TCP Çì´õ¿¡¼­ ¼³Á¤ °¡´ÉÇÑ Ç÷¡±×ÀÇ 1 °³¸¦ Ç¥ÇöÇÕ´Ï´Ù. °ü·ÃÀº ´ÙÀ½°ú °°½À´Ï´Ù: .LP .nf F - FIN S - SYN R - RST P - PUSH A - ACK U - URG .fi .IP ¿©·¯°¡Áö Ç÷¡±× ½Éº¼À» Á¶ÇÕÇØ »ç¿ëÇÒ ¼ö Àֱ⠶§¹®¿¡, "SA" ´Â ÆÐŶÁßÀÇ SYN-ACK ÀÇ Æí¼ºÀ» Ç¥ÇöÇÕ´Ï´Ù. "SFR" µîÀÇ Æí¼ºÀÇ ÁöÁ¤À» Á¦ÇÑÇÏ´Â °ÍÀº ¾ø½À´Ï´Ù. ÀÌ Æí¼ºÀº, ±ÔÄ¢À» Áö۰í ÀÖ´Â TCP ½ÇÀå¿¡¼­´Â Åë»ó »ý¼ºµÇÁö ¾Ê½À´Ï´Ù. ±×·¸Áö¸¸, ÀÌ»óÀ» ÇÇÇϱâ À§Çؼ­(¶§¹®¿¡), ¾î´À Ç÷¡±×¿¡ ´ëÇØ¼­ ÇÊÅ͸µ Çϰí ÀÖ´ÂÁö¸¦ ³ªÅ¸³¾ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÌ ¶§¹®¿¡, ¾î´À TCP Ç÷¡±×¸¦ ºñ±³ÇÏ´Â °ÍÀΰ¡ (Áï, ¾î´À Ç÷¡±×¸¦ Áß¿ä¶ó°í »ý°¢ÇÏ´ÂÁö)(À»)¸¦ ³ªÅ¸³»´Â ¸¶½ºÅ©¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀº, ¸ÅÄ¡ ´ë»óÀÇ TCP Ç÷¡±× ÁýÇÕÀÇ µÚ¿¡,"/" ¸¦ ºÙÀÌ´Â °ÍÀ¸·Î ½ÇÇöµÉ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é: .LP .nf ... flags S # "flags S/AUPRFS" °¡ µÇ¾î, SYN Ç÷¡±× ¡¸¸¶¼Å¡¹ # ÇÏÁö¸¸ ¼³Á¤µÇ¾î ÀÖ´Â ÆÐŶ¿¡ ¸ÅÄ¡ ÇÕ´Ï´Ù. ... flags SA # "flags SA/AUPRFSC" °¡ µÇ¾î, SYN ¹× ACK ÀÇ Ç÷¡±× # ¸¸ÀÌ ¼³Á¤µÇ¾î ÀÖ´Â ÆÐŶ¿¡ ¸ÅÄ¡ ÇÕ´Ï´Ù. ... flags S/SA # SYN-ACK ÀÇ Á¶ °¡¿îµ¥, SYN Ç÷¡±×¸¸ÀÌ ¼³Á¤µÇ¾î ÀÖ´Ù # ÆÐŶ¿¡°Ô¸¸ ¸ÅÄ¡ ÇÕ´Ï´Ù. À̰ÍÀº °øÅëÀÇ ¡¸È®¸³¡¹ # Ű¿öµå µ¿ÀÛÀÔ´Ï´Ù. "S/SA" ´Â SYN ¿Í ACK ÀÇ Á¶ÀÇ # ¡¸¾çÂÊ ¸ðµÎ¡¹°¡ ¼³Á¤µÇ¾î ÀÖÀ¸·Á¸é ¸ÅÄ¡ ¡¸ÇÏÁö ¾Ê½À´Ï´Ù¡¹ # ÇÏÁö¸¸,"SFP" ¿¡´Â ¸ÅÄ¡ ¡¸ÇÕ´Ï´Ù¡¹. .fi .TP . B icmp-type \fBproto icmp\fP ¿Í ÇÔ²² »ç¿ëÇßÀ» °æ¿ì¿¡°Ô¸¸ À¯È¿Çϰí, \fBflags\fP ¿Í ÇÔ²² »ç¿ëÇØ ¡¸µÇÁö ¾Ê½À´Ï´Ù¡¹. ¸¹Àº ŸÀÔÀÌ ÀÖ¾î, ÀÌ ¾ð¾î·Î ÀνĵǴ ´ÜÃàÇüÀ̳ª, À̰Ϳ¡ °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø ¼öÄ¡·Î ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. º¸¾ÈÀÇ °üÁ¡À¸·ÎºÎÅÍ ºÁ °¡Àå Áß¿äÇÑ °ÍÀº ICMP ¸®µð·ºÆ®ÀÔ´Ï´Ù. .SH È÷½ºÅ丮 º¸Á¸ .PP ÇÊÅÍ ·ê·Î ¼³Á¤ °¡´ÉÇÑ, ÃÖÈķκÎÅÍ 2 ¹øÂ°ÀÇ ÆÄ¶ó¹ÌÅÍ´Â, ÆÐŶÀÇ È÷½ºÅ丮 Á¤º¸¸¦ ±â·ÏÇÏ´ÂÁö ¾Æ´ÑÁö, ¹× ¾î¶°ÇÑ È÷½ºÅ丮¸¦ º¸Á¸ÇÒ±îÀÔ´Ï´Ù. ÀÌÇÏÀÇ Á¤º¸¸¦ º¸Á¸ÇÒ ¼ö ÀÖ½À´Ï´Ù: .TP . B state Åë½Å ¼¼¼ÇÀÇ Ç÷οì(flow) Á¤º¸¸¦ º¸Á¸ÇÕ´Ï´Ù. TCP, UDP, ICMP ÀÇ °¢ ÆÐŶ¿¡ °üÇØ¼­ »óŰ¡ º¸Á¸µË´Ï´Ù. .TP . B frags ´ÜÆíÈ­ µÈ ÆÐŶÀÇ Á¤º¸¸¦ º¸Á¸ÇÕ´Ï´Ù. ÀÌ Á¤º¸´Â, ÈÄ¿¡ ´ÜÆíÈ­ÇÒ ¶§¿¡ »ç¿ëÇÕ´Ï´Ù. .PP À̰͵鿡 ¸ÅÄ¡ ÇÏ´Â ÆÐŶÀº ¼Ò ÅëÇØ, ¾×¼¼½º Á¦¾î ¸®½ºÆ®¸¦ ÅëÇÏÁö ¾Ê½À´Ï´Ù. .SH ±×·ì ÆÄ¶ó¹ÌÅÍÀÇ ¸¶Áö¸· Á¶´Â ÇÊÅÍ ·êÀÇ ¡¸±×·ì¡¹À» Á¦¾îÇÕ´Ï´Ù. ´Ù¸¥ ±×·ìÀÌ ÁöÁ¤µÇÁö ¾Ê´Â ÀÌ»ó µðÆúÆ®¿¡¼­´Â, ÀüÇÊÅÍ ·êÀº ±×·ì 0 ¿¡ ³õ¿©Áý´Ï´Ù. ºñµðÆúÆ®ÀÇ ±×·ì¿¡ ·êÀ» Ãß°¡ÇÏ·Á¸é , ±×·ìÀÇ ¡¸¸Ó¸® (head)¡¹¸¦ ÀÛ¼ºÇÏ´Â °÷(Áß)À¸·ÎºÎÅÍ, ±×·ìÀ» °³½ÃÇÕ´Ï´Ù. ÆÐŶÀÌ ±×·ìÀÇ ¡¸¸Ó¸®¡¹ÀÇ ·ê¿¡ ¸ÅÄ¡ ÇÏ´Â °æ¿ì, ÇÊÅÍ Ã³¸®´Â ±× ±×·ì¿¡ ¹Ù²î¾î, ±× ·êÀ» ±× ±×·ìÀÇ µðÆúÆ®·Î¼­ »ç¿ëÇÕ´Ï´Ù. \fBquick\fP ¸¦ \fBhead\fP ·ê°ú ÇÔ²² »ç¿ëÇÏ´Â °æ¿ì, ±× ±×·ìÀÇ Ã³¸®·ÎºÎÅÍ µ¹¾Æ¿Ã ¶§±îÁö´Â, ·ê 󸮴 Á¤ÁöÇÏÁö ¾Ê½À´Ï´Ù. .PP ¾î´À ·êÀº, ½Å±Ô ±×·ìÀÇ ¸Ó¸®·Î ÀÖ´Â °÷°³, ºñµðÆúÆ® ±×·ìÀÇ ¸â¹öÀÎ °ÍÀÌ °¡´ÉÇÕ´Ï´Ù (\fBhead\fP ¿Í \fBgroup\fP ¸¦ µ¿ÀÏ ·ê³»¿¡¼­ µ¿½Ã¿¡ »ç¿ë °¡´ÉÇÕ´Ï´Ù). .TP . B "head " ½Å±Ô ±×·ì (¹øÈ£ n)À» ÀÛ¼ºÇÏ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù. .TP . B "group " ÀÌ ·êÀ», ±×·ì 0 ÀÌ ¾Æ´Ï°í, ±×·ì (¹øÈ£ n)¿¡ µÎ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù. .SH ·Î±ë .PP \fBlog\fP ¾×¼Ç ¶Ç´Â ¿É¼Ç¿¡¼­, ÆÐŶÀÇ ·Î±×¸¦ ½Ç½ÃÇÒ ¶§, ÆÐŶÀÇ Çì´õ°¡ \fBipl\fP ÆÄÄÏÆ®·Î±ë ÀÇ»ç µð¹ÙÀ̽º¿¡ ±âÀÔÇØÁý´Ï´Ù. \fBlog\fP Ű¿öµåÀÇ Á÷ÈÄ¿¡, ´ÙÀ½ÀÇ ¼ö½Ä ¾î±¸¸¦ (ÀÌ ¼ø¼­·Î) »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù: .TP . B body ÆÐŶÀÇ ³»¿ëÀÇ ÃÖÃÊÀÇ 128 ¹ÙÀÌÆ®¸¦, Çì´õÀÇ ´ÙÀ½¿¡ ·Î±× ÇÏ´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù. .TP . B first ·Î±×°¡ "keep" ¿É¼Ç°ú ÇÔ²² »ç¿ëµÇ´Â °æ¿ì, º»¿É¼Çµµ ÁöÁ¤ÇÏ´Â °ÍÀ» ±ÇÇÕ´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, ¹æ¾Æ¼è°¡ µÇ´Â ÆÐŶ¸¸À» ·Î±× ÇØ, ÀÌ ÈÄ¿¡ »óÅ Á¤º¸¿¡ ¸ÅÄ¡ ÇÏ´Â ÀüÆÐŶÀ» ·Î±× ÇÏÁö ¾Ê°Ô µË´Ï´Ù. .TP . B or-block ÇϵîÀÇ ÀÌÀ¯·Î ÇÊÅͰ¡ ·Î±×¸¦ ÀâÈ÷Áö ¾Ê´Â °æ¿ì (·Î±× µ¶Çذ¡ ¸Å¿ì ´ÊÀº °æ¿ì µî), ÀÌ ÆÐŶ¿¡ ´ëÇÑ ÀÌ ·êÀÇ ¾×¼ÇÀÌ \fBblock\fP ¿´´Ù°í ÇØ¼® ½Ãŵ´Ï´Ù. .TP . B "level " ÀÌ ÆÐŶÀÇ Á¤º¸ ·Î±×¿¡, ¾î´À ·Î±× ÆÛ½Ç¸®Æ¼¿Í ¿ì¼±µµ¸¦ »ç¿ëÇÏ´ÂÁö, ¶Ç´Â µðÆúÆ® ÆÛ½Ç¸®Æ¼·Î ¾î´À ¿ì¼±µµ¸¦ »ç¿ëÇÏ´ÂÁö¸¦ ÁöÁ¤ÇÕ´Ï´Ù. Á¤º¸ ·Î±×¿¡´Â, ipmon ÀÇ -s ¿É¼ÇÀ» »ç¿ëÇÕ´Ï´Ù. .PP ÀÌ µð¹ÙÀ̽º¿¡ ±âÀÔÇØÁö´Â ·¹ÄÚµåÀÇ Æ÷¸Ë¿¡ ´ëÇØ¼­´Â ipl(4)¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä. ÀÌ ·Î±×¸¦ Àо Á¤ÇüÇÏ·Á¸é , ipmon(8)¸¦ »ç¿ëÇÕ´Ï´Ù. .SH »ç¿ë¿¹ .PP \fBquick\fP ¿É¼ÇÀº ´ÙÀ½°ú °°Àº ·ê¿¡ ´ëÇØ¼­ ÇüÆíÀÌ ÁÁ½À´Ï´Ù: \fC .nf block in quick from any to any with ipopts .fi .PP À̰ÍÀº, Ç¥ÁØÀûÀÎ ±æÀ̰¡ ¾Æ´Ñ Çì´õ¸¦ °¡Áö´Â (IP ¿É¼ÇÀ» °¡Áø´Ù) ÆÐŶ¿¡ ¸ÅÄ¡ ÇØ, ÀÌ ¾ÕÀÇ ·ê 󸮸¦ ½Ç½ÃÇÏÁö ¾Ê°í , ¸ÅÄ¡ÀÌ ¹ß»ýÇÑ °Í°ú ÆÐŶÀ» ºí·Ï ÇØ¾ß ÇÒ°ÍÀ» ±â·ÏÇÕ´Ï´Ù. .PP ´ÙÀ½°ú °°Àº ¡¸°è¼Ó¡¹·êÀÇ ÇØ¼®¿¡ ÀÇÇØ: .LP .nf block in from any to any port < 6000 pass in from any to any port >= 6000 block in from any to any port > 6003 .fi .PP ¹üÀ§ 6000-6003 °¡ ¿ë¼­µÇ¾î ¿Ü´Â Çã¶ôÇÏÁö ¾Ê°Ô ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÃÖÃÊÀÇ ·êÀÇ È¿°úº¸´Ù, ÈÄ¼Ó ·êÀÌ ¿ì¼±ÇÏ´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. °°Àº °ÍÀ» ½Ç½ÃÇÏ´Â, ´Ù¸¥ (¿ëÀÌÇÑ) ¹æ¹ýÀº ´ÙÀ½°ú °°½À´Ï´Ù: .LP .nf block in from any to any port 6000 <> 6003 pass in from any to any port 5999 >< 6004 .fi .PP È¿°ú¸¦ °®°ÔÇϱâ À§Çؼ­(¶§¹®¿¡)´Â, "block" ¹× "pass" ÀÇ ¾çÂÊ ¸ðµÎ¸¦ ¿©±â¿¡ ¾µ Çʿ䰡 ÀÖ½À´Ï´Ù. ¿Ö³ÄÇϸé,"block" ¾×¼Ç¿¡ ¸ÅÄ¡ ÇÏÁö ¾Ê´Â °ÍÀÌ Åë°ú¸¦ ÀǹÌÇÏ´Â °ÍÀº ¾Æ´Ï°í, ·êÀÌ È¿°ú¸¦ °¡ÁöÁö ¾Ê´Â °ÍÀ» ÀǹÌÇÒ »Ó(¸¸Å­)À̱⠶§¹®ÀÔ´Ï´Ù. Æ÷Æ®°¡ 1024 ¹Ì¸¸ÀÇ °ÍÀ» Çã¶ôÇÏ·Á¸é , ´ÙÀ½°ú °°Àº ·êÀ» »ç¿ëÇÕ´Ï´Ù: .LP .nf pass in quick from any to any port < 1024 .fi .PP À̰ÍÀº, ÃÖÃÊÀÇ ºí·ÏÀÇ Àü¿¡ µÑ Çʿ䰡 ÀÖ½À´Ï´Ù. le0/le1/lo0 ·ÎºÎÅÍÀÇ ¸ðµç ³»Çâ ÆÐŶÀ» ó¸®ÇØ, µðÆúÆ®¿¡¼­´Â ³»ÇâÀÇ ÀüÆÐŶÀ» ºí·Ï ÇÑ´Ù ½Å±Ô ±×·ìÀ» ÀÛ¼ºÇÏ·Á¸é , ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù: .LP .nf block in all block in quick on le0 all head 100 block in quick on le1 all head 200 block in quick on lo0 all head 300 .fi .PP ±×¸®°í, le0 ·Î ICMP ÆÐŶ¸¸À» Çã¶ôÇÏ·Á¸é , ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù: .LP .nf pass in proto icmp all group 100 .fi .PP le0 ·ÎºÎÅÍÀÇ ³»Çâ ÆÐŶ¸¸ÀÌ ±×·ì 100 À¸·Î 󸮵DZ⠶§¹®¿¡, ÀÎÅÍÆäÀ̽º¸íÀ» ÀçÂ÷ ÁöÁ¤ÇÒ Çʿ䰡 ¾ø´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. °°ÀÌ ´ÙÀ½°ú °°ÀÌ TCP µîÀÇ Ã³¸®¸¦ ºÐÇØÇÒ ¼ö ÀÖ½À´Ï´Ù: .LP .nf block in proto tcp all head 110 group 100 pass in from any to any port = 23 group 110 .fi .PP ¸Ç ¸¶Áö¸· ÁÙÀ», ±×·ìÀ» »ç¿ëÇÏÁö ¾Ê°í ±â¼úÇϸé(ÀÚ), ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù: .LP .nf pass in on le0 proto tcp from any to any port = telnet .fi .PP "port = telnet" ¿Í ±â¼úÇÏ°í ½ÍÀº °æ¿ì¿¡´Â,"proto tcp" ¸¦ ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. ¿Ö³ÄÇϸé, ÆÄ¼­´Â Àڱ⿡ ±Ù°ÅÇØ ·êÀ» ÇØ¼®ÇØ, ÁöÁ¤µÈ ÇÁ·ÎÅäÄÝ¿¡ ÀÇÇØ Àü¼­ºñ½º/Æ÷Æ®¸íÀ» ¼ö½ÄÇϱ⠶§¹®ÀÔ´Ï´Ù. .SH °ü·Ã ÆÄÀÏ /dev/ipauth .br /dev/ipl .br /dev/ipstate .br /etc/hosts .br /etc/services .SH °ü·Ã Ç׸ñ ipftest(1), iptest(1), mkfilters(1), ipf(4), ipnat(5), ipf(8), ipfstat(8)