我使用 WRT160NL 作为中继桥。它扩展了我的无线信号,所有客户端都在同一子网中,从主路由器获得 DHCP 租约,主路由器也连接到互联网。参考图片来自DD-WRT 维基:
辅助站点的物理接口ath0
连接到主 wifi,虚拟接口ath0.1
具有相同的 SSID 并为客户端提供服务,运行良好。
问题:
我还喜欢在自己的子网上使用访客 wifi。一个使用主路由器作为网关的独立网络。所以我添加了另一个虚拟接口ath0.2
。这里还有一个我遵循的指南:多个 WLAN。
由于 DD-WRT 处于“客户端桥接”模式,因此您无法为虚拟接口配置 DHCP 服务器。因此,我使用链接中描述的“命令方法”。如果我连接到ath0.2
它,它似乎可以工作,客户端会从新的 IP 范围中获取 IP。不幸的是,客户端无法访问互联网。似乎网关 IPath0.2
未正确路由/桥接。IP 范围与主网络不同。我创建了一个新的桥接br1
并将其添加到来宾网络。我还尝试了不同的网关作为 DHCP 选项(来自主路由器的地址、dd-wrt 的地址、虚拟接口本身的地址),但无济于事。
当 DD-WRT 同时处于中继桥模式时,是否有可能让其在虚拟接口上充当 DHCP 服务器?感谢您对此的想法!
编辑:
地址范围:
主路由器 192.168.178.1/24
次要 192.168.178.2/24
我ath0.2
配置的是 192.168.179.2/24
客户端获取正确的地址和网关配置域名系统。
编辑2:添加了以下iptables规则:
# Allow br1 access to br0, the WAN, and any other subnets
iptables -I FORWARD -i br1 -m state --state NEW -j ACCEPT
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
#Enable NAT for traffic being routed out br0 so that br1 has connectivity (for WAP's - WAN port disabled)
iptables -t nat -I POSTROUTING -o br0 -j SNAT --to `nvram get lan_ipaddr`
# Allow br1 to access DHCP & DNS on the router
iptables -I INPUT -i br1 -p udp --dport 67 -j ACCEPT
iptables -I INPUT -i br1 -p udp --dport 53 -j ACCEPT
iptables -I INPUT -i br1 -p tcp --dport 53 -j ACCEPT
然后我测试了 192.168.179.2 和 192.168.178.2 作为网关的连通性。仍然无法访问互联网。
路由表:
Destination LAN NET Subnet Mask Gateway Flags Metric Interface
169.254.0.0 255.255.0.0 * U 0 LAN & WLAN
192.168.178.0 255.255.255.0 * U 0 LAN & WLAN
192.168.179.0 255.255.255.0 * U 0 br1
嗯,当连接到 ath0.2 的网络时,192.168.179.2 甚至无法 ping 通。