“简单”的方法是在您的 OpenBSD 路由器中添加一个额外的 NIC 和第二个 AP,这可能是 50 美元的支出。但是,如果您不想花任何钱,或者这样做更多是为了学习,那么...
DD-WRT 支持 VLAN(虚拟 LAN)和 VWLAN(虚拟无线 LAN),并且可以在不同的 VLAN 上具有单独的 DHCP。要在 V(W)LAN 上设置 DHCP,并为 VLAN 和 WAN 之间(或不同 VLAN 之间)允许的流量设置 ipfilter 规则,您需要使用“启动命令”而不是通过管理 WebUI 完成所有操作. 参见例如http://www.dd-wrt.com/wiki/index.php/Multiple_WLANs,http://www.dd-wrt.com/wiki/index.php/VLAN_Support 。 _
DD-WRT 还支持 802.1q VLAN 中继,它允许来自多个 VLAN 的流量共享一个以太网端口/电缆/NIC——尽管对此的支持取决于特定的芯片组/板/设备:请参阅上一个链接。OpenWRT 将具有类似的功能。当然,大多数消费者/SOHO 路由器不会在其库存固件中公开此类功能。
我假设您想保留 OpenBSD 作为您的网关路由器。我不知道 OpenBSD,但它几乎可以肯定支持 VLAN 和 802.1q VLAN 中继。因此,您可以在您的 AP/无线网桥上使用 DD-WRT/OpenWRT 并为“访客”wifi 设置 VWLAN,桥接到相应的 VLAN,加上正常的 WLAN 桥接到正常的 VLAN,在“ LAN/WAN”端口(位于两个 VLAN 中)将 AP 连接到 OpenBSD 路由器。使用相同的 VLAN/标签配置 OpenBSD 并根据需要设置 pf 规则。
每个 VLAN 将位于不同的子网中(例如 192.168.1.0/24 和 192.168.2.0/24),但每个 VLAN 将仅单 NAT 到 WAN。您需要在每个 VLAN 的子网上设置 DHCP,大概是在 OpenBSD 上(或者您可以使用 AP 为“访客”子网提供 DHCP,我猜)。
只是一个 SMoC(简单的配置问题)......
无论使用哪种解决方案,您都需要一些 QoS/节流,可能在您的 OpenBSD 机器上。(您可以对 DD-WRT WAP 进行限制——DD-WRT 具有一些 QoS 功能——但它不知道内部网络上的有线流量,因此它可能会在 QoS/流量优先级范围内受到限制执行。)