假设您确实需要路由器/防火墙(假设电缆调制解调器不提供防火墙/防火墙),则有两种方法可以做到这一点:
显而易见的方法:将第一个接入点变成路由器。
[Cable Modem]
192.168.0.1
│
└─[Wireless Access Point #1 & Router & Firewall]
192.168.1.1/24
│
├── Wireless Access Point #2 - 192.168.1.2/24
└── Wireless Access Point #3 - 192.168.1.3/24
接入点#2和#3将保持桥接模式。
优势:这使您可以在所有访问点上使用一个子网(允许自动发现设备,例如Chromecasts&c。)
另一种方法:有单独的子网。
我假设我将在3个路由器的每一个的DHCP服务器中设置唯一的192.168.1.X地址范围。
不,您将设置唯一的192.168。每个路由器中的X .0地址范围。
[Cable Modem]
192.168.0.1/24
│
├── WAN 192.168.0.2 - Wireless Router #1 - LAN 192.168.2.1/24
├── WAN 192.168.0.3 - Wireless Router #2 - LAN 192.168.3.1/24
└── WAN 192.168.0.4 - Wireless Router #3 - LAN 192.168.4.1/24
通常,每个路由器都应具有自己的子网。这使每个路由器都具有通往其余子网的路由。例如,路由器#1可能有一个路由表:
DESTINATION GATEWAY INTERFACE
192.168.2.0/24 - lan
192.168.3.0/24 192.168.0.3 wan
192.168.4.0/24 192.168.0.4 wan
缺点:这要求每个路由器/ AP具有不同的SSID(由于子网不同,因此无法自动漫游),并且不允许跨不同子网发现设备。
缺点:需要更复杂的NAT和防火墙配置。您应该使到其他LAN子网的流量“通过”(无需任何NAT即可转发)。同样,每个路由器中的过滤规则必须接受来自其他路由器子网的传入数据包。
这是一个大致的iptables示例:
-t filter
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.2.0/24 -j ACCEPT
-A FORWARD -s 192.168.3.0/24 -j ACCEPT
-A FORWARD -s 192.168.4.0/24 -j ACCEPT
-A FORWARD -j REJECT
-t nat
-A PREROUTING -d 192.168.2.0/24 -j ACCEPT
-A PREROUTING -d 192.168.3.0/24 -j ACCEPT
-A PREROUTING -d 192.168.4.0/24 -j ACCEPT
-A PREROUTING -o <wan> -j MASQUERADE (or SNAT or whatever)
还有另一种方法:拥有一个子网和三台DHCP服务器。
您可能可以摆脱这种情况:
[Cable Modem]
192.168.0.1/24
│
├── WAN 192.168.0.2 - Wireless Router #1 - LAN 192.168.1.1/24
│ │
├── WAN 192.168.0.3 - Wireless Router #2 - LAN 192.168.1.2/24
│ │
└── WAN 192.168.0.4 - Wireless Router #3 - LAN 192.168.1.3/24
是的,这表明所有三个路由器的LAN连接在一起形成一个单一的以太网–尽管重要的是不在一个环路中(除非DDWRT支持RSTP,在这种情况下会变得疯狂)。如果需要通用的SSID,则需要所有LAN的互连。
是的,所有三个路由器都可以进行DHCP。在这种情况下,尽管来自同一子网,但每个路由器的DHCP地址范围也应不同(例如192.168.1.101–192.168.1.125、192.168.1.126-192.168.1.150等)。
优势:您只有一个子网–所有三个AP可以共享相同的SSID,漫游工作,设备发现工作。
缺点:进行故障排除可能会很烦人。港口转船将是地狱。
(也就是说,这不是一种疯狂的方法。它类似于大型网络实现路由器故障转移的方式:它们有两个路由器共享相同的以太网,相同的LAN子网,并使用诸如VRRP的协议共享IP地址。只有一个DHCP服务器然后需要池。)