DLNA через VPN
В интернет-центрах Keenetic имеется возможность по настройке доступа к Медиатеке DLNA через VPN-туннели PPTP, L2TP/IPSec, SSTP.
Важно
Данный способ реализован только для доступа к 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. В нашем примере установлено разрешение для пользователя vpnuser01.

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

Теперь со стороны VPN-клиента установите подключение к VPN-серверу на роутере.
Важно
Анонс протокола SSDP на мультикастовый адрес 239.255.255.250 осуществляется не сразу после установки VPN-подключения. Это может занять несколько минут с начала работы VPN-туннеля. Запустите медиаплеер с поддержкой DLNA и проверьте работоспособность.
В качестве примера можем посоветовать использовать следующие медиаплееры с поддержкой DLNA: VLC media player, MediaMonkey, Emby.
Примеры
Установите VPN-подключение с компьютера. Запустите медиаплеер VLC. Перейдите в меню Вид > Плейлист и в разделе Локальная сеть нажмите Протокол UPnP, чтобы получить доступ к общим медиафайлам. В плеере появится DLNA-сервер на Keenetic (в нашем примере это Hopper SE). Откройте папку Browse Folders, выберите нужный контент для воспроизведения и запустите.
Выберите нужный контент для воспроизведения и запустите.


Другой пример из медиаплеера MediaMonkey. Запустите приложение и перейдите в раздел Устройства и службы. Вы увидите DLNA-сервер на Keenetic. Откройте папку Browse Folders, выберите нужный контент для воспроизведения и запустите.

Также доступ к медиатеке DLNA возможен с мобильного устройства.
Покажем пример подключения со смартфона на базе ОС Android. Установите VPN-подключение к роутеру. Через несколько минут после установки VPN запустите приложение VLC. В разделе Local Network вы увидите DLNA-сервер на Keenetic. Откройте папку Browse Folders, выберите контент для воспроизведения и запустите.




Также можно использовать другие мобильные приложения, которые поддерживают работу с DLNA-сервером.
Примечание
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 и качественное воспроизведение медиаконтента через Интернет.