diff --git a/firewall/firewall-add b/firewall/firewall-add index 9b64363..743b4f1 100755 --- a/firewall/firewall-add +++ b/firewall/firewall-add @@ -31,11 +31,22 @@ EXTRA_OPTIONS="$2 $3 $4" if [[ -z "$TYPE" ]]; then TYPE="tcp" fi; + if [[ -z "$SOURCE_IP" ]]; then - SOURCE_IP="0.0.0.0/0" + SOURCE_IP="0.0.0.0/0"; + +elif [[ "$(echo $SOURCE_IP | cut -d . -f4)" == "0" ]] ; then + SOURCE_IP="$SOURCE_IP/24"; + debug "source ip is $SOURCE_IP" + fi; + if [[ -z "$TARGET_IP" ]]; then - TARGET_IP="0.0.0.0/0" + TARGET_IP="0.0.0.0/0"; + +elif [[ "$(echo $TARGET_IP | cut -d . -f4)" == "0" ]] ; then + TARGET_IP="$TARGET_IP/24"; + debug "target ip is $TARGET_IP" fi; ############################## @@ -49,7 +60,7 @@ IPTABLES=/sbin/iptables-legacy ############################### prerouting() { - LINES=$($IPTABLES --line-number -n | grep $COMMENT | grep DNAT |awk '{print $1}'| tac) + LINES=$($IPTABLES -L --line-number -n | grep $COMMENT | grep DNAT |awk '{print $1}'| tac) debug "Previous prerouting lines: "$LINES # DELETE UNECESSARY LINES FROM PREVIOUS RULES if [ -n "$LINES" ] ; then @@ -65,7 +76,7 @@ prerouting() { } postrouting() { - LINES=$($IPTABLES --line-number -n | grep $COMMENT | grep MASQUERADE | awk '{print $1}'| tac) + LINES=$($IPTABLES -L --line-number -n | grep $COMMENT | grep MASQUERADE | awk '{print $1}'| tac) debug "Previous postrouting lines: "$LINES # DELETE UNECESSARY LINES FROM PREVIOUS RULES