Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
Сегрегация VLAN для IoT, mDNS/IGMP-прокси работают, но для приложения BOSE SoundTouch требуется NAT-замаскировка., UniFi Network
 
Всем привет! Нужна помощь с NAT-замаскированием между VLAN. У меня оборудование UniFi USG-3P, несколько Unifi-Switch, CloudKey Gen2+ и два UniFi AP. Я разделил свою сеть LAN/WLAN на несколько VLAN (Management, Intranet, IoT-устройства, Guests), и всё работает хорошо (кроме колонок BOSE SoundTouch...).

Сети/VLAN:  
192.168.1.0/24 — Management VLAN 1 (native), USG eth1  
192.168.10.0/24 — Intranet устройства, компьютеры и смартфоны/планшеты, VLAN 10 (tagged), USG eth1.10  
192.168.20.0/24 — IoT и SoundTouch устройства, VLAN 20 (tagged), USG eth1.20  
192.168.99.0/24 — Гостевая сеть, VLAN 99 (tagged), USG eth1.99

Чтобы обеспечить работу mDNS и multicast-прокси между IoT-клиентами и устройствами, я включил mDNS-repeater на eth1.10 и eth1.20, а также включил IGMP-Proxy. Всё работает нормально — Philips Hue, tado и другие сервисы доступны (кроме BOSE).

Вот моя текущая конфигурация config.gateway.json с включёнными mDNS-repeater и igmp-proxy:

{  
 "service": {  
   "mdns": {  
     "repeater": {  
       "interface": [
         "eth1.10",  
         "eth1.20"  
       ]  
     }  
   }  
 },  
 "protocols": {  
   "igmp-proxy": {  
     "interface": {  
       "eth1.10": {  
         "role": "upstream",  
         "threshold": "1"  
       },  
       "eth1.20": {  
         "role": "downstream",  
         "threshold": "1"  
       },  
       "eth0": {  
         "role": "disabled"  
       },  
       "eth1": {  
         "role": "disabled"  
       },  
       "eth1.99": {  
         "role": "disabled"  
       }  
     }  
   }  
 }  
}

Однако я не могу заставить приложение BOSE SoundTouch работать — оно отказывается видеть колонки в IoT-VLAN. (Если подключиться к IoT-VLAN со смартфона с приложением — всё работает отлично.)  
Сначала я думал, что дело в IGMP-Proxy, но тестирование с PIMD тоже не помогло. Для тестов разрешены все соединения между 192.168.10.0/24 и 192.168.20.0/24 в обоих направлениях (позже планирую закрыть только нужные порты и протоколы).

Покопавшись в интернете, нашёл несколько сообщений, что BOSE как-то в 2018 году поменяли поведение своей прошивки, и теперь колонки отвечают только клиентам из той же подсети — «по соображениям безопасности». Думаю, что это можно обойти, если замаскировать клиентов из VLAN 10 под адрес шлюза VLAN 20 (192.168.20.1) через NAT. Но как это настроить для нескольких клиентов в VLAN 10?

IP BOSE SoundTouch на VLAN 20 / eth1.20:  
192.168.20.30  
192.168.20.31  
192.168.20.32  
192.168.20.33  
192.168.20.34  
192.168.20.35  
192.168.20.36

Клиенты с приложением SoundTouch на VLAN 10 / eth1.10:  
192.168.10.50  
192.168.10.60  
192.168.10.62  
192.168.10.63  
192.168.10.65  
192.168.10.66

Как расширить мой config.gateway.json, чтобы замаскировать только этих 6 клиентов для 7 колонок?

Буду очень признателен за помощь и с радостью отдам Kudos 😉
 
Есть новости по этому поводу? Я в такой же ситуации.
 
Спасибо @AF360, @ben_christian и @dhartsmith! У меня есть UDM Pro, и, судя по тому, что сказал @dhartsmith, у тебя получилось запустить? Я пробовал раньше, но у меня не вышло с моей командой:

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.2.0/24 -j MASQUERADE

Дальше проверяю:

iptables -L -t nat  
Chain POSTROUTING (policy ACCEPT)  
target          prot opt source           destination  
UBIOS_POSTROUTING_JUMP  all  --  anywhere         anywhere  
MASQUERADE      all  --  192.168.1.0/24  192.168.2.0/24  

