问题分析
软路由 OpenWrt 做网关,同时用 SS 透明代理所有国外 IP 的 TCP 连接,手机、电脑都无感翻墙。
Chromecast 在多个境外网站上投屏正常工作,Google Photos 投屏也正常,唯独 YouTube 无法投屏。
使用关键词 “chromecast youtube something went wrong” 没找到有用信息,把 ChromeCast 的语言改成中文后,用中文的报错信息一下就找到了,果然是天朝特有问题。Google 搜 chromecast youtube "出问题了"
。
问题原因在于 Chromecast 不使用 DHCP 分配的 DNS 服务器,用 8.8.8.8 解析,会拿到污染的结果,导致失败。
解决方案
解决方法很简单,在网关上劫持 8.8.8.8 的 53 端口 UDP 包,重定向到网关的无污染 DNS。
|
|
OpenWrt 网页 - NetWork - Firewall - Custom Rules, 把上述命令贴进去,保存即可。
也可直接修改 /etc/firewall.user
然后 /etc/init.d/firewall restart
生效。