aboutsummaryrefslogtreecommitdiffstats
path: root/roles/pf/templates/pf.conf.j2
diff options
context:
space:
mode:
authorRomain Gonçalves <me@rgoncalves.se>2021-12-11 18:50:33 +0000
committerRomain Gonçalves <me@rgoncalves.se>2021-12-11 18:50:33 +0000
commitde3373e97d133e0ac76fb44deb5dea27c18d8815 (patch)
tree5b63b301ff180ef837ca6fb6a676e31cb87d326c /roles/pf/templates/pf.conf.j2
parente60e99796111ee6d43080b4e48971c08886c0570 (diff)
downloadrules-de3373e97d133e0ac76fb44deb5dea27c18d8815.tar.gz
roles: Add pf and relayd roles for domain controller
Diffstat (limited to 'roles/pf/templates/pf.conf.j2')
-rw-r--r--roles/pf/templates/pf.conf.j224
1 files changed, 24 insertions, 0 deletions
diff --git a/roles/pf/templates/pf.conf.j2 b/roles/pf/templates/pf.conf.j2
new file mode 100644
index 0000000..6bc936a
--- /dev/null
+++ b/roles/pf/templates/pf.conf.j2
@@ -0,0 +1,24 @@
+# managed by Ansible
+{% import 'macros.j2' as macros with context %}
+
+# common configuration
+set block-policy drop
+set loginterface egress
+set skip on { lo wg0 }
+block all
+
+# force ssh if not present below
+pass in quick on egress proto tcp to port 22
+
+# host services
+{% for service in __services %}
+pass in quick on egress proto {{ service["protocol"] }} to port {{ service["port"] }}
+{% endfor %}
+
+# wireguard
+pass in on egress inet proto udp from any to any port 50000
+pass out quick on egress inet from (wg0:network) nat-to (egress:0)
+
+# output network
+pass out quick inet
+pass in proto { icmp, icmp6 } all
remember that computers suck.