![OpenWRT 与 VLAN:NAT 无法与单个防火墙规则配合使用](https://linux22.com/image/561059/OpenWRT%20%E4%B8%8E%20VLAN%EF%BC%9ANAT%20%E6%97%A0%E6%B3%95%E4%B8%8E%E5%8D%95%E4%B8%AA%E9%98%B2%E7%81%AB%E5%A2%99%E8%A7%84%E5%88%99%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8.png)
我的 OpenWrt Backfire 10.03 上配置了不同的 VLAN,k2
属于fwz2
其中一个。在此测试环境中,WAN
DHCP 的 IP 为:192.168.1.1:
config 'interface' 'wan'
option 'ifname' 'eth0.1'
option 'proto' 'dhcp'
option 'defaultroute' '0'
option 'peerdns' '0'
config 'interface' 'k2'
option 'proto' 'static'
option 'ifname' 'eth0.3'
option 'netmask' '255.255.255.0'
option 'defaultroute' '0'
option 'peerdns' '0'
option 'ipaddr' '192.168.172.1'
config 'zone'
option 'name' 'wan'
option 'input' 'REJECT'
option 'output' 'ACCEPT'
option 'forward' 'REJECT'
option 'masq' '1'
如果在防火墙设置中配置了 VLAN,例如
config 'forwarding' #FWD-RULE#
option 'src' 'fwz2'
option 'dest' 'wan'
NAT 工作正常,但我只想允许选定的端口(例如 ICMP):
config 'rule' #ICMP-RULE#
option 'target' 'ACCEPT'
option '_name' 'fwz2-ICMP'
option 'src' 'fwz2'
option 'dest' 'wan'
option 'proto' 'icmp'
我想到了一个类似的设置,我删除#FWD-RULE#
并添加了#ICMP-RULE#
它并且它可以工作,但是如果我在这里执行此操作,NAT 将不再工作并在 WAN 接口上给我数据包IP 192.168.172.100 > 213.165.64.75: ICMP echo request
,如果 NAT 可以工作,则 src.addr192.168.172.100
应该转换为 WAN 地址。