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.