diff --git a/package/base/iptables/rocknet_iptables.sh b/package/base/iptables/rocknet_iptables.sh index 23035adce..9e73e1355 100644 --- a/package/base/iptables/rocknet_iptables.sh +++ b/package/base/iptables/rocknet_iptables.sh @@ -21,8 +21,16 @@ iptables_parse_conditions() { shift ;; tcp|udp) - iptables_cond="$iptables_cond -p $1 --dport $2" - shift; shift + case "$2" in + from) + iptables_cond="$iptables_cond -p $1 --sport $3" + shift; shift; shift; + ;; + *) + iptables_cond="$iptables_cond -p $1 --dport $2" + shift; shift + ;; + esac ;; icmp) iptables_cond="$iptables_cond -p icmp --icmp-type $2"