Гостевая точка доступа Wi-Fi без доступа к родительской сети

Гостевая точка доступа Wi-Fi без доступа к родительской сети

Я пытаюсь создать гостевую сеть Wi-Fi для своей существующей сети, но не знаю, как защитить гостевую точку доступа Wi-Fi от родительской сети, если точка доступа находится внутри родительской сети.

Я пробовал искать по этому запросу, но получаю только результаты с потребительского оборудования, в которых говорится «щелкните эту конфигурацию» и обычно предполагается, что основной маршрутизатор также является точкой доступа Wi-Fi, что значительно упрощает логическое разделение.

              +----------+
              | 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 box (Debian 7 с iptables) и ничего больше. Гостевая точка доступа wifi будет rasp PI, который я заказываю, и я предполагаю, что необходимая конфигурация будет содержаться в гостевом wifi box.

Но я не уверен, как настроить iptables (nftables?) на PI, чтобы гарантировать недоступность родительской сети, за исключением маршрутизации в Интернет.

  • Каким образом «гостевое устройство X» получает доступ к основному шлюзу маршрутизатора (10.0.0.1), не имея доступа к устройству A (10.0.0.5)?
  • Как узнать, что основной маршрутизатор не отправит запрос на 10.0.0.5 обратно в подсеть 10.0.0.0/24? Нужно ли мне будет настраивать iptables на основном маршрутизаторе для работы в паре с маршрутизатором Wi-Fi?

Желаемые результаты от 10.0.1.5:

  • $ ping 10.0.0.5 - Место назначения недоступно / Нет маршрута к хосту и т. д.
  • $ пинг 8.8.8.8 - ОК
  • $ ping 10.0.0.1 - (предполагая, что все в порядке?)
  • $ ping 10.0.0.200 - Неизвестно?

Обсуждение альтернативного потенциального решения ниже:

  • Одно из предложений заключалось в том, чтобы сделать 2-й IP на главном маршрутизаторе и иметь гостевой маршрут Wi-Fi к этому IP. Поэтому я посмотрел документацию и нашел это:

Это будет выглядеть примерно так:

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 на основном маршрутизаторе на данный момент? Я не уверен, что понимаю, чем это отличается от гостевого маршрутизатора Wi-Fi на 10.0.0.0/24, поскольку основной маршрутизатор все равно сможет маршрутизировать на другие устройства в этой сети?)
  2. Я предполагаю, что гостевому маршрутизатору Wi-Fi понадобится DHCP-сервер для гостевых устройств. Но будут ли гостевые устройства использовать подсеть 10.0.1.0/24 с 10.0.1.1 в качестве шлюза, или мне следует настроить другую подсеть 10.0.2.0/24 для гостевых устройств?

решение1

Повторю ситуацию, чтобы проверить, правильно ли я понял:

Гостевая точка доступа подключается к основному маршрутизатору как часть частной локальной сети или беспроводной локальной сети. Кроме того, вам нужна гостевая сеть, которая отделена от частной сети, но по необходимости будет использовать частную сеть для доступа к основному маршрутизатору.

Краткое описание возможного решения:

Единственный способ сделать это безопасным — заставить основной маршрутизатор знать, что есть две сети, и правильно разделить их с помощью iptablesправил. Итак, вы хотите, чтобы ваш основной маршрутизатор видел два сетевых интерфейса, один с 10.0.0.0/24 для частного сегмента, а другой с 10.0.0.1/24 для гостевого сегмента. Я предполагаю, что вы знаете, как настроить основной маршрутизатор с этим, учитывая комментарии.

Это означает, что соединение гостевой точки доступа (RaspPi) с основным маршрутизатором должно использовать какой-то туннель. Самый простой вариант — этоВЛС, который «накладывает» (возможно, несколько) виртуальных локальных сетей на вашу частную локальную сеть.

Конкретно, добавьте на 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. Просто выберите то, которое вам больше всего нравится.

Связанный контент