minidlna + OpenVPN = Não consigo ver o servidor DLNA na VPN

1

Eu tenho servidores OpenVPN (túnel, não interligado) e minidlna rodando no meu Ubuntu 14.04 PC. Cada um trabalha individualmente (como na VPN funciona, eu consigo conectar e navegar compartilhamentos samba e o tráfego da internet passa pela VPN; o servidor minidlna funciona com cliente conectado à minha LAN) mas quando meu cliente (android) se conecta à VPN via 3G / 4G, não pode ver o servidor minidlna. Eu editei a linha de interfaces do /etc/minidlna.conf file network_interface=eth0,tun0 , mas isso não funcionou. Eu li em algum lugar que isso pode ter algo a ver com transmissões e requer adicionar às regras iptables , mas não havia detalhes. O que devo fazer para que isso funcione?

O encaminhamento IPv4 é permitido em /etc/sysctl.conf e eu adicionei o seguinte ao iptables já que por este guia do OpenVPN para navegar na web com segurança através de um wifi público :

sudo iptables -I FORWARD -i tun0 -o eth0 -s 10.8.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -I FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
sudo iptables -t nat -I POSTROUTING -o eth0 -s 10.8.0.0/24 -j MASQUERADE

e certifiquei-me de que as alterações de iptables sobrevivessem às reinicializações usando iptables-persistent ( que está disponível para o Ubuntu 14.04 a partir de um repositório padrão, mesmo que eu não o tenha listado na página da web vinculada no momento da escrita).

Editar Eu tentei ir de dev tun a dev tap , mas o aplicativo OpenVPN não suporta isso. Eu também li sobre algo chamado GRE. O OpenVPN pode suportar isso?

    
por JB0x2D1 21.05.2014 / 20:57

3 respostas

1

Eu tive o mesmo problema que você, aqui está minha solução:

no arquivo conf do minidlna, você tem o argumento "listen_ip" que é comentado. Descomente-o, e escreva o endereço do seu servidor vpn na interface tun0. No seu caso, parece que é 10.8.0.1. Reinicie o servidor minidlna, ele deve funcionar quando estiver fora da rede, conectado via vpn.

AVISO: ao fazer isso, seu minidna não ficará visível na sua rede local. Eu estou procurando uma solução aqui: MiniDLNa local e sobre openvpn

    
por 15.10.2015 / 12:01
1

Veja aqui openvpn-com-upnp-support-in-10-minutes sobre como configurar isso para o UPnP. (Não tenho certeza de como o DLNA se encaixa nisso). Consegui fazer isso funcionar com o cliente Android e o OpenVPN.

O bit crítico parece ser o upnpd fornecido pelo pacote linux-igd . Ele liga a VPN e a rede "local" de alguma forma.

    
por 02.10.2016 / 17:44
0

Eu decidi que o UPnP / DLNA via OpenVPN não era o caminho a seguir. Em vez disso, instalei o apache2, h.264 e vinculei a pasta que contém a mídia que desejo transmitir como esta

cd /var/html/www
ln -s /path/to/media myfoldername

Agora, quando me conecto ao meu cliente para a VPN (depois de excluir o arquivo index.html padrão), posso apontar um navegador da web no IP local do servidor e ele aparece com um diretório chamado myfoldername que eu possa procurar a mídia que desejo transmitir. Clicar em um arquivo abre o player h.264 e transmite o vídeo.

Editar

E depois encontrei o Plex Media Server. Esta parece ser a melhor solução. Tudo o que tive de fazer foi permitir minha sub-rede VPN no Plex e agora posso usar a interface da Web remotamente no meu telefone para transmitir todas as minhas mídias, depois de adicionar a mídia à biblioteca Plex, é claro.

    
por 22.05.2014 / 04:36