All pastes #927763 Raw Edit

Someone

public text v1 · immutable
·published 2008-03-04 15:11 UTC
rendered paste body
#       $FreeBSD: src/etc/pf.conf,v 1.2.2.1 2006/04/04 20:31:20 mlaier Exp $
#       $OpenBSD: pf.conf,v 1.21 2003/09/02 20:38:44 david Exp $
#
# See pf.conf(5) and /usr/share/examples/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="vr0"
external_addr="XXXXXXXXX"
icmp_types = "echoreq"

## 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 $ext_if
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
#nat on $ext_if from $internal_net to any -> ($ext_if)

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

block log all

### Localhost
pass out quick on lo0 all
pass in quick on lo0 all


#### ALL IN rules
## SHH
pass in log on $ext_if proto tcp from any to $ext_if port 553 keep state
## Ident
pass in log on $ext_if proto tcp from any to $ext_if port 113 keep state
## DNS
pass in log on $ext_if proto { tcp, udp } from any to $ext_if port 53 flags S/SA keep state
## PING
pass in inet proto icmp all icmp-type echoreq keep state

### ALL OUT rules
pass out all