UPnP и DLNA в разных подсетях

Обсуждение ПО и его настройки
Alwan
Сообщения: 4
Зарегистрирован: 09 окт 2013, 13:43

Коллеги, мог бы кто проконсультировать в решении задачи.

Задача: пропускать UPnP и DLNA траффик между устройствами в разных подсетях.


ВВОДНЫЕ

В качестве RB устройства - Микротик на базе RB2011.
2 подсети: LAN1 и LAN2. Микротик имеет и там и там свой IPIF (допустим IPIF#1 и IPIF#2).

В качестве DLNA UPnP транслятора выступает машина на Windows 8 в сети LAN1.
Принимающая сторона - телевизоры со Smart TV.

ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ

Внутри одной LAN все хорошо работает.

В разных LAN уже не работает. Но друг друга устройства видят на уровне TCP.

Пробовал и IGMP включать/настраивать и настраивать службу UPnP в микротик с указанием ТВ и машины на WIN8 через External IP.

Есть ли решение задачи?


Snicker
Сообщения: 2
Зарегистрирован: 26 дек 2013, 03:42
Откуда: Kaliningrad

Начнём с того, что DLNA не имеет никакого отношения к IGMP...


MaxPain
Сообщения: 54
Зарегистрирован: 20 авг 2013, 13:22

А что мешает одну подсеть использовать?


MaxPain
Сообщения: 54
Зарегистрирован: 20 авг 2013, 13:22

Сам себе и отвечу,Лично мне мешает,одно обстоятельство: долбанное iptv. А именно если на бридж заводить igmp proxy,то всё работает прекрасно,до тех пор пока одна из приставок(x86 на openelec) не уходит в ждущий режим и не врубает 10mbps,после которого iptv начинает знатно,так сыпаться на всех остальных устройствах, принудительный режим 100mbps исправляет ситуацию,но!если заходить в winbox исключительно по мак адресу!,(если по адресу бриджа,то не поможет "забавный баг"),но тем не менее смотрибельнось на уровне пуфффф(каждые 10-15 сек артефакт). Да и по wifi,после очень скрупулёзной настройки далеко не всё так гладко, а именно когда соседи проявляют избыточную активность то тот же пуфффф. Вот собственно тоже загорелся вопросом,как же можно объединить порты,но не через бридж или мастер порт(свитч). Скажу сразу,как работает идеально iptv: если на каждую приставки выделить свою подсеть,а именно:et2-192.168.0.1/24 под присавки:et3-192.168.100.1/24 и под 2-ю приставку ну и собственно под 3-ю et4-192.168.200.1/24,заводя каждый порт в igmp proxy,всё работает идеально.И всё это фурычит на 751,субъективно на все порты хватит ресурсов,чтобы на каждой смотреть через локалку HD каналы iptv. Т.е. ресурсов роутера хватает с запасом, но стоит всё обеденить в бридж(не важно какой,совтовый((свитч)) или процессора((бридж))),то начинается ахтунх,причем он начинается только тогда,когда на одном из портов присатвка засыпает(ждущий режим) и выдаёт 10mbps и весь igmp proxy пытается через неё пролезть(т.к. после физического удаления или выключения порта,в ту же секунду на других устройсвах всё iptv нормально работает).2-ой вариант,деление портов например на et2-192.168.0.1/27,et3-192.168.0.33/27 и т.д. тоже отличный,в плане igmp-proxy,за исключением одного,а именно отсутствие между устройствами dnla/upnp в обоих решениях,чего очень при очень не хватает(((. Собственно баг в том что компания mikrotik ни в какую не хочет(по не понятным причинам) давным давно опробованные технологии на linux и удачно опробованные на openwrt: igmp snooping и udp-to-http proxy


MaxPain
Сообщения: 54
Зарегистрирован: 20 авг 2013, 13:22

Вычитал,что можно организовать локальную(домашнюю)сеть по L3 access,без всяких бриджей,при этом будет работать dnla/upnp...правда не знаю заработает ли igmp proxy. Вообщем гуру не проходите мимо,подскажите,как её организовать,если можно на пальцах,чтобы избежать сто тысяч не нужных вопросов,так как я,как говорится "дуб-дубом"....хотя с другой стороны "век живи-век учись". Прошу больно не пинать если ересь написал)


MaxPain
Сообщения: 54
Зарегистрирован: 20 авг 2013, 13:22

Вообщем нужен скрипт: выкидывающий заданный(конкретный) порт из бриджа,если тот встал на 10mbps и снова добавляющий его если,тот снова работает на 100mbps. Если за оплату пишите в личку,если просто готовы помочь,то тут. Заранее спасибо.


Аватара пользователя
simpl3x
Модератор
Сообщения: 1532
Зарегистрирован: 19 апр 2012, 14:03

Код: Выделить всё

#Lookup broken interfaces
:foreach i in=[/interface ethernet find] do={\
/interface ethernet monitor $i once do={\
:local irate "$"rate""; :if ($irate = "10Mbps") do={\
:local iname [/interface ethernet get $i name];\
:log error "Interface $iname broken";\
:foreach j in=[/interface bridge port find where interface=$iname] do={\
/interface bridge port disable $j;\
}}}}
#Lookup working interface
:foreach k in=[/interface bridge port find where disabled=yes] do={\
/interface ethernet monitor [/interface bridge port get $k interface] once do={\
:local mrate "$"rate""; :if ($mrate = "100Mbps") do={\
:log error "Interface $[/interface bridge port get $k interface] working";\
/interface bridge port enable $k;\
}}}

если за спасибо, то как то так.
первая часть ищет интерфейс на 10 мбитах, потом ищет его в портах бриджа и дисейблит так. вторая часть скрипта пробегается по выключенным портам бриджей и если у них скорость 100 мбит, то включает его. в благодарность три раза перед сном прочитайте это http://wiki.mikrotik.com/wiki/Manual:Scripting :-)


PavelN5
Сообщения: 1
Зарегистрирован: 15 янв 2014, 20:30

Не знаю поможет ли в вашей ситуации, но как вариант решения проблемы с IPTV у меня дома.

Вводная следующая:
Mikrotik 751G
Router OS 5.26
IPTV от провайдера интернет доступа.

Проблема:
При просмотре IPTV по проводному каналу все нормально.
При просмотре через WiFi варианты:
Если подключен один WIFI абонент - сносно работает (рвет иногда но не смертельно)
Если подключено 2 абонента и у одного из них IPTV ..... мрак ... сплошные квадраты.
(IGMP Proxy - настроен, поддержка мультикаста в беспроводной сети включена в положение FULL)

Провел эксперимент и пришел к конфигурации:
1. Сделал 2 WiFi сети (wlan1 - главная, wlan2 - второстепенная)
2. Вынес проводной и 2 беспроводных сегмента в 3 бриджа (естественно настроил работу интернета в каждом )
3. В IGMP Proxy настроил раздачу мультикаста в проводной и главный (wlan1) сегменты

Что получил:
1. При работе проводного сегмента с IPTV он не транслируется в WiFi сегмент.
2. При работе ОДНОГО ноутбука в главном (wlan1) сегменте ему не мешает работа второго ноутбука во второстепенном сегменте (wlan2)
3. Во wlan1 больше чем 1 ноутбук я не подключаю.

PS.
Если вдруг возникнет вопрос.... :)
1. Да, я понимаю что создавать бридж для одного порта это маразм НО по результатам эксперимента работа с Бриджем была продуктивнее чем с интерфейсом..... так у меня получилось.
2. Если вдруг я захочу перенести какой-нибудь интерфейс в другой бридж мне это проще будет сделать чем переделывать всю конфигурацию с интерфейсов на бриджи ....


Как по моему представлению может выглядеть конфигурация у Вас:
1. Вынести в отдельный бридж тот порт который идет к телевизионной приставке (естественно настроить работу сети и интернета в этом бридже)
2. В IGMP Proxy настроить раздачу мультикаста в 2 бриджа (основной и телевизионной приставки)
В таком случае трафик направленный в этот бридж не затронет оставшуюся сеть (аналог изоляции сети по сегментам)

Удачи в настройке


MaxPain
Сообщения: 54
Зарегистрирован: 20 авг 2013, 13:22

Огромное спасибо simpl3x,за скрипт. Пока к сожалению его работоспособность проверить не удаётся(по некоторым причинам),чуть позже опробую,в любом случае ещё раз Вам спасибо,что откликнулись,к слову уже не первый раз выручаете :mi_ga_et:, обнаружился ещё один вариант решения моей проблемы,в неожиданном месте),а именно добавлением ethtool -s eth0 duplex full speed 100 autoneg off в исполняемый файл resume.sh,на приставке,после чего её сетевая карта в любом режиме работы просто-напросто забывает о существовании 10mbps,соответственно igmp-proxy отлично работает :ya_hoo_oo: ,правда при таком раскладе МТ уверен,что там неттоп включен и активна сетевая карта и продолжает лупить на него мульткаст,как собственно и на все R порты,но да это и не важно.


MaxPain
Сообщения: 54
Зарегистрирован: 20 авг 2013, 13:22

Во общем скрипт работает,как из пушки единственное в момент переключения cpu load 100%,но картинка не сыпет(не критично). Единственное как его в авто выполнение добавить?


Ответить