summaryrefslogtreecommitdiff
path: root/plugins/firewalld
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/firewalld')
-rw-r--r--plugins/firewalld/firewalld.plugin.zsh17
-rw-r--r--plugins/firewalld/readme.md22
2 files changed, 39 insertions, 0 deletions
diff --git a/plugins/firewalld/firewalld.plugin.zsh b/plugins/firewalld/firewalld.plugin.zsh
new file mode 100644
index 000000000..bfbf6f48f
--- /dev/null
+++ b/plugins/firewalld/firewalld.plugin.zsh
@@ -0,0 +1,17 @@
+alias fw="sudo firewall-cmd"
+alias fwp="sudo firewall-cmd --permanent"
+alias fwr="sudo firewall-cmd --reload"
+alias fwrp="sudo firewall-cmd --runtime-to-permanent"
+
+function fwl () {
+ # converts output to zsh array ()
+ # @f flag split on new line
+ zones=("${(@f)$(sudo firewall-cmd --get-active-zones | grep -v interfaces)}")
+
+ for i in $zones; do
+ sudo firewall-cmd --zone $i --list-all
+ done
+
+ echo 'Direct Rules:'
+ sudo firewall-cmd --direct --get-all-rules
+}
diff --git a/plugins/firewalld/readme.md b/plugins/firewalld/readme.md
new file mode 100644
index 000000000..8b5bc74d4
--- /dev/null
+++ b/plugins/firewalld/readme.md
@@ -0,0 +1,22 @@
+# FirewallD Plugin
+
+This plugin adds some aliases and functions for FirewallD using the `firewalld-cmd` command. To use it, add firewalld to your plugins array.
+
+```zsh
+plugins=(... firewalld)
+```
+
+## Aliases
+
+| Alias | Command | Description |
+| :---- | :----------------------------------------- | :--------------------------- |
+| fw | `sudo firewall-cmd` | Shorthand |
+| fwr | `sudo firewall-cmd --reload` | Reload current configuration |
+| fwp | `sudo firewall-cmd --permanent` | Create permanent rule |
+| fwrp | `sudo firewall-cmd --runtime-to-permanent` | Save current configuration |
+
+## Functions
+
+| Function | Description |
+| :------- | :--------------------------------------------------------- |
+| fwl | Lists configuration from all active zones and direct rules |