tell me if this is workable?
-----------------------------------
###################################
# $OpenBSD: pf.conf 11/9/2003
###################################
#####################################
### macros
#####################################
### IP addresses
ext_ip = "10.10.100.2" # external address
int_ip = "192.168.150.253" # internal address
dmz_ip = "172.16.200.1" # DMZ address
lab_ip = "172.16.100.1" # lab address
### servers
web_server = "172.16.200.2" # webserver
### physical interfaces
int_int = "hme0" # internal interface
ids_int = "hme1" # IDS sensor interface
svr_int = "hme2" # server interfaces
lab_int = "hme3" # router lab interface
ext_int = "hme4" # external interface
all_int = "{ hme0, hme1, hme2, hme3, hme4}" # all interfaces
### networks
OUTSIDE = "10.10.100.0/30" # External LAN
SOL = "192.168.150.240/28" # Internal LAN
DMZ = "172.16.200.0/30" # DMZ LAN
LAB = "172.16.100.0/29" # LAB LAN
### hosts
venus = "192.168.150.242" # Hosts
saturn = "192.168.150.243" #
mercury = "192.168.150.249" #
uranus = "192.168.150.253" #
hosts = "{" venus saturn mercury uranus "}"
### Services
www = "{ 80, 443}" # http/https
### Private addresses
spoof_ips= "{ 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8 }" # private addresses
##################################################################
### Options: tune the behavior of pf
##################################################################
### Sets the interface for which PF should gather statistics such as bytes in/out and packets passed/blocked
### Optimize PF for one of the following network environments
### packet is silently dropped
### set require-order yes
set loginterface hme4
set optimization normal
set block-policy drop
set fingerprints "/etc/pf.os"
##########################
Packet Filtering Table
##########################
### rule format
### action direction [log] [quick] on int [af] [proto protocol] from src_addr [port src_port] to dst_addr [port dst_port] [tcp_flags] [state]
### Clean up fragmented packets and abnormal packets
scrub in all fragment reassemble
### nat: packets going out through $ext_int with source address $hosts will
### get translated as coming from the address of $ext_int, a state is created for
### such packets, and incoming packets will be redirected to the internal address.
nat on $ext_int from $hosts to any -> $ext_ip
### default deny policy
block all log
### activate spoofing protection for the internal interface
antispoof for $int_int inet
### pass traffic on the loopback interface in either direction
pass out on lo0 from $all_int to any modulate state
### pass tcp, udp, and icmp out on the external (Internet) interface. keep state on udp and icmp and modulate state on tcp.
pass in on $int_int from $hosts proto tcp to any modulate state
pass in on $int_int from $hosts proto { udp, icmp } to any keep state
### webserver access
pass in on $dmz_int proto tcp from $ext_ip to $web_server port $www keep state
### lab access
pass in on $lab_int proto tcp from $ext_ip to $LAB port telnet keep state
### allow ssh connections in on the external interface as long as they're NOT destined for the firewall (ie, they're
### destined for a machine on the local network). log the initial packet so that we can later tell who is trying to connect.
pass in log on $ext_int proto tcp from any to { !$ext_int, !$int_int } port ssh flags S/SA keep state
-----------------------------------
###################################
# $OpenBSD: pf.conf 11/9/2003
###################################
#####################################
### macros
#####################################
### IP addresses
ext_ip = "10.10.100.2" # external address
int_ip = "192.168.150.253" # internal address
dmz_ip = "172.16.200.1" # DMZ address
lab_ip = "172.16.100.1" # lab address
### servers
web_server = "172.16.200.2" # webserver
### physical interfaces
int_int = "hme0" # internal interface
ids_int = "hme1" # IDS sensor interface
svr_int = "hme2" # server interfaces
lab_int = "hme3" # router lab interface
ext_int = "hme4" # external interface
all_int = "{ hme0, hme1, hme2, hme3, hme4}" # all interfaces
### networks
OUTSIDE = "10.10.100.0/30" # External LAN
SOL = "192.168.150.240/28" # Internal LAN
DMZ = "172.16.200.0/30" # DMZ LAN
LAB = "172.16.100.0/29" # LAB LAN
### hosts
venus = "192.168.150.242" # Hosts
saturn = "192.168.150.243" #
mercury = "192.168.150.249" #
uranus = "192.168.150.253" #
hosts = "{" venus saturn mercury uranus "}"
### Services
www = "{ 80, 443}" # http/https
### Private addresses
spoof_ips= "{ 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8 }" # private addresses
##################################################################
### Options: tune the behavior of pf
##################################################################
### Sets the interface for which PF should gather statistics such as bytes in/out and packets passed/blocked
### Optimize PF for one of the following network environments
### packet is silently dropped
### set require-order yes
set loginterface hme4
set optimization normal
set block-policy drop
set fingerprints "/etc/pf.os"
##########################
Packet Filtering Table
##########################
### rule format
### action direction [log] [quick] on int [af] [proto protocol] from src_addr [port src_port] to dst_addr [port dst_port] [tcp_flags] [state]
### Clean up fragmented packets and abnormal packets
scrub in all fragment reassemble
### nat: packets going out through $ext_int with source address $hosts will
### get translated as coming from the address of $ext_int, a state is created for
### such packets, and incoming packets will be redirected to the internal address.
nat on $ext_int from $hosts to any -> $ext_ip
### default deny policy
block all log
### activate spoofing protection for the internal interface
antispoof for $int_int inet
### pass traffic on the loopback interface in either direction
pass out on lo0 from $all_int to any modulate state
### pass tcp, udp, and icmp out on the external (Internet) interface. keep state on udp and icmp and modulate state on tcp.
pass in on $int_int from $hosts proto tcp to any modulate state
pass in on $int_int from $hosts proto { udp, icmp } to any keep state
### webserver access
pass in on $dmz_int proto tcp from $ext_ip to $web_server port $www keep state
### lab access
pass in on $lab_int proto tcp from $ext_ip to $LAB port telnet keep state
### allow ssh connections in on the external interface as long as they're NOT destined for the firewall (ie, they're
### destined for a machine on the local network). log the initial packet so that we can later tell who is trying to connect.
pass in log on $ext_int proto tcp from any to { !$ext_int, !$int_int } port ssh flags S/SA keep state