[BACK]Return to pf.conf CVS log [TXT][DIR] Up to [local] / src / etc

Annotation of src/etc/pf.conf, Revision 1.26

1.26    ! david       1: #      $OpenBSD: pf.conf,v 1.25 2004/01/29 18:54:29 todd Exp $
1.1       kjell       2: #
1.12      henning     3: # See pf.conf(5) and /usr/share/pf for syntax and examples.
1.17      david       4: # Required order: options, normalization, queueing, translation, filtering.
                      5: # Macros and tables may be defined and used anywhere.
1.12      henning     6: # Note that translation rules are first match while filter rules are last match.
1.18      david       7:
1.12      henning     8: # Macros: define common values, so they can be referenced and changed easily.
1.17      david       9: #ext_if="ext0" # replace with actual external interface name i.e., dc0
1.19      ian        10: #int_if="int0" # replace with actual internal interface name i.e., dc1
1.17      david      11: #internal_net="10.1.1.1/8"
                     12: #external_addr="192.168.1.1"
                     13:
                     14: # Tables: similar to macros, but more flexible for many addresses.
                     15: #table <foo> { 10.0.0.0/8, !10.1.0.0/16, 192.168.0.0/24, 192.168.1.18 }
1.5       henning    16:
1.12      henning    17: # Options: tune the behavior of pf, default values are given.
1.26    ! david      18: #set timeout { interval 10, frag 30, src.track 0 }
1.12      henning    19: #set timeout { tcp.first 120, tcp.opening 30, tcp.established 86400 }
1.13      henning    20: #set timeout { tcp.closing 900, tcp.finwait 45, tcp.closed 90 }
1.12      henning    21: #set timeout { udp.first 60, udp.single 30, udp.multiple 60 }
                     22: #set timeout { icmp.first 20, icmp.error 10 }
                     23: #set timeout { other.first 60, other.single 30, other.multiple 60 }
1.20      david      24: #set timeout { adaptive.start 0, adaptive.end 0 }
1.26    ! david      25: #set limit { states 10000, src-nodes 10000, frags 5000 }
1.12      henning    26: #set loginterface none
1.14      henning    27: #set optimization normal
1.12      henning    28: #set block-policy drop
                     29: #set require-order yes
1.21      david      30: #set fingerprints "/etc/pf.os"
1.22      david      31: #set debug urgent
1.12      henning    32:
1.17      david      33: # Normalization: reassemble fragments and resolve or reduce traffic ambiguities.
1.10      deraadt    34: #scrub in all
1.5       henning    35:
1.17      david      36: # Queueing: rule-based bandwidth control.
                     37: #altq on $ext_if bandwidth 2Mb cbq queue { dflt, developers, marketing }
                     38: #queue dflt bandwidth 5% cbq(default)
                     39: #queue developers bandwidth 80%
                     40: #queue marketing  bandwidth 15%
                     41:
                     42: # Translation: specify how addresses are to be mapped or redirected.
1.12      henning    43: # nat: packets going out through $ext_if with source address $internal_net will
                     44: # get translated as coming from the address of $ext_if, a state is created for
                     45: # such packets, and incoming packets will be redirected to the internal address.
                     46: #nat on $ext_if from $internal_net to any -> ($ext_if)
1.4       henning    47:
1.7       ian        48: # rdr: packets coming in on $ext_if with destination $external_addr:1234 will
                     49: # be redirected to 10.1.1.1:5678. A state is created for such packets, and
1.4       henning    50: # outgoing packets will be translated as coming from the external address.
1.10      deraadt    51: #rdr on $ext_if proto tcp from any to $external_addr/32 port 1234 -> 10.1.1.1 port 5678
1.4       henning    52:
1.19      ian        53: # rdr outgoing FTP requests to the ftp-proxy
                     54: #rdr on $int_if proto tcp from any to any port ftp -> 127.0.0.1 port 8021
                     55:
1.17      david      56: # spamd-setup puts addresses to be redirected into table <spamd>.
1.16      jason      57: #table <spamd> persist
1.24      david      58: #no rdr on { lo0, lo1 } from any to any
1.25      todd       59: #rdr pass inet proto tcp from <spamd> to any port smtp -> 127.0.0.1 port 8025
1.12      henning    60:
1.17      david      61: # Filtering: the implicit first two rules are
1.10      deraadt    62: #pass in all
                     63: #pass out all
1.4       henning    64:
1.9       henning    65: # block all incoming packets but allow ssh, pass all outgoing tcp and udp
1.12      henning    66: # connections and keep state, logging blocked packets.
1.10      deraadt    67: #block in log all
                     68: #pass  in  on $ext_if proto tcp from any to $ext_if port 22 keep state
                     69: #pass  out on $ext_if proto { tcp, udp } all keep state
1.17      david      70:
                     71: # pass incoming packets destined to the addresses given in table <foo>.
                     72: #pass in on $ext_if proto { tcp, udp } from any to <foo> port 80 keep state
1.19      ian        73:
                     74: # pass incoming ports for ftp-proxy
                     75: #pass in on $ext_if inet proto tcp from any to $ext_if user proxy keep state
1.17      david      76:
                     77: # assign packets to a queue.
                     78: #pass out on $ext_if from 192.168.0.0/24 to any keep state queue developers
                     79: #pass out on $ext_if from 192.168.1.0/24 to any keep state queue marketing