如何在OpenWRT中隔离WLAN客户端?

如何在OpenWRT中隔离WLAN客户端?

我目前正在设置公共无线网络。我想阻止客户端之间互相通信。

这是我当前的设置。

使用 LuCi 进行图形化

/etc/config/firewall without anything related to lan:

config 'zone'
    option 'name' 'wan'
    option 'input' 'REJECT'
    option 'output' 'ACCEPT'
    option 'forward' 'REJECT'
    option 'masq' '1'
    option 'mtu_fix' '1'
    option 'network' 'wan'

config 'rule'
    option 'src' 'wan'
    option 'proto' 'udp'
    option 'dest_port' '68'
    option 'target' 'ACCEPT'
    option 'family' 'ipv4'

config 'rule'
    option 'src' 'wan'
    option 'proto' 'icmp'
    option 'icmp_type' 'echo-request'
    option 'target' 'ACCEPT'

config 'zone'
    option 'name' 'public'
    option 'network' 'public'
    option 'output' 'ACCEPT'
    option 'input' 'REJECT'
    option 'forward' 'DROP'

config 'forwarding'
    option 'dest' 'wan'
    option 'src' 'public'

config 'rule'
    option 'target' 'ACCEPT'
    option 'src' 'public'
    option 'proto' 'tcpudp'
    option 'dest_port' '53'
    option '_name' 'public dns'

config 'rule'
    option 'target' 'ACCEPT'
    option '_name' 'public dhcp'
    option 'src' 'public'
    option 'proto' 'udp'
    option 'src_port' '67-68'
    option 'dest_port' '67-68'

客户端仍然能够相互通信。这是为什么?我该怎么做?

答案1

Luci 并不总是提供所有设置。如果可用,isolate它将作为无线接口提供Additional field。添加字段并选中复选框。但是,当我阅读脚本时,默认是启用隔离。

如果没有,您将需要编辑/etc/config/wireless并添加option isolate 1到该wifi-iface部分。该目录/lib/wireless作为无线启动脚本,您可以在其中找到支持的选项。

防火墙可能是一个问题,因为您可能允许交换机上的所有 IP 之间的路由。您应该修改这些规则以限制可访问的地址。请允许连接到路由器本身,但您可能不想允许访问任何其他地址。

答案2

据我所知,OpenWRT 本身支持 AP 隔离。NVRAM 设置wl0_ap_isolatewl_ap_isolate可以通过将其设置为 来启用1。但是,快速的 Google 搜索确实显示,许多人会根据固件版本遇到不一致的结果。我无法解释这一点,因为我自己从未尝试过。

至于为什么您的客户端可以相互通信,局域网之间的流量可能不会遇到防火墙。

相关内容