我不知道如何创建一条 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'