summaryrefslogtreecommitdiff
path: root/roles/network
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2022-06-15 19:35:36 +0200
committerChristian Pointner <equinox@spreadspace.org>2022-06-15 19:35:36 +0200
commit8e5c279f7cecf29589835e74602155b9afc430d8 (patch)
treec55e219fa44c220a29a4ef55ddc10c5f37456675 /roles/network
parentupdate apt-repo gpg key for tor-project (diff)
add simple handling for nftable rulesets in base role
Diffstat (limited to 'roles/network')
-rw-r--r--roles/network/nftables/base/defaults/main.yml11
-rw-r--r--roles/network/nftables/base/tasks/main.yml12
2 files changed, 23 insertions, 0 deletions
diff --git a/roles/network/nftables/base/defaults/main.yml b/roles/network/nftables/base/defaults/main.yml
new file mode 100644
index 00000000..95ec9073
--- /dev/null
+++ b/roles/network/nftables/base/defaults/main.yml
@@ -0,0 +1,11 @@
+---
+nftables_base_rules: {}
+
+# nftables_base_rules:
+# example: |
+# table inet global {
+# chain input {
+# type filter hook input priority filter; policy drop;
+# ct state vmap { established: accept, related: accept, invalid: drop }
+# }
+# }
diff --git a/roles/network/nftables/base/tasks/main.yml b/roles/network/nftables/base/tasks/main.yml
index 46c7d0b5..3f268681 100644
--- a/roles/network/nftables/base/tasks/main.yml
+++ b/roles/network/nftables/base/tasks/main.yml
@@ -8,6 +8,18 @@
path: /etc/nftables.d
state: directory
+- name: generate rules files
+ loop: "{{ nftables_base_rules | dict2items }}"
+ loop_control:
+ label: "{{ item.key }}"
+ copy:
+ content: |
+ # Ansible managed
+
+ {{ item.value }}
+ dest: "/etc/nftables.d/{{ item.key }}.nft"
+ notify: reload nftables
+
- name: generate base nft script
copy:
content: |