diff --git a/firewall/firewall-add b/firewall/firewall-add index d82c296..021baac 100755 --- a/firewall/firewall-add +++ b/firewall/firewall-add @@ -244,6 +244,11 @@ fi prerouting() { + if [ "$SOURCE_IP" != "" ]; then + if [ "$SOURCE_PORT" != "" ]; then + if [ "$TARGET_IP" != "" ]; then + if [ "$TARGET_PORT" != "" ]; then + LINES=$($IPTABLES -w -L --line-number -n | grep DNAT | grep $SOURCE_PORT |grep $TARGET_IP |grep $TARGET_PORT |grep $COMMENT | awk '{print $1}'| tac) debug "Previous prerouting lines: "$LINES # DELETE UNECESSARY LINES FROM PREVIOUS RULES @@ -257,6 +262,10 @@ prerouting() { debug "$IPTABLES -I PREROUTING -d $SOURCE_IP -p $PROTOCOL --dport $SOURCE_PORT -m comment --comment $COMMENT -j DNAT --to $TARGET_IP:$TARGET_PORT" $IPTABLES -w -I PREROUTING -d $SOURCE_IP -p $PROTOCOL --dport $SOURCE_PORT -m comment --comment "$COMMENT" -j DNAT --to $TARGET_IP:$TARGET_PORT + fi + fi + fi + fi } postrouting() {