我的程序之前已经制定了重定向规则..

uci add firewall redirect
uci set firewall.@redirect[-1].dest='lan'
uci set firewall.@redirect[-1].target='DNAT'
uci set firewall.@redirect[-1].name='transmission'
uci set firewall.@redirect[-1].src='wan'
uci set firewall.@redirect[-1].src_dport='"$port"'
uci set firewall.@redirect[-1].dest_ip='192.168.1.5'
uci set firewall.@redirect[-1].dest_port='"$port"'
uci commit firewall
service firewall restart

我需要定期以编程方式更新此规则,但我不知道句柄在哪里。我不能确定这是否是添加的最后一个 [-1] 规则。当然,在创建规则时我可以创建一个句柄吗?唯一一致的信息是我给规则起的名字,但它似乎不像句柄。

3

  • 什么防火墙?什么操作系统?等等。请添加更多详细信息。


    – 

  • OpenWrt,它在标签中


    – 


  • 添加标签并不能成为一个好问题。您应该在问题正文中包含此类详细信息。如果您不喜欢这个网站,那么就不要使用它。


    – 


最佳答案
1

因此,您可以在创建规则后立即赋予其适当的名称,就像这样..

uci add firewall redirect
uci rename firewall.@redirect[-1]=myportforward

然后uci commit firewall,您就可以使用该句柄进行操作。

例子..

uci del firewall.myportforward

或者

uci set firewall.myportforward.src='wan'