Предполагая, что вы делаете требуют маршрутизатора / брандмауэра (скажем, кабельный модем не обеспечивает один), у вас есть два способа сделать это:
Очевидный метод: превратить первую точку доступа в маршрутизатор.
[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 и т. Д.)
Другой метод: иметь отдельные подсети.
Я предполагаю, что настроил бы уникальные диапазоны адресов 192.168.1.X на серверах DHCP каждого из 3 маршрутизаторов.
Нет - вы бы создали уникальный 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
Недостаток: для этого требуется, чтобы у каждого маршрутизатора / точки доступа был свой SSID (без автоматического роуминга, потому что разные подсети), и не было разрешено обнаружение устройств в разных подсетях.
Недостаток: требует более сложной настройки NAT и брандмауэра. Вы должны сделать так, чтобы трафик к другим подсетям ЛВС проходил (передавался без какого-либо 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
Да, это указывает на то, что ЛВС всех трех маршрутизаторов подключены к единой сети Ethernet, хотя это важно не в цикле (если DDWRT не поддерживает RSTP, в этом случае происходит сбой). Соединение всех локальных сетей необходимо, если вам нужен общий SSID.
Да, все три маршрутизатора могут использовать DHCP. В этой ситуации диапазон адресов DHCP каждого маршрутизатора должен отличаться, хотя и от одной подсети (например, 192.168.1.101–192.168.1.125, 192.168.1.126-192.168.1.150 и т. Д.)
Преимущество: у вас есть одна подсеть - все три точки доступа могут использовать один и тот же SSID, роуминг работает, обнаружение устройств работает.
Недостаток: устранение неполадок может стать раздражающим. Переадресация портов будет адом .
(Тем не менее, это не сумасшедший метод. Это похоже на то, как крупные сети реализуют аварийное переключение маршрутизаторов: у них есть два маршрутизатора, совместно использующие одну и ту же сеть Ethernet, одну и ту же подсеть LAN, и совместно использующие IP-адрес с использованием протокола, такого как VRRP. Только один сервер DHCP а бассейн нужен тогда.)