]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - tools/tools/tinybsd/conf/wireless/etc/pf.conf
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / tools / tools / tinybsd / conf / wireless / etc / pf.conf
1 # $FreeBSD$
2 #
3 # See pf.conf(5) and /usr/share/examples/pf for syntax and examples.
4 # Required order: options, normalization, queueing, translation, filtering.
5 # Macros and tables may be defined and used anywhere.
6 # Note that translation rules are first match while filter rules are last match.
7
8 # Macros: define common values, so they can be referenced and changed easily.
9 #ext_if="ext0"  # replace with actual external interface name i.e., dc0
10 #int_if="int0"  # replace with actual internal interface name i.e., dc1
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 }
16
17 # Options: tune the behavior of pf, default values are given.
18 #set timeout { interval 10, frag 30 }
19 #set timeout { tcp.first 120, tcp.opening 30, tcp.established 86400 }
20 #set timeout { tcp.closing 900, tcp.finwait 45, tcp.closed 90 }
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 }
24 #set timeout { adaptive.start 0, adaptive.end 0 }
25 #set limit { states 10000, frags 5000 }
26 #set loginterface none
27 #set optimization normal
28 #set block-policy drop
29 #set require-order yes
30 #set fingerprints "/etc/pf.os"
31
32 # Normalization: reassemble fragments and resolve or reduce traffic ambiguities.
33 #scrub in all
34
35 # Queueing: rule-based bandwidth control.
36 #altq on $ext_if bandwidth 2Mb cbq queue { dflt, developers, marketing }
37 #queue dflt bandwidth 5% cbq(default)
38 #queue developers bandwidth 80%
39 #queue marketing  bandwidth 15%
40
41 # Translation: specify how addresses are to be mapped or redirected.
42 # nat: packets going out through $ext_if with source address $internal_net will
43 # get translated as coming from the address of $ext_if, a state is created for
44 # such packets, and incoming packets will be redirected to the internal address.
45 #nat on $ext_if from $internal_net to any -> ($ext_if)
46
47 # rdr: packets coming in on $ext_if with destination $external_addr:1234 will
48 # be redirected to 10.1.1.1:5678. A state is created for such packets, and
49 # outgoing packets will be translated as coming from the external address.
50 #rdr on $ext_if proto tcp from any to $external_addr/32 port 1234 -> 10.1.1.1 port 5678
51
52 # rdr outgoing FTP requests to the ftp-proxy
53 #rdr on $int_if proto tcp from any to any port ftp -> 127.0.0.1 port 8021
54
55 # spamd-setup puts addresses to be redirected into table <spamd>.
56 #table <spamd> persist
57 #no rdr on { lo0, lo1 } from any to any
58 #rdr inet proto tcp from <spamd> to any port smtp -> 127.0.0.1 port 8025
59
60 # Filtering: the implicit first two rules are
61 #pass in all
62 #pass out all
63
64 # block all incoming packets but allow ssh, pass all outgoing tcp and udp
65 # connections and keep state, logging blocked packets.
66 #block in log all
67 #pass  in  on $ext_if proto tcp from any to $ext_if port 22 keep state
68 #pass  out on $ext_if proto { tcp, udp } all keep state
69
70 # pass incoming packets destined to the addresses given in table <foo>.
71 #pass in on $ext_if proto { tcp, udp } from any to <foo> port 80 keep state
72
73 # pass incoming ports for ftp-proxy
74 #pass in on $ext_if inet proto tcp from any to $ext_if user proxy keep state
75
76 # assign packets to a queue.
77 #pass out on $ext_if from 192.168.0.0/24 to any keep state queue developers
78 #pass out on $ext_if from 192.168.1.0/24 to any keep state queue marketing