# MACROS
ext_if = "hme0"
int_if = "hme1"
tcp_services = "{ www, https, ftp-data, ftp, ssh, domain, pop3, pop3s, \
smtp, auth, nntp, cvspserver, 446, 1863, 2628, 8000, \
8080 }"
icmp_types = "echoreq"
cary_n1 = "10.10.11.1"
# OPTIONS
#set block-policy drop
set loginterface $ext_if
set skip on lo
scrub in all no-df
scrub in all random-id
nat on $ext_if from !($ext_if) to any -> ($ext_if)
nat-anchor "ftp-proxy/*"
rdr-anchor "ftp-proxy/*"
rdr pass on $int_if proto tcp to port ftp -> 127.0.0.1 port 8021
rdr on $ext_if proto tcp from any to any port 80 -> $cary_n1
rdr on $ext_if proto tcp from any to any port 25 -> $cary_n1
rdr on $ext_if proto tcp from any to any port { 15566:15766 } -> 10.0.100.9
# FILTER RULES
#block in log all
#block out log all
pass in on $int_if from 10.0.0.0/8 to 10.10.10.1
pass out on $int_if from 10.10.10.1 to 10.0.0.0/8
anchor "ftp-proxy/*"
pass in on $ext_if inet proto tcp from any to ($ext_if) \
port $tcp_services flags S/SA keep state
pass in on $ext_if inet proto tcp from any to $cary_n1 port 80 \
flags S/SA synproxy state
pass in on $ext_if inet proto udp from any to ($ext_if) \
port 14
pass in inet proto icmp all icmp-type $icmp_types keep state
pass in quick log (all) on $ext_if inet proto tcp from any to 10.0.100.9 \
port { 15566:15766 } flags S/SA keep state
pass quick on $int_if
#antispoof for { $int_if }