Тема: Подключение к DLNA через VPN(L2TP)
Стояла задача передавать Hi-Res музыку на android-телефон(Samsung Galaxy S8) c домашнего HMS(Windows 7 x64), за пределами домашней Wi-Fi сети.
В домашней Wi-Fi сети всё работает как надо, на HMS установлен профиль SACD - на телефоне установлен Neutron, музыка играет.
Как получить тоже самое вне квартиры? (сразу проясню: у меня оператор Yota, со старым безлимитным тарифом, поэтому расход трафика не волнует, для справки: у меня во время тестов ушло 18ГБ за 4 дня ).
Способ №1
Если ваш роутер(маршрутизатор) имеет на борту VPN(L2TP) сервер (а не только клиент!), то вы - счастливчик, настраивайте сервер по инструкции к роутеру и подключайтесь к нему стандартными средствами Android (инструкция).
Мой роутер(DLink DIR824AC) таким функционалом не оснащён, но у него есть DynDNS updater, и мой белый динамический IP-адрес выдаваемый провайдером связан с мои доменным именем (имя.dlinkddns.com).
Идём дальше.
Способ №2
Используем встоенные средства Windows 7 и создаём входящее VPN(L2TP) подключение (инструкция).
IPsec в данном случае не обязателен.
На роутере(маршрутизаторе) пробрасываем нужные порты, ставим галки пропускать L2TP трафик.
Стандартными средствами Android подключаемся к созданному нами VPN серверу (инструкция).
Если безопасность VPN-сервера не PSK(по паролю), а RSA(сертификаты) загружаем соотвествующие сертификаты на телефон через настройки->безопасность.
Запускаем VPN подключение на телефоне (для удобства в дальнейшем, рекомендую установить VPN-ярлык чтобы меньше пробираться через дебри меню настроек).
Запускаем на Neutron на телефоне, находим устройство в HMS(настраиваем параметры транскодирования) и радуемся. Все работает.
На этом монжо было бы и становиться, но, что если вам одновременно нужно больше чем одно VPN подключение за раз?
В моём примере супруга тоже захотела слушать Hi-Res музыку за пределами квартиры.
Если у вас XP или Windows 7 x86, можно установить патч (на свой страх и риск, если версии совпадают).
У меня x64, так что капаем дальше.
Способ №3
Воспользуемся сторонним ПО - SoftEther VPN (свободно распространяемым естественно).
Скачать можно здесь, инструция по настройке(на английском).
Я настроил в режиме PSK(по паролю) и всё прекрасно работает.
Среди возможестей сервера есть собственный Dynamic DNS.
А почему не OpenVPN, спросите вы?
Я его ставил и 2 дня пытался получить результат, но в моём случае это не возможно.
Для проброса multicast требуется чтобы OVPN (сервер и клиент) работали в режиме TAP(на 2-ом уровне), а в android сторонее ПО(работает в виртуальной среде) может создавать подключения только на 3-м уровне, поэтому доступен только режим TUN.
Если вам нужно соеденить VPNом Windows <-> Linux/Windows, то OVPN в режиме TAP будет работать.
Естественно, вышеописанное справедливо не только для прослушивания Hi-Res музыки, но и для просмотра видео (не через Neutron конечно-же).
Не претендую на оптимальность или единственность решения, но оно работает.