使用 OpenWrt fw3 防火墙阻止转发流量

使用 OpenWrt fw3 防火墙阻止转发流量

我不知道如何创建一条 fw3 规则来执行我想要的操作(阻止来自 192.168.1.119 的所有流量)。我有这个/etc/config/firewall

config rule                                 
        option name 'Block client egress'
        option src 'lan'                   
        option src_ip '192.168.1.119'
        option dest 'vpn'
        option proto 'all'    
        option target 'REJECT'

但这实际上转化为

iptables -A zone_lan_forward -s 192.168.1.119/32 -j zone_vpn_dest_REJECT

而“vpn”只是所有 WAN 流量转发到的企业 VPN 的名称。这不起作用(连接通过并且不会被拒绝),所以我想要一个可以执行此操作的 fw3 规则(确实有效):

iptables -I FORWARD -s 192.168.1.119/32 -j REJECT

我该如何设置一条 fw3 规则来实现这样的效果?

顺便说一下,以下是我认为导致问题的链(因为我需要的是简单的 FORWARD 和 REJECT):

root@OpenWrt:~# iptables -S zone_lan_forward
-N zone_lan_forward
-A zone_lan_forward -m comment --comment "!fw3: Custom lan forwarding rule chain" -j forwarding_lan_rule
-A zone_lan_forward -m comment --comment "!fw3: Zone lan to vpn forwarding policy" -j zone_vpn_dest_ACCEPT
-A zone_lan_forward -m conntrack --ctstate DNAT -m comment --comment "!fw3: Accept port forwards" -j ACCEPT
-A zone_lan_forward -m comment --comment "!fw3" -j zone_lan_dest_ACCEPT
root@OpenWrt:~# iptables -S zone_vpn_dest_REJECT
-N zone_vpn_dest_REJECT
-A zone_vpn_dest_REJECT -o tun0 -m comment --comment "!fw3" -j reject
root@OpenWrt:~# iptables -S reject
-N reject
-A reject -p tcp -m comment --comment "!fw3" -j REJECT --reject-with tcp-reset
-A reject -m comment --comment "!fw3" -j REJECT --reject-with icmp-port-unreachable

这不起作用:

config zone
        option name 'deny'
        option subnet '0.0.0.0/0'
        option input 'REJECT'
        option output 'REJECT'
        option forward 'REJECT'

config zone
        option name 'lan'
        list network 'lan'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'

config rule
        option name 'Block client egress'
        option src 'lan'
        option src_mac 'MAC ADDR HERE'
        option dest 'deny'
        option proto 'all'
        option target 'REJECT'

相关内容