diff options
author | mlaier <mlaier@FreeBSD.org> | 2004-03-08 22:03:29 +0000 |
---|---|---|
committer | mlaier <mlaier@FreeBSD.org> | 2004-03-08 22:03:29 +0000 |
commit | 6be47b725dbe981b3b17d6c613ae30fc93c8734f (patch) | |
tree | 38dcc46c6326ec0b0dc0f6d59183c7d17c5f9d66 /etc/pf.conf | |
parent | 8ff4e76430891ac4cdbaed167d6824866a07f187 (diff) | |
download | FreeBSD-src-6be47b725dbe981b3b17d6c613ae30fc93c8734f.zip FreeBSD-src-6be47b725dbe981b3b17d6c613ae30fc93c8734f.tar.gz |
Link pf to the build and install:
This adds the former ports registered groups: proxy and authpf as well as
the proxy user. Make sure to run mergemaster -p in oder to complete make
installworld without errors.
This also provides the passive OS fingerprints from OpenBSD (pf.os) and an
example pf.conf.
For those who want to go without pf; it provides a NO_PF knob to make.conf.
__FreeBSD_version will be bumped soon to reflect this and to be able to
change ports accordingly.
Approved by: bms(mentor)
Diffstat (limited to 'etc/pf.conf')
-rw-r--r-- | etc/pf.conf | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/etc/pf.conf b/etc/pf.conf new file mode 100644 index 0000000..280223a --- /dev/null +++ b/etc/pf.conf @@ -0,0 +1,79 @@ +# $FreeBSD$ +# $OpenBSD: pf.conf,v 1.21 2003/09/02 20:38:44 david Exp $ +# +# See pf.conf(5) and /usr/share/pf for syntax and examples. +# Required order: options, normalization, queueing, translation, filtering. +# Macros and tables may be defined and used anywhere. +# Note that translation rules are first match while filter rules are last match. + +# Macros: define common values, so they can be referenced and changed easily. +#ext_if="ext0" # replace with actual external interface name i.e., dc0 +#int_if="int0" # replace with actual internal interface name i.e., dc1 +#internal_net="10.1.1.1/8" +#external_addr="192.168.1.1" + +# Tables: similar to macros, but more flexible for many addresses. +#table <foo> { 10.0.0.0/8, !10.1.0.0/16, 192.168.0.0/24, 192.168.1.18 } + +# Options: tune the behavior of pf, default values are given. +#set timeout { interval 10, frag 30 } +#set timeout { tcp.first 120, tcp.opening 30, tcp.established 86400 } +#set timeout { tcp.closing 900, tcp.finwait 45, tcp.closed 90 } +#set timeout { udp.first 60, udp.single 30, udp.multiple 60 } +#set timeout { icmp.first 20, icmp.error 10 } +#set timeout { other.first 60, other.single 30, other.multiple 60 } +#set timeout { adaptive.start 0, adaptive.end 0 } +#set limit { states 10000, frags 5000 } +#set loginterface none +#set optimization normal +#set block-policy drop +#set require-order yes +#set fingerprints "/etc/pf.os" + +# Normalization: reassemble fragments and resolve or reduce traffic ambiguities. +#scrub in all + +# Queueing: rule-based bandwidth control. +#altq on $ext_if bandwidth 2Mb cbq queue { dflt, developers, marketing } +#queue dflt bandwidth 5% cbq(default) +#queue developers bandwidth 80% +#queue marketing bandwidth 15% + +# Translation: specify how addresses are to be mapped or redirected. +# nat: packets going out through $ext_if with source address $internal_net will +# get translated as coming from the address of $ext_if, a state is created for +# such packets, and incoming packets will be redirected to the internal address. +#nat on $ext_if from $internal_net to any -> ($ext_if) + +# rdr: packets coming in on $ext_if with destination $external_addr:1234 will +# be redirected to 10.1.1.1:5678. A state is created for such packets, and +# outgoing packets will be translated as coming from the external address. +#rdr on $ext_if proto tcp from any to $external_addr/32 port 1234 -> 10.1.1.1 port 5678 + +# rdr outgoing FTP requests to the ftp-proxy +#rdr on $int_if proto tcp from any to any port ftp -> 127.0.0.1 port 8021 + +# spamd-setup puts addresses to be redirected into table <spamd>. +#table <spamd> persist +#no rdr on { lo0, lo1 } from any to any +#rdr inet proto tcp from <spamd> to any port smtp -> 127.0.0.1 port 8025 + +# Filtering: the implicit first two rules are +#pass in all +#pass out all + +# block all incoming packets but allow ssh, pass all outgoing tcp and udp +# connections and keep state, logging blocked packets. +#block in log all +#pass in on $ext_if proto tcp from any to $ext_if port 22 keep state +#pass out on $ext_if proto { tcp, udp } all keep state + +# pass incoming packets destined to the addresses given in table <foo>. +#pass in on $ext_if proto { tcp, udp } from any to <foo> port 80 keep state + +# pass incoming ports for ftp-proxy +#pass in on $ext_if inet proto tcp from any to $ext_if user proxy keep state + +# assign packets to a queue. +#pass out on $ext_if from 192.168.0.0/24 to any keep state queue developers +#pass out on $ext_if from 192.168.1.0/24 to any keep state queue marketing |