相信应该很多朋友都是像作者一样,使用基于Google TV或Andriod TV的机顶盒+openwrt软路由来进行NETFLIX观影。但是在IPV6的环境中,NETFLIX总是无法正常的工作,要么是无法连接,要么是提示使用了代理,要么是连接上了之后速度非常慢没有速度。
事情的原因就在于盒子等移动端的NETFLIX客户端内建了DNS服务(类似于安全DNS一样的功能),连接的时候通常都是先使用内建的DNS去将域名解析成IP后再进行连接。而目前几大主流科学上网插件(passwall/openclash)对IPV6的处理都不太好。
那么既然是IPV6的问题,就有对应的方法。一开始作者按照网上介绍的方法,在OPENWRT中对DNS进行劫持、重定向等,发现没有用。移动端的NETFLIX仍然固执的使用IPV6去连接服务器。除非在OPENWRT中将WAN6彻底关闭。
但是关闭WAN6后,会导致我们的家庭网络变成IPV4单栈运行,对于一些有特殊需求的小伙伴来说又会带来不方便。
最新解决方案:路由器使用openwrt可以通过防火墙禁止某个MAC获取IP地址,参考本博客另外一篇博文https://laoo.net/post/52
传统方案:使用一个不支持IPV6的二级路由器进行转接,这样可以使Android TV只获取到IPV4的地址。从而解决IPV6的问题,又不影响家庭的IPV6规划。
但是二级路由后,我们对移动盒子是无法直接访问的,要上传一些APK等又变得不方便了。这种情况我们可以在主openwrt中添加静态路由来对子网络的访问。
添加静态路由
添加完成后,我们就可以访问二级网络里的IP了。