0

I've got a MacBook Pro (running El Captain 10.11.6) (local ip address: 192.168.0.13), I would like to stream some movies using "dlnast" (https://github.com/iovis9/dlnast) that I installed through "npm" (node 7.0.0 installed by HomeBrew) onto a DLNA/Airplay receiver that is a "Freebox Player" (local ip address: 192.168.0.19). Both are connected on the same Wifi network through a "Freebox Server" (local ip address: 192.168.0.254) used as a modem/router.

Until here, I get it working, but when I'm connected, still at home, to an OpenVPN client (openvpn 2.3.13 installed by HomeBrew) (so, it give me the "utun1" interface 10.14.0.210 as a local ip), that doesn't work. So "dlnast" seems not finding my "Freebox Player" anymore when I want to stream. I can ping both "Freebox Player and Server", they're responding... I can access files inside, and enter the router configuration... If I'm using another software like "Beamer" for example, that's working but I need and want to use "dlnast".

After few investigations with "Wireshark", when I start to stream, without VPN, my laptop is using 192.168.0.13 with the port 8888 (I can change it) to talk to the "Freebox Player" as 192.168.0.19 with the port 53512 both through the interface "en1" (Wifi), otherwise, when I start to stream with VPN, my laptop is using 10.14.0.210 with the port 3333 (seem I can't change it) to talk to something as 239.255.255.250 with the port 1900 both through the interface "utun1" (VPN tunnel), the strange thing is in both cases "dlnast" tell me it's starting a server on 192.168.0.13 on port 8888, even when connected to the VPN.

So, is there a way to route properly my local network through the VPN tunnel "utun1", or force my laptop using the "en1" interface (Wifi) when doing this kind of jobs?

As my low knowledge about the question not permit me to understand correctly routing tables, if someone could take time to explain me what's wrong, It would be very nice and any help will be welcome...

Thanks...

Here is the routing table when connected to the VPN

2 Answers 2

0

When your OpenVPN client is running, your media software is trying to use the VPN interface (utun1) address to listen to DLNA broadcasts, which will never work unless the broadcasts are coming from the OpenVPN server. I'm not really familiar with your media software, but maybe there's something in the configuration to tell it to always use the wireless interface (en1) instead.

I have lots of experience with OpenVPN and this kind of thing can be a real pain-in-the-butt when it happens.

1
  • Thanks for answer, I had a look on the software himself which is node.js written, as I'm not able to code in JavaScript to modify the code properly, and it doesn't seem to have available config files to modify... Maybe there is way to force a node module (seem to be something like "upnp-mediarenderer") to use a specific interface?
    – Nico
    Nov 16, 2016 at 21:56
0

Ok, finally, I found how to get it working, should be the same solution for most case like this one, not depending of which software you're using but it's question to route properly DLNA casting:

First you will need to investigate with Wireshark, when DLNA streaming is starting, it's discovering the network to find the receiver through the "SSDP" protocol (using 239.255.255.250 in my case, could be different, I'm not sure), it's attempting few times and if not responding, it stop.

I told I was sure my "Freebox Player" was known under 192.168.0.19 and my router "Freebox Server" got 192.168.0.254 on my local network.

So, we'll need to make sure the laptop know that, like:

sudo route add -net 192.168.0.19 -netmask 255.255.255.0 192.168.0.254

Now, we'll need to link the ip address the DLNA device discovery tool is trying to attempt directly to the "Freebox Player" to be sure that it will find it, that's make sense:

sudo route add -host 239.255.255.250 192.168.0.19

Done, that worked for me, hope it gonna work for anyone else...

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .