Streaming the HDHomeRun Extend (HDTC-2US) across the Internet.

I recently gave in and upgraded my internet to an unlimited bandwidth plan. As I’m now unlimited why not stream my HDHomerun Extend feeds through the internet as well. First I pointed VLC to the HDHR inernal IP address from work through my VPN… everything worked great when pointing both VLC and Firefox (with VLC browser plugin) at http://192.168.5.45:5004/auto/v43.1. But I still wanted to access via my internet public IP.

First, forward port 5004 into the HDHR using iptables:

 

 

   
#iptables -A FORWARD -p tcp --dport 5004 -i eth0 -d 192.168.5.45 -j ACCEPT
#iptables -A FORWARD -p udp --dport 5004 -i eth0 -d 192.168.5.45 -j ACCEPT

#iptables -t nat -A PREROUTING -d x.x.x.x -p tcp --destination-port 5004 -i eth0 -j DNAT --to 192.168.5.45
#iptables -t nat -A PREROUTING -d x.x.x.x -p udp --destination-port 5004 -i eth0 -j DNAT --to 192.168.5.45

Where x.x.x.x is your public IP address

However although the above should work just fine I still could not stream across the internet. A packet sniff showed the requests reaching the HDHR. Further investigation using Wireshark reveals that return traffic has TTL=3 in the IP header so by default you can only stream the HDHR if you are just a few hops away. Time to mangle the IP header with iptables again:

 

#iptables -t mangle -A FORWARD -s 192.168.5.45 -j TTL --ttl-set 64

Voila… I’m now streaming the HDTC-2US across the Internet.

Leave a Reply