# pf.conf ## Macros EXT="xl0" INT="fxp0" INT_IP="192.168.1.104" WEBSERVER="192.168.1.101" NET="192.168.1.0/24" TCP_SERVICES="{ 22, 113, 80 }" ICMP_TYPES="echoreq" ## Tables ## Global Options set loginterface $EXT set block-policy return set skip on lo scrub in ## Queueing ruRules ## Translation Rules (NAT(^?) nat on $EXT from !($EXT) to any -> ($EXT) rdr on $INT proto tcp from $NET to $EXT port 80 -> \ 127.0.0.1 port 5000 ## Filter Rules # default deny #block in pass out keep state antispoof quick for { lo } pass in on $EXT inet proto tcp from any to ($EXT) \ port $TCP_SERVICES flags S/SA keep state pass in on $EXT inet proto tcp from any to $WEBSERVER port 80 \ flags S/SA synproxy state pass in on $INT inet proto tcp from any to $WEBSERVER port 80 \ flags S/SA synproxy state pass in inet proto icmp all icmp-type $ICMP_TYPES keep state pass in quick on $INT