DLNA через VPN

Начиная с версии KeeneticOS 3.4.1 была добавлена возможность по настройке доступа к Медиатеке DLNA через VPN-туннели PPTP, L2TP/IPSec, SSTP.

NOTE: Важно! Данный способ реализован только для доступа к DLNA-серверу, который работает на интернет-центре Keenetic. На этом же роутере должен работать VPN-сервер.
Подключение к медиатеке DLNA будет работать только на конечном устройстве, которое является VPN-клиентом (именно с него должно быть установлено VPN-подключение). Этим устройством может быть мобильное устройство или компьютер с операционной системой iOS, Android, Windows, macOS. Если в роли VPN-клиента использовать роутер Keenetic, то передача мультикаста через VPN работать не будет.

В конце статьи в разделе "Примечание" вы найдете дополнительную информацию о реализации "DLNA через VPN".

Настройка

В интернет-центре Keenetic предварительно выполните настройку Медиатеки DLNA и VPN-сервера, который будет работать на роутере. В случае публичного "белого" IP-адреса на внешнем интерфейсе роутера используйте VPN-сервер PPTP или L2TP/IPsec. При наличии частного "серого" IP-адреса включите VPN-сервер SSTP.

При настройке VPN-сервера добавьте пользователя, или укажите уже ранее созданного, которому будет разрешен доступ в локальную сеть через данное VPN-подключение (в нашем примере используется L2TP/IPsec).

dlna-vpn-01.png

Затем перейдите на страницу "Пользователи и доступ" и в разделе "Учетные записи пользователей" нажмите на запись пользователя, которому вы хотите разрешить использовать DLNA через VPN. В нашем примере установлено разрешение для пользователя vpnuser01.

dlna-vpn-02.png

В появившемся окне с параметрами пользователя включите опцию "Разрешить DLNA через VPN (PPTP, L2TP/IPsec и SSTP)" и сохраните настройки.
Данная настройка разрешит работу мультикаста через VPN-туннель. Никаких пробросов портов дополнительно делать не нужно.

dlna-vpn-03.png

Теперь со стороны VPN-клиента установите подключение к VPN-серверу на Кинетике.

NOTE: Важно! Анонс протокола SSDP на мультикастовый адрес 239.255.255.250 осуществляется не сразу после установки VPN-подключения. Это может занять несколько минут с начала работы VPN-туннеля. Запустите медиаплеер с поддержкой DLNA и проверьте работоспособность.

В качестве примера можем посоветовать использовать следующие медиаплееры с поддержкой DLNA: VLC media player, MediaMonkey, Emby.

Примеры

Установите VPN-подключение с компьютера на ОС Windows 10. Запустите медиаплеер VLC. Перейдите в меню "Медиа" > "Локальная сеть" > "Протокол UPnP". В плеере появится DLNA-сервер на Keenetic (в нашем примере это Keenetic Extra). Выберите нужный контент для воспроизведения и запустите.

dlna-vlc-01.png

dlna-vlc-02.png

Другой пример из MediaMonkey. Запустите приложение и перейдите в раздел "Медиа Серверы". Вы увидите DLNA-сервер на Keenetic. Выберите нужный контент для воспроизведения и запустите.

mm01.png

mm02.png

Также доступ к медиатеке DLNA возможен с мобильного устройства.

Покажем пример подключения со смартфона на базе ОС Android. Установите VPN-подключение к роутеру Keenetic. Через несколько минут после установки VPN запустите приложение VLC. В разделе "Локальная сеть" вы увидите DLNA-сервер на Keenetic. Выберите контент для воспроизведения и запустите.

vlc02.png

vlc03.png

vlc01.png

vlc05.png

Также можно использовать приложение MediaMonkey. Запустите его, перейдите в меню "UPnP", затем выберите нужный контент для воспроизведения и запустите.

dlna-mm.png

TIP: Примечание:

DLNA — набор стандартов, позволяющих совместимым устройствам передавать и принимать по домашней сети различный медиаконтент (изображения, музыку, видео), а также отображать его в режиме реального времени. Или другими словами, это технология для соединения домашних компьютеров, мобильных телефонов, ноутбуков и бытовой электроники в единую цифровую сеть. Средой передачи медиаконтента обычно является домашняя одноранговая локальная сеть. Клиент и сервер DLNA должны иметь IP-адреса из одной подсети. В случае когда клиент и сервер DLNA находятся в разных подсетях, вещание контента невозможно, но с помощью туннелирования сетевого трафика на L3-уровне сетевой модели OSI и объединения их в единую подсеть, стало возможным получить доступ к DLNA-серверу через Интернет внутри VPN-соединения.

Обращаем ваше внимание, что изначально реализация DLNA предполагает использование его в рамках одной локальной сети и поэтому работа DLNA по интернет-каналам через VPN не является штатным вариантом использования. В этой схеме мы не можем гарантировать надежную работу данной функции, так как на качество работы могут оказывать влияние ряд факторов.

Для функционирования DLNA клиент и сервер должны находится в одной подсети. DLNA не допускает наличия NAT между устройствами. Так как в нашем случае клиент и сервер находятся не в одной локальной сети, а в разных местах, то используем VPN-туннель для объединения их в одну общую подсеть. Теперь работа DLNA будет происходить внутри VPN-соединения.
Взаимодействие между DLNA-сервером и клиентом происходит по протоколу HTTP. Клиент DLNA рассылает шировещательные запросы SEARCH в рамках сегмента своей сети. В частности, клиент делает рассылку SSDP-пакетов в сети для поиска DLNA-сервера.
При обнаружении DLNA-сервером сообщений от клиента, происходит уже взаимодействие с клиентом напрямую. После выбора и запуска медиафайла начинается обмен данными по протоколу TCP. Клиент начинает кэшировать медиафайл и воспроизводить его в медиаплеере.

Корректное воспроизведение контента будет зависеть от производительности интернет-канала со стороны клиента и сервера DLNA, от надёжности и устойчивости интернет-подключения и VPN-соединения, от сетевых параметров (например, размера MTU и фрагментации сетевых пакетов в сети), от производительности клиента и других факторов.
При работе через сети мобильного оператора очень сложно гарантировать устойчивую работу DLNA и качественное воспроизведение медиаконтента через Интернет.

 

Была ли эта статья полезной?

Пользователи, считающие этот материал полезным: 14 из 18