在 OpenWrt LuCi 中创建规则,从命令行应用已保存的 iptables 规则

在 OpenWrt LuCi 中创建规则,从命令行应用已保存的 iptables 规则

在 OpenWrt LuCi 网络界面中,可以创建规则但将其禁用。

在此处输入图片描述

我有一条规则,用于将公共网络流量转发到我的私有网络的其中一台主机,但我通常将其禁用。当我想启用它时,我会登录 LuCi 网络界面并单击启用按钮。

我可以 SSH 到我的 OpenWrt 设备。是否可以从命令行启用这些已保存的规则?例如,使用 iptables 命令?我没有看到列出的已禁用规则

iptables -L -t NAT

答案1

在防火墙配置中添加新的重定向部分

它将是重定向部分列表中的最新部分
uci add firewall redirect- 这将返回您的新部分名称,例如 - cfgca3837
然后您应该使用该新部分名称来设置其属性:

uci set firewall.cfgca3837.name='ssh to lan'
uci set firewall.cfgca3837.target=DNAT
uci set firewall.cfgca3837.src=wan
uci set firewall.cfgca3837.dest=lan
uci set firewall.cfgca3837.proto=tcp
uci set firewall.cfgca3837.dest_ip=192.168.0.110
uci set firewall.cfgca3837.src_dport=2222
uci set firewall.cfgca3837.dest_port=22

提交对防火墙配置的更改

uci commit firewall

恢复防火墙配置更改

uci revert firewall

启用重定向的第 2 部分

uci set firewall.@redirect[2].enabled=1

禁用重定向的第 2 部分

uci set firewall.@redirect[2].enabled=0

重新排序部分但它在 CLI 中运行不佳

uci reorder firewall.cfgca3837=2

显示你的新配置部分

uci show firewall.cfgca3837

显示防火墙配置中的待处理更改

uci changes firewall

显示防火墙配置中的重定向第 2 部分

uci show firewall.@redirect[2]

显示所有防火墙配置

uci show firewall

重新加载防火墙规则,它不会重新加载自定义规则(/etc/firewall.user)

fw3 reload

答案2

当规则被禁用时,OPENWRT 会在防火墙配置中添加一行:选项启用“0”您需要编辑 /etc/config/firewall 并将以下行添加到要禁用的规则中。然后必须重新启动防火墙。

相关内容