aboutsummaryrefslogtreecommitdiff
path: root/scripts/firewall.sh
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2021-04-11 14:06:59 +0530
committerAkshay Nair <phenax5@gmail.com>2021-04-11 14:06:59 +0530
commit32238d63e5f9540d2cd4016df64a3939dbc2cd8e (patch)
tree2254cd05b27aa3f64fdf085ed1919ed3320b61cb /scripts/firewall.sh
parent460484c51abd35388be154b65450227153474ba8 (diff)
downloadnixos-config-32238d63e5f9540d2cd4016df64a3939dbc2cd8e.tar.gz
nixos-config-32238d63e5f9540d2cd4016df64a3939dbc2cd8e.zip
firewall control script
Diffstat (limited to 'scripts/firewall.sh')
-rwxr-xr-xscripts/firewall.sh25
1 files changed, 25 insertions, 0 deletions
diff --git a/scripts/firewall.sh b/scripts/firewall.sh
new file mode 100755
index 0000000..0669e7f
--- /dev/null
+++ b/scripts/firewall.sh
@@ -0,0 +1,25 @@
+#!/usr/bin/env bash
+
+allow_proto_port() {
+ sudo iptables -I INPUT -p $1 --dport $2 -j ACCEPT;
+ sudo ip6tables -I INPUT -p $1 --dport $2 -j ACCEPT;
+}
+
+allow_port() {
+ [[ $# != 1 ]] && echo "Invalid command: firewall allow <port>" && exit 1;
+ allow_proto_port tcp $1;
+ allow_proto_port udp $1;
+}
+
+restore_table() {
+ sudo iptables-restore < ~/dump/iptables-backup;
+}
+
+cmd="$1"; shift;
+
+case "$cmd" in
+ allow) allow_port "$@" ;;
+ restore) restore_table ;;
+ *) echo "Invalid command" && exit 1 ;;
+esac;
+