Но, как ты верно заметил, нужно повторить для каждого динамика. Попробую ещё раз, у меня их 5, и все надо добавить.  
Два вопроса:  
После перезагрузки посмотрел iptables:

iptables -L -t nat  
Chain POSTROUTING (policy ACCEPT)  
target          prot opt source           destination  
UBIOS_POSTROUTING_JUMP  all  --  anywhere         anywhere  

То есть запись пропала. Есть ли способ сделать правила iptables постоянными?  

Второй вопрос: @dhartsmith упоминал, что IGMP-Proxy тоже требует настройки? Я немного запутался, ведь я всего три месяца в Unifi, и с сетью у меня слабовато. В моём случае, как и у большинства здесь, пытаюсь обеспечить, чтобы устройства в локальной сети .1 могли видеть IoT-сеть .2 (где находятся колонки SoundTouch). Нужно ли что-то менять с IGMP-Proxy? Если да, то что именно и где ты делал?
 
Спасибо, спасибо! @AF360 за то, что поднял тему, и @ben_christian за правильное направление — я несколько месяцев мучился с настройкой Soundtouch в отдельном VLAN (UDM Base). NAT Masquerade оказался недостающим звеном, и, конечно, IGMP-Proxy, для которого я использую старый ER-X, чтобы слушать и ретранслировать трафик между VLAN. Теперь я вижу все колонки из IoT VLAN в приложении на телефоне, подключённом к моей защищённой сети, и могу воспроизводить музыку на каждую из них. Группы колонок пока не работают, но продолжу пытаться 🙄  

По NAT Masquerade:  
iptables -t nat -A POSTROUTING -s 10.10.10.0/26 -d 10.10.10.215 -j MASQUERADE  

10.10.10.0/26 — это моя защищённая LAN, которая позволяет всем устройствам видеть колонки Soundtouch. Это правило нужно повторить для каждого IP колонки в IoT VLAN, который у меня 10.10.10.129/25, то есть:  
iptables -t nat -A POSTROUTING -s 10.10.10.0/26 -d 10.10.10.215 -j MASQUERADE  
iptables -t nat -A POSTROUTING -s 10.10.10.0/26 -d 10.10.10.214 -j MASQUERADE  
iptables -t nat -A POSTROUTING -s 10.10.10.0/26 -d 10.10.10.213 -j MASQUERADE  
iptables -t nat -A POSTROUTING -s 10.10.10.0/26 -d 10.10.10.212 -j MASQUERADE  
iptables -t nat -A POSTROUTING -s 10.10.10.0/26 -d 10.10.10.211 -j MASQUERADE  
iptables -t nat -A POSTROUTING -s 10.10.10.0/26 -d 10.10.10.210 -j MASQUERADE  

Также по IGMP-Proxy: downstream — это роль для защищённой LAN, upstream — для IoT VLAN с колонками. Надеюсь, кому-то поможет 👍
 
Нет, это не сработает на UDM. Я уже перешёл на UDM Pro и потерял эту возможность, поэтому пока что Bose у меня находится в основном VLAN. (очень расстраивает, учитывая, насколько старое там прошивка). Но есть обходные пути с iptables, и много людей просили добавить эту функцию в GUI, так что, думаю, это вопрос времени. Похоже, что у Edge Router это есть, так что, может быть, со временем и у UDM появится такая возможность. Вот ссылка, где я видел, как это сделать: https://community.ui.com/questions/UDM-Pro-Masquerade-NAT-Rule-via-iptables/4f39cf2a-ae8e-4681-8d0d-622c6af1d6dd
 
Как заставить это работать на UDM PRO, я совсем новичок во всём этом. Все команды, которые вы вводили через командную строку, тоже работают на UDM PRO? Мне интересно, почему интерфейс UDM PRO не даёт нам такой возможности. Или даёт? Спасибо.
 
Это проблема только у Bose? Или с Sonos происходит то же самое? Если проблема в Bose, я просто избавлюсь от него. Если только нет какого-то толкового способа заставить это работать в отдельных VLAN. Я пытался переключить расширенную опцию Match new State connections, но безрезультатно. Кто-нибудь смог разобраться, как заставить это работать на UDM PRO?
 
