diff --git a/src/freedombone-utils-firewall b/src/freedombone-utils-firewall
index d9519d3ff1d3f3d7d88d4290acd0853ad6d03290..6313dc39f1856f634ccd7644a45ad7ea073f1fdf 100755
--- a/src/freedombone-utils-firewall
+++ b/src/freedombone-utils-firewall
@@ -239,6 +239,30 @@ function firewall_add {
     fi
 }
 
+function firewall_add_range {
+    firewall_name=$(echo "$1" | sed "s| |-|g")
+    firewall_port_start=$2
+    firewall_port_end=$3
+    firewall_protocol="$4"
+
+    if ! grep -q "${firewall_name}=${firewall_port_start}:${firewall_port_end}" $FIREWALL_CONFIG; then
+        echo "${firewall_name}=${firewall_port_start}:${firewall_port_end}" >> $FIREWALL_CONFIG
+        if [ ! ${firewall_protocol} ]; then
+            iptables -A INPUT -p udp --dport ${firewall_port_start}:${firewall_port_end} -j ACCEPT
+            iptables -A INPUT -p tcp --dport ${firewall_port_start}:${firewall_port_end} -j ACCEPT
+        else
+            if [[ "${firewall_protocol}" == *"udp"* ]]; then
+                iptables -A INPUT -p udp --dport ${firewall_port_start}:${firewall_port_end} -j ACCEPT
+            fi
+            if [[ "${firewall_protocol}" == *"tcp"* ]]; then
+                iptables -A INPUT -p tcp --dport ${firewall_port_start}:${firewall_port_end} -j ACCEPT
+            fi
+        fi
+        save_firewall_settings
+    fi
+}
+
+
 function firewall_remove {
     firewall_port=$1
     firewall_protocol="$2"