machine_setup/ansible/roles/firewall/files/odofreebsd_pf.conf

48 lines
1.6 KiB
Plaintext
Raw Normal View History

ext_if = "{ wlan0 }"
not_ext_if = "{ !wlan0 }"
jail_nat_v4 = "{ 10.215.1.0/24 }"
not_jail_nat_v4 = "{ any, !10.215.1.0/24 }"
2024-07-05 01:08:52 +00:00
rfc1918 = "{ 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 }"
2022-10-15 04:54:11 +00:00
dhcp = "{ bootpc, bootps }"
2024-07-05 01:08:52 +00:00
allow = "{ wgf wgh drmario colo }"
2022-10-15 04:54:11 +00:00
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
2024-07-04 22:59:10 +00:00
nat pass on $ext_if inet from $jail_nat_v4 to $not_jail_nat_v4 -> (wlan0)
rdr pass on $not_ext_if proto {tcp, udp} from any to 10.215.1.1 port 53 -> 172.16.0.1 port 53
2022-10-30 00:36:13 +00:00
# Redirect jaeger ports to virtual machine.
# nat pass on lo inet from 127.0.0.0/24 to 127.0.0.0/24 port {6831 6832 16686 14268} -> (jail_nat)
# rdr pass proto {tcp, udp} from jail_nat:network to 127.0.0.0/24 port {6831 6832 16686 14268} -> 10.215.1.201
2022-10-15 04:54:11 +00:00
# filtering
block log all
pass out on $ext_if
2024-07-04 22:59:10 +00:00
pass in on jail_nat
2024-07-13 01:44:43 +00:00
# match in on jail_nat from any to any dnpipe 1
# match in on jail_nat from any to $rfc1918 dnpipe 2
# Allow traffic from my machine to the jails/virtual machines
2024-07-04 22:59:10 +00:00
pass out on jail_nat from $jail_nat_v4
2022-10-15 04:54:11 +00:00
# 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). Also skipped interfaces are not subject to nat/rdr rules.
2024-07-05 01:08:52 +00:00
pass quick on $allow
2022-10-15 04:54:11 +00:00
pass on $ext_if proto icmp all
pass on $ext_if proto icmp6 all
2024-01-21 20:58:18 +00:00
#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