machine_setup/ansible/roles/firewall/files/homeserver_pf.conf
Tom Alexander 6bdbbfa2ac
Create a firewall role that installs a pf.conf on FreeBSD.
Does not yet configure pflog nor does it do anything on Linux.
2022-10-12 21:23:40 -04:00

34 lines
860 B
Plaintext

ext_if = "{ igb0 igb1 ix0 ix1 wlan0 }"
dhcp = "{ bootpc, bootps }"
# allow = "{ }"
tcp_pass_in = "{ 22 }"
udp_pass_in = "{ 53 51820 }"
# Rules must be in order: options, normalization, queueing, translation, filtering
# options
set skip on lo
# redirections
# filtering
block log all
pass out on $ext_if
# We pass on the interfaces listed in allow rather than skipping on
# them because changes to pass rules will update when running a
# `service pf reload` but interfaces that we `skip` will not update (I
# forget if its from adding, removing, or both. TODO: test to figure
# it out)
# pass quick on $allow
pass on $ext_if proto icmp all
pass on $ext_if proto icmp6 all
pass in on $ext_if proto tcp to any port $tcp_pass_in
pass in on $ext_if proto udp to any port $udp_pass_in
pass quick on $ext_if proto udp from any port $dhcp to any port $dhcp