无法访问家长网络的访客 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    |
   |                               |
   +-------------------------------+

主路由器是一个双 NIC(ext/int)Linux 盒(带 iptables 的 Debian 7),仅此而已。访客 wifi 接入点将是一个我订购的 rasp 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.0/24 子网并以 10.0.1.1 作为网关吗?或者我会为访客设备设置另一个子网 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一些规则来阻止接口之间eth0相互eth0.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,只需选择您最喜欢的一个。

相关内容