Я пытаюсь настроить сеть, в которой есть несколько разных групп устройств с разными правами доступа. Физически устройства подключаются к сети либо через настенные порты, либо через одну из нескольких доступных сетей WiFi. Аппаратное обеспечение, которое я использую, - это пара интеллектуальных коммутаторов Cisco SG200-08, набор точек доступа Wi-Fi UniFi и EdgeRouter Lite, который запускает Vyatta-Linux под названием EdgeOS.

Поскольку в подключенных устройствах наблюдается некоторый поток данных, я бы не хотел поддерживать список MAC-адресов для управления правами доступа, а скорее неявно назначать устройства группе, просто исходя из того, к какому настенному порту или сети WiFi я их подключаю. к.

Моя текущая мысль о том, как это сделать, заключается в следующем:

  • Определите разные VLAN для разных групп устройств (для простоты, скажем, VLAN 10 для доверенных систем с полным доступом и VLAN 20 для гостей, которым разрешен доступ только к определенным ресурсам).
  • Затем интеллектуальные коммутаторы могут автоматически назначать идентификаторы VLAN различным настенным портам.
  • Оказывается, точки доступа UniFi могут передавать до 4 сетей WiFi одновременно с разными учетными данными доступа, а затем маркировать трафик идентификаторами VLAN в зависимости от того, из какой сети WiFi они пришли.
  • Наконец, EdgeRouter связывает все это вместе, управляя правами доступа для разных VLAN.

У меня проблема в том, что некоторые устройства, которые у меня есть, используют различные методы автообнаружения, которые могут быть найдены их программным обеспечением доступа (UPNP, сетевые папки Windows, проприетарные протоколы, ...). Я хотел бы, чтобы устройства, доступные каждому (из VLAN 10 и 20), также были доступны всем (т.е. из обеих VLAN). Таким образом, мне нужно найти способ правильно передавать трансляции и, возможно, сделать еще пару вещей ...

Вот где я сейчас нахожусь со своими мыслями о том, как это сделать:

  • Настройте сервер DHCP, который назначает значения в 192.168. 10.0/24 до VLAN 10
  • Настройте второй сервер DHCP, который назначает значения в 192.168. 20.0/24 до VLAN 20
  • Пусть серверы DHCP сообщат своим клиентам, что маска подсети 255.255. 0.0 (надеюсь, что они попытаются обнаружить устройства в обоих диапазонах адресов)
  • Настройте прокси ARP и пересылку широковещательных пакетов между VLAN (пока не знаете, как этого добиться. Может просто соединить 2 VLAN?)
  • Добавьте правила брандмауэра, которые отбрасывают все кросс-VLAN-пакеты, кроме широковещательных пакетов или пакетов, чей VLAN-10-IP соответствует устройству, которое также должно быть доступно гостям.

Итак, вот мои вопросы:

  1. Имеет ли смысл установка, как я описал выше, или есть совершенно другой, лучший способ добиться контроля доступа? (Я определенно хотел бы сохранить удобство неявного назначения компьютеров различным группам доступа, просто подключив их к одной из нескольких доступных сетей WiFi или подключив их к определенным настенным портам.)

  2. Разрешит ли описанная мною установка (UPNP-) обнаружение устройств через VLAN? Как насчет компьютеров Windows и их сетевых ресурсов?

  3. Возможно ли в Linux, чтобы DHCP-сервер назначал адреса в одной подсети (например, 192.168.10.0/24), но предоставлял своим клиентам другую маску подсети (например, 255.255.0.0)?

    Дополнительный кредит: Могу ли я сделать это с помощью EdgeOS GUI на моем EdgeRouter каким-то образом, или мне нужно настроить это из командной строки?

  4. Я просто устанавливаю общий мост между VLAN и отбрасываю "незаконные" пакеты, или есть лучший способ (более безопасный, лучшая производительность, ...), чтобы связать две сети, чтобы позволить обнаружение устройства и доступ?

  5. Можно ли просто создать две полностью независимые сети VLAN (без мостов) и просто сделать так, чтобы маршрутизатор "сопоставлял" устройство с другой сетью? Т.е. "подделать" систему с IP-адресом 192.168.20.5 в VLAN 20 и просто перенаправить весь ее трафик в реальную систему на 192.168.10.5 в VLAN 10? Можно ли сделать это так, чтобы не было разницы между подключенной виртуальной системой и фактически подключенной системой к сети под соответствующим другим IP?

Еще одна вещь, на которую следует обратить внимание: не все устройства, которые мне нужны для совместного использования в сетях, работают под управлением Linux Поэтому я не могу просто пойти и "подключить" устройства к обеим VLAN через виртуальные интерфейсы, такие как eth0.10 и eth0.20.

PS: я читал, что VLAN - не самый безопасный способ обеспечения контроля доступа, поскольку существует несколько простых способов их взлома (двойная метка и т.д.). Но это звучит так, как если бы вы немного заботились о том, чтобы избежать собственных идентификаторов и внешних портов, их можно легко предотвратить. Существуют ли другие, более фундаментальные причины НЕ использовать VLAN для этой цели? Если так, что будет альтернативой?

0