summaryrefslogtreecommitdiff
path: root/etc/pf.conf
blob: 58b75ef87b3ef53a0fedb009a9d9419b6b19b26b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#	$OpenBSD: pf.conf,v 1.16 2003/02/14 00:34:14 jason Exp $
#
# See pf.conf(5) and /usr/share/pf for syntax and examples.
# General order: options, scrub rules, translation rules, and filter rules.
# 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
internal_net="10.1.1.1/8"
external_addr="192.168.1.1"

# Options: tune the behavior of pf, default values are given.
#set timeout { interval 30, frag 10 }
#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 limit { states 10000, frags 5000 }
#set loginterface none
#set optimization normal
#set block-policy drop
#set require-order yes

# Normalize: reassemble fragments and resolve or reduce traffic ambiguities.
#scrub in all

# 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

# 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

# filter rules: 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