Алоха, такая же проблема и у меня. Всё работает безупречно, кроме этого чёртова динамика Bose. Уже неделю с ума схожу, пытаясь понять, какое из моих правил фаервола ломает соединение. AF360, ты уверен, что именно Bose внесли эти изменения? Можно уже забить и использовать его по Bluetooth?
 
Bose ограничила сетевой стек в одном из обновлений, чтобы предотвратить связь вне родной подсети колонок (ради «безопасности», какая шутка...). Так что с помощью правил файервола или ещё чего-то тут ничего не сделаешь.
 
Всем привет! У меня тоже проблемы с тем, чтобы нормально запустить стриминг на мой Bose Soundbar 700 (он стоит в IoT VLAN). Я вижу саундбар в выпадающем списке Airplay на iPhone, но подключиться к нему не могу. Нашёл вот этот (старый) пост на форуме Bose, где показаны порты, которые используют саундбары. https://community.bose.com/t5/SoundTouch-Archive/Soundtouch-Update-Protocols-and-Ports/td-p/98155 Так как я абсолютный новичок, у меня пока не получается настроить всё как надо. Какое правило фаервола нужно добавить, чтобы подключаться к Bose Soundbar в IoT VLAN через Airplay из LAN? Кто-нибудь может помочь? Очень благодарен за помощь!
 
Привет, Бен! Хотелось бы попросить тебя проверить, правильно ли я настроил разделение колонок Sonos и Bose в отдельную IoT VLAN, которую создал в системе Unifi. Пока что я перенёс только "Bose Soundbar" в эту новую IoT-сеть, и после этого у меня пропала возможность подключаться к ней с Android-телефона. Мой телефон при этом находится в основной LAN.
 
Привет, команда. Я не эксперт, но мне удалось заставить это работать, используя следующую NAT-политику в файле config.gateway.json в директории на USG: /srv/unifi/data/sites/[site name/default]/. У меня такая же настройка, как и у вышеописанных, только у меня всего одна колонка BOSE. Я сделал NAT-правило для всего, что находится в моём клиентском VLAN (VLAN 2 - 192.168.2.0/24), на Bose, который находится в VLAN 3 с адресом .110. Думаю, можно просто поменять адрес назначения на 192.168.3.0/24, чтобы охватить все адреса, и изменить eth1.3 на eth1.20 — и всё будет работать. У меня так и получилось. Единственная проблема — когда я пересекаю зону покрытия одного AP и подключаюсь к другому, чуть позже начинает ловить мои AirPlay-трансляции через mDNS, но я могу с этим смириться. Подожди минуту, и список обновится.

------------------------------------------------
{
 "service": {
   "nat": {
     "rule": {
       "5100": {
         "description": "Masquerade for Bose",
         "destination": {
           "address": "192.168.3.110"
         },
         "outbound-interface": "eth1.3",
         "source": {
           "address": "192.168.2.0/24"
         },
         "type": "masquerade"
       }
     }
   }
 }
}
---------------------------------------------------

Если не хотите возиться с файлом config.gateway.json, можно просто зайти по ssh на USG и выполнить команды:

set service nat rule 5100 description "MASQUERADE for Bose"  
set service nat rule 5100 outbound-interface eth1.3  
set service nat rule 5100 destination address 192.168.3.110  
set service nat rule 5100 source address 192.168.2.0/24  
set service nat rule 5100 type masquerade  
commit, save, exit  

Это должно помочь. После этого можно ввести команду  
mca-ctrl -t dump-cfg  
чтобы получить конфигурацию USG и поискать masquerade. Тогда можно быть уверенным, что JSON-файл отформатирован правильно, потому что он немного капризный.
 
Я успешно разделил все устройства по VLAN, но колонки SoundTouch пришлось оставить в основной (V)LAN.
 
Тебе когда-нибудь удавалось это правильно настроить? Очень нужно сделать ровно то же самое!
 
Нет, колонки SoundTouch сейчас в основной VLAN, потому что по-другому бы не работали. Где-то я читал, что Bose даже урезали сетевой стек в одном из своих обновлений, чтобы не давать колонкам выходить за пределы их собственного подсети (якобы «по соображениям безопасности», ну прямо смехотворно...).
 
Привет! У меня такая же проблема, и я не могу найти способ заставить динамики Soundtouch работать с приложением из другой VLAN. Ты как-нибудь решил этот вопрос? Спасибо!
Страницы: 1
Читают тему (гостей: 1)