summaryrefslogtreecommitdiff
path: root/etc/pf.conf
blob: 3d90c3d31c33ee86c44362f96f59436f828d3d52 (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.7 2002/11/16 12:55:22 ian 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