I've got a MacBook Pro (running El Captain 10.11.6) (local ip address:, 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: Both are connected on the same Wifi network through a "Freebox Server" (local ip address: 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 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 with the port 8888 (I can change it) to talk to the "Freebox Player" as with the port 53512 both through the interface "en1" (Wifi), otherwise, when I start to stream with VPN, my laptop is using with the port 3333 (seem I can't change it) to talk to something as 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 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...


Here is the routing table when connected to the VPN


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.

|improve this answer|||||
  • 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 '16 at 21:56

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 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 and my router "Freebox Server" got on my local network.

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

sudo route add -net -netmask

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

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

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.