All pastes #276623 Raw Edit

Untitled

public text v1 · immutable
·published 2006-12-12 15:28 UTC
rendered paste body
# PF configuration for Central de Vendas Informatica LTDA.
# admin@centralinf.com.br

### macros ###
ext_if = "xl0"
int_if = "re0"

int_odin= "192.168.1.134"
ext_odin= "201.12.35.52"

priv_nets = "{ 127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 }"
priv_users = "{ 192.168.1.120, 192.168.1.121, 192.168.1.122, 192.168.1.123 }"

### options ###
set block-policy return
set loginterface $ext_if
set skip on lo

### scrub ###
scrub in all fragment reassemble

### nat ###
nat on $ext_if from $int_if:network to any -> $ext_if:0
nat-anchor "ftp-proxy/*"

### redirects ###

# ftp-proxy.
rdr-anchor "ftp-proxy/*"
rdr pass on $int_if proto tcp to port ftp -> 127.0.0.1 port 8021

# transparent proxy.
rdr on $int_if proto tcp from any to any port { 80, 443 } -> 127.0.0.1 port 3128

# odin redirect.
rdr on $ext_if proto tcp from any to $ext_odin -> $int_odin

### filter rules ###

# block everything.
block all

# allow all traffic on $int_if.
pass quick on $int_if

# antispoof and ftp-proxy anchor.
antispoof quick for { lo, $int_if }
anchor "ftp-proxy/*"

# block privileged nets.
block drop in  quick on $ext_if from $priv_nets to any
block drop out quick on $ext_if from any to $priv_nets

# block msn.
block drop quick inet proto tcp from any to any port 1863

# allow msn to priv_users ;).
pass out on $ext_if inet proto tcp from $priv_users to any \
        port 1863 modulate state flags S/SA

# allow ping.
pass in quick inet proto icmp all icmp-type echoreq keep state

# allow vpn (1723) and tun interfaces.
pass in quick on $ext_if inet proto tcp from any to ($ext_if) \
        port 1723 modulate state flags S/SA
pass in quick on $ext_if inet proto gre from any to ($ext_if) \
        keep state
pass quick on tun

# allow ssh from internal network.
pass in quick on $int_if inet proto tcp from any to \
        any port ssh flags S/SA keep state

# allow all tcp, udp and icmp pass out.
pass out quick on $ext_if inet proto tcp all modulate state flags S/SA
pass out quick on $ext_if inet proto { udp, icmp } all keep state