Netflix and IPv6 blocks and FreeBSD router

1 minute read

I’ve had issues for several years with mobile devices (particularly iPads) on my home network accessing Netflix. The loading spinner in the Netflix app just goes around and around and eventually times out with an error, and nothing ever works. None of the “Netflix doesn’t work on my iPad” troubleshooting steps work. Annoyingly it works just fine on the Roku, and generally on desktop computers.

Finally figured out that it seems the issue is that my home network’s IPv6 network is being caught in Netflix’s weird IPv6 filtering/throttling setup. This may be because after leaving my ISP my IPv6 traffic is going through Hurricane Electric (HE) on the way to Netflix’s servers. Netflix has had issues for many years with HE selling US-based IPv6 tunnels that people in other countries have used to access US Netflix content.

Whatever the specific reason, as soon as I blocked Netflix IPv6 addresses on my home network’s router the Netflix app started working on all tablets in the house, presumably defaulting back to IPv4. Luckily I was able to just block Netflix’s directly owned IPv6 network (2a00:86c0::/32) and not the Amazon Web Services IPv6 networks that are used by many Netflix services as well as by tons of other companies. And I didn’t have to turn off IPv6 entirely and lose it’s benefits for all the other Internet services that aren’t stupidly messing with networking like Netflix.

In case it’s useful for anyone else, here’s what I did to get this working on my FreeBSD router.

sudo route -6 add -net 2a00:86c0::/32 ::1 -blackhole

I believe this is what needs to be added to /etc/rc.conf, but I haven’t tested with a reboot yet.

ipv6_route_nullroute1="-net 2a00:86c0::/32 ::1 -blackhole"

This has been annoying for years, glad I finally figured it out, no thanks to Netflix.