Если кто-то, как и я, ломал голову над тем, как разрешить гостевой доступ к Chromecasts, хочу поделиться решением, которое недавно внедрил у себя дома.
Цель:
Две сети — одна доверенная и одна гостевая. Chromecasts (и другие устройства с поддержкой трансляции) находятся в доверенной сети. Доверенная сеть имеет доступ ко всем устройствам в ней, к Chromecasts и интернету, гостевая сеть может выходить в интернет и доступаться к Chromecasts, но больше никуда.
Решение:
UAP-LR
Маршрутизатор Juniper SRX100
Два защищенных WPA SSID в одной подсети
Гостевая сеть настроена с политиками Guest Control, которые блокируют весь локальный трафик и разрешают доступ лишь к адресам Chromecasts и мультикаст-адресу SSDP 239.255.255.250
Детали:
Изначально хотел сделать решение на двух VLAN, но отказался от этой идеи, потому что: 1) Chromecasts делают такие решения достаточно сложными — я устал бороться с этим, и 2) большинство гостей у меня дома — люди, которым я доверяю, и гостевой SSID у меня все равно был с паролем, поэтому встроенных политик гостевого доступа в UAP оказалось вполне достаточно. Исходя из этого, я настроил DHCP на SRX так, чтобы динамически раздавать адреса из диапазона 10.0.10.0/24 и статически назначать адреса из 10.0.10.240/30 для устройств с поддержкой трансляции, которые есть у меня дома.
[edit system services dhcp]
user@router# show...
pool 10.0.10.0/24 {
address-range low 10.0.10.2 high 10.0.10.254;
router {
10.0.10.1;
}
}
/* CHROMECAST 1 */
static-binding aa:aa:aa:aa:aa:aa {
fixed-address {
10.0.10.240;
}
}
/* CHROMECAST 2 */
static-binding aa:aa:aa:aa:aa:aa {
fixed-address {
10.0.10.241;
}
}
/* CAST-ENABLED SMART-TV WIRELESS */
static-binding aa:aa:aa:aa:aa:aa {
fixed-address {
10.0.10.242;
}
}
/* CAST-ENABLED SMART-TV WIRED */
static-binding aa:aa:aa:aa:aa:aa {
fixed-address {
10.0.10.243;
}
}
...
В моём контроллере Unifi я поднял два SSID с паролем — «Trusted» и «Guest», на гостевом включил Guest Policy. В Guest Control > Access Control ограничил доступ к 10.0.0.0/8, но разрешил к 10.0.10.240/30...
И это не сработало. С гостевой сети я не мог пропинговать шлюз (отлично!) и любые другие IP локалки (тоже отлично!), при этом пинги до Chromecasts проходили (тоже здорово!), но в приложении Chromecast устройства не отображались (грустно). Изоляция гостей и доступ к Chromecasts были настроены, но чего-то не хватало.
Я начал искать, как устройства-источники Google Cast/DIAL связываются с приёмниками — Chromecast, смарт-ТВ, некоторые blu-ray-плееры с приложениями. Наткнулся на руководство Cisco «Chromecast Deployment Guide, Release 7.6», написанное под Cisco AireOS/Aironet AP. В нем есть очень детальная информация про настройку Wi-Fi для работы с Chromecasts. Особенно важно вот что:
«Chromecast использует простой протокол multicast для обнаружения и запуска, который позволяет пользователям отображать свои устройства на втором экране. Chromecast работает на протоколе DIAL. Сервис DIAL Service Discovery позволяет клиенту обнаруживать DIAL Server (Chromecast) в локальной сети и получать доступ к его сервисам. Это достигается с помощью нового поискового запроса в пределах SSDP, определённого uPNP. Клиенты, которые хотят обнаружить серверы Chromecast, посылают запросы по UDP на IP-адрес 239.255.255.250 и порт UDP 1900. Подробнее см. Chromecast Packet Level Details.»
Я решил добавить 239.255.255.250 в список разрешённых адресов в Guest Control...
И это сработало! Изоляция гостей осталась в силе, а все cast-устройства в разрешённом диапазоне теперь доступны для обнаружения и управления. Хотя этот адрес SSDP multicast в политиках AP прямо не ограничивался, что-то всё равно мешало этому трафику проходить. Возможно, дело в том, как политики AP обрабатывают multicast-трафик? Может быть, кто-то, лучше разбирающийся в ПО UAP, сможет пояснить.
В любом случае — работает! Надеюсь, это сэкономит вам время при настройке ваших сетей. Если кому-то удастся сделать мульти-VLAN, буду рад, если поделитесь опытом.
Цель:
Две сети — одна доверенная и одна гостевая. Chromecasts (и другие устройства с поддержкой трансляции) находятся в доверенной сети. Доверенная сеть имеет доступ ко всем устройствам в ней, к Chromecasts и интернету, гостевая сеть может выходить в интернет и доступаться к Chromecasts, но больше никуда.
Решение:
UAP-LR
Маршрутизатор Juniper SRX100
Два защищенных WPA SSID в одной подсети
Гостевая сеть настроена с политиками Guest Control, которые блокируют весь локальный трафик и разрешают доступ лишь к адресам Chromecasts и мультикаст-адресу SSDP 239.255.255.250
Детали:
Изначально хотел сделать решение на двух VLAN, но отказался от этой идеи, потому что: 1) Chromecasts делают такие решения достаточно сложными — я устал бороться с этим, и 2) большинство гостей у меня дома — люди, которым я доверяю, и гостевой SSID у меня все равно был с паролем, поэтому встроенных политик гостевого доступа в UAP оказалось вполне достаточно. Исходя из этого, я настроил DHCP на SRX так, чтобы динамически раздавать адреса из диапазона 10.0.10.0/24 и статически назначать адреса из 10.0.10.240/30 для устройств с поддержкой трансляции, которые есть у меня дома.
[edit system services dhcp]
user@router# show...
pool 10.0.10.0/24 {
address-range low 10.0.10.2 high 10.0.10.254;
router {
10.0.10.1;
}
}
/* CHROMECAST 1 */
static-binding aa:aa:aa:aa:aa:aa {
fixed-address {
10.0.10.240;
}
}
/* CHROMECAST 2 */
static-binding aa:aa:aa:aa:aa:aa {
fixed-address {
10.0.10.241;
}
}
/* CAST-ENABLED SMART-TV WIRELESS */
static-binding aa:aa:aa:aa:aa:aa {
fixed-address {
10.0.10.242;
}
}
/* CAST-ENABLED SMART-TV WIRED */
static-binding aa:aa:aa:aa:aa:aa {
fixed-address {
10.0.10.243;
}
}
...
В моём контроллере Unifi я поднял два SSID с паролем — «Trusted» и «Guest», на гостевом включил Guest Policy. В Guest Control > Access Control ограничил доступ к 10.0.0.0/8, но разрешил к 10.0.10.240/30...
И это не сработало. С гостевой сети я не мог пропинговать шлюз (отлично!) и любые другие IP локалки (тоже отлично!), при этом пинги до Chromecasts проходили (тоже здорово!), но в приложении Chromecast устройства не отображались (грустно). Изоляция гостей и доступ к Chromecasts были настроены, но чего-то не хватало.
Я начал искать, как устройства-источники Google Cast/DIAL связываются с приёмниками — Chromecast, смарт-ТВ, некоторые blu-ray-плееры с приложениями. Наткнулся на руководство Cisco «Chromecast Deployment Guide, Release 7.6», написанное под Cisco AireOS/Aironet AP. В нем есть очень детальная информация про настройку Wi-Fi для работы с Chromecasts. Особенно важно вот что:
«Chromecast использует простой протокол multicast для обнаружения и запуска, который позволяет пользователям отображать свои устройства на втором экране. Chromecast работает на протоколе DIAL. Сервис DIAL Service Discovery позволяет клиенту обнаруживать DIAL Server (Chromecast) в локальной сети и получать доступ к его сервисам. Это достигается с помощью нового поискового запроса в пределах SSDP, определённого uPNP. Клиенты, которые хотят обнаружить серверы Chromecast, посылают запросы по UDP на IP-адрес 239.255.255.250 и порт UDP 1900. Подробнее см. Chromecast Packet Level Details.»
Я решил добавить 239.255.255.250 в список разрешённых адресов в Guest Control...
И это сработало! Изоляция гостей осталась в силе, а все cast-устройства в разрешённом диапазоне теперь доступны для обнаружения и управления. Хотя этот адрес SSDP multicast в политиках AP прямо не ограничивался, что-то всё равно мешало этому трафику проходить. Возможно, дело в том, как политики AP обрабатывают multicast-трафик? Может быть, кто-то, лучше разбирающийся в ПО UAP, сможет пояснить.
В любом случае — работает! Надеюсь, это сэкономит вам время при настройке ваших сетей. Если кому-то удастся сделать мульти-VLAN, буду рад, если поделитесь опытом.

Извини, не понимаю, почему изображение именно такого размера...