summaryrefslogtreecommitdiff
path: root/etc/pf.conf
blob: 22327c79fb5dc2c273505a5cb8b453f7fb027ed4 (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
#	$OpenBSD: pf.conf,v 1.8 2002/11/24 19:56:45 pb Exp $
#
# See pf.conf(5) for syntax and examples
# General order: options, scrub rules, NAT/rdr, and filter rules.
# Note that NAT is first match while packet filters are last match, 
#
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"

# 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 $external_addr, 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 -> $external_addr

# 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

# 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
# log 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