Подключен к клиенту OpenVPN, не может транслироваться на приемник DLNA?

873
Nico

У меня есть MacBook Pro (работает под управлением El Captain 10.11.6) (локальный IP-адрес: 192.168.0.13), я хотел бы транслировать некоторые фильмы с помощью «dlnast» ( https://github.com/iovis9/dlnast ), который Я установил через «npm» (узел 7.0.0, установленный HomeBrew) на приемник DLNA / Airplay, который является «Freebox Player» (локальный IP-адрес: 192.168.0.19). Оба подключены к одной и той же сети Wi-Fi через «Сервер Freebox» (локальный IP-адрес: 192.168.0.254), используемый в качестве модема / маршрутизатора.

До этого у меня это работает, но когда я подключен, все еще дома, к клиенту OpenVPN (openvpn 2.3.13, установленный HomeBrew) (так, это дает мне интерфейс "utun1" 10.14.0.210 как локальный ip ), это не работает. Так что «dlnast», кажется, больше не находит мой «Freebox Player», когда я хочу транслировать. Я могу пропинговать "Freebox Player и сервер", они отвечают ... Я могу получить доступ к файлам внутри и войти в конфигурацию маршрутизатора ... Если я использую другое программное обеспечение, такое как "Beamer", например, это работает, но я нужно и хочется использовать "длиннаст".

После нескольких исследований с «Wireshark», когда я начинаю потоковую передачу без VPN, мой ноутбук использует 192.168.0.13 с портом 8888 (я могу его изменить) для связи с «Freebox Player» как 192.168.0.19 с портом 53512 оба через интерфейс "en1" (Wifi), в противном случае, когда я начинаю потоковую передачу через VPN, мой ноутбук использует 10.14.0.210 с портом 3333 (кажется, я не могу его изменить), чтобы говорить с чем-то как 239.255.255.250 с порт 1900 как через интерфейс «utun1» (VPN-туннель), странно то, что в обоих случаях «dlnast» говорит мне, что он запускает сервер на 192.168.0.13 на порту 8888, даже при подключении к VPN.

Итак, есть ли способ правильно маршрутизировать мою локальную сеть через VPN-туннель «utun1» или заставить мой ноутбук использовать интерфейс «en1» (Wifi) при выполнении такого рода работ?

Поскольку мои низкие знания по этому вопросу не позволяют мне правильно понимать таблицы маршрутизации, если бы кто-то мог найти время, чтобы объяснить мне, что не так, это было бы очень приятно, и любая помощь будет приветствоваться ...

Спасибо...

Вот таблица маршрутизации при подключении к VPN

0

2 ответа на вопрос

0
Xavier J

Когда ваш клиент OpenVPN работает, ваше мультимедийное программное обеспечение пытается использовать адрес интерфейса VPN (utun1) для прослушивания трансляций DLNA, которые никогда не будут работать, если трансляции не поступают с сервера OpenVPN. Я не очень знаком с вашим мультимедийным программным обеспечением, но, может быть, в конфигурации есть что-то, что говорит ему всегда использовать беспроводной интерфейс (en1).

У меня большой опыт работы с OpenVPN, и такого рода вещи могут быть очень неприятными, когда это происходит.

Спасибо за ответ, я посмотрел на саму программу, написанную на node.js, так как я не могу написать код на JavaScript, чтобы правильно изменить код, и, похоже, у него нет доступных файлов конфигурации для изменения .. Может быть, есть способ заставить модуль узла (кажется, что-то вроде «upnp-mediarenderer») использовать определенный интерфейс? Nico 8 лет назад 0
0
Nico

Хорошо, наконец, я нашел, как заставить это работать, должно быть то же самое решение для большинства случаев как этот, независимо от того, какое программное обеспечение вы используете, но это вопрос для правильной маршрутизации DLNA-кастинга:

Сначала вам нужно исследовать с помощью Wireshark, когда начинается потоковая передача DLNA, он обнаруживает сеть, чтобы найти приемника по протоколу "SSDP" (использование 239.255.255.250 в моем случае может быть другим, я не уверен), это попытка несколько раз, и если не отвечает, он останавливается.

Я сказал, что уверен, что мой «Freebox Player» известен под 192.168.0.19, а мой маршрутизатор «Freebox Server» получил 192.168.0.254 в моей локальной сети.

Итак, нам нужно убедиться, что ноутбук знает это, например:

sudo route add -net 192.168.0.19 -netmask 255.255.255.0 192.168.0.254 

Теперь нам нужно связать IP-адрес, который средство обнаружения устройств DLNA пытается напрямую выполнить с «Freebox Player», чтобы быть уверенным, что он его найдет, это имеет смысл:

sudo route add -host 239.255.255.250 192.168.0.19 

Готово, это сработало для меня, надеюсь, это сработает для всех остальных ...