訪客 Wifi 存取點無法存取父親網絡

訪客 Wifi 存取點無法存取父親網絡

我正在嘗試為現有網絡設計一個訪客 wifi 網絡,但當接入點包含在父網絡中時,我不確定如何保護訪客 wifi 接入點免受父網絡的影響。

我嘗試過搜尋這個,但我只是從消費性硬體中得到結果,上面寫著“單擊此配置”,並且通常假設主路由器也是 wifi 接入點本身,這使得邏輯隔離變得更加容易。

              +----------+
              | Internet |
              +----+-----+
                   |
                   |
           +-------+------+
           | Linux Router |   10.0.0.0/24
+----------+              +--------------+
|          |   10.0.0.1   |              |
|          +-------+------+              |
|         Device A - 10.0.0.5            |
|                                        |
| Linux Guest Wifi Router - 10.0.0.200   |
|       +                                |
|       |                                |
+----------------------------------------+
        |
        |
        |   Guest Subnet 10.0.1.0/24
   +----+--------------------------+
   |                               |
   |  Guest Device X - 10.0.1.5    |
   |                               |
   +-------------------------------+

主路由器是一個雙網卡(ext/int)linux 盒子(帶有 iptables 的 Debian 7),僅此而已。訪客 wifi 接入點將是我訂購的銼刀 PI,並且我假設必要的配置將包含在訪客 wifi 盒中。

但我不確定如何在 PI 上配置 iptables(nftables?) 以確保父網路無法訪問,除非路由到互聯網。

  • 「訪客設備 X」如何到達主路由器閘道器 (10.0.0.1),同時被拒絕存取設備 A (10.0.0.5)。
  • 我如何知道主路由器不會將對 10.0.0.5 的任何請求發送回 10.0.0.0/24 子網路?我需要在主路由器上設定 iptables 才能與 wifi 路由器協同工作嗎?

10.0.1.5 的預期結果:

  • $ ping 10.0.0.5 - 目的地無法到達/沒有到主機的路由等。
  • $ ping 8.8.8.8 - 好的
  • $ ping 10.0.0.1 - (假設沒問題?)
  • $ ping 10.0.0.200 - 未知?

以下討論替代的潛在解決方案:

這將使事情看起來像這樣:

Internet
  |
Linux Router
(eth1 10.0.0.1) (eth1:1 10.0.1.1)
  |                  |
Reg Network        Guest Wifi Router (10.0.1.2)
    (DHCP)           |
                   Guest Device (10.0.?.?)

所以目前我不確定一些事情

  1. 如何設定主路由器的路由表以阻止從 10.0.1.1 到 10.0.0.0/24 子網路的流量?還是這是主路由器上的 iptables 規則?我不確定我是否看到這與 10.0.0.0/24 上的訪客 wifi 路由器有何不同,因為主路由器仍然能夠路由到該網路上的其他設備? )
  2. 我假設訪客 wifi 路由器需要為訪客設備提供 DHCP 伺服器。但是,訪客設備會使用 10.0.1.1 作為網關的 10.0.1.0/24 子網,還是會為訪客設備設定另一個子網路 10.0.2.0/24?

答案1

回顧一下情況,以驗證我是否理解正確:

訪客 AP 作為專用 LAN 或 WLAN 的一部分連接到主路由器。最重要的是,您需要一個與專用網路分開的訪客網絡,但必須使用專用網路來存取主路由器。

可能的解決方案的簡要概述:

使其安全工作的唯一方法是讓主路由器意識到有兩個網絡,並用iptables規則將它們正確分開。因此,您希望主路由器看到兩個網路接口,一個用於專用網段,其接口為 10.0.0.0/24,另一個網路接口為訪客網段,其接口為 10.0.0.1/24。鑑於評論,我假設您知道如何設定主路由器。

這意味著從訪客 AP (RaspPi) 到主路由器的連接應使用某種隧道。最簡單的變體是虛擬區域網,它在您的專用 LAN 上「覆蓋」(可能是多個)虛擬 LAN。

具體來說,在 RaspPi 和 Debian 盒子上添加一個虛擬網路接口,類似於

ip link add link eth0 name eth0.55 type vlan id 55.

(選擇 VLAN 標記),然後eth0.55像普通網路介面一樣使用和設定。一旦它起作用,您可以進行調整/etc/network/interfaces以使其自動出現。

編輯

對於防火牆,您需要iptables阻止介面eth0eth0.55相互通訊的規則,因此類似於

#!/bin/bash
PRIVIF=eth0
GUESTIF=eth0.55
iptables -P FORWARD ACCEPT
iptables -F FORWARD
iptables -A FORWARD -i $PRIVIF -o $GUESTIF -j DROP
iptables -A FORWAD -i $GUESTIF -o $PRIVIF -j DROP

(未經測試)。或者使用 DROP 的預設轉發策略使其更加安全,然後枚舉您允許的所有轉發,同時保留路由器的 NAT 功能(如果有)。

關於防火牆的線上教學有很多iptables,只需選擇您最喜歡的一個即可。

相關內容