我在本地网络上设置 chromecast 时遇到困难。 Chromecast 设备已成功连接到我的网络,但报告无法访问互联网。这不是真的,因为我看到它成功解析了谷歌的服务器并通过 HTTPS 进行通信。我还看到多播正在运行,以便我的平板电脑能够连接到它。
我的路由器运行的是 shorewall 5(本质上是 iptables 包装器)。而且,对于无线,我正在运行 hostapd,但没有启用 AP 隔离(hostapd 中的默认设置)。
我运行了 tcpdump,但除了我自己拒绝使用 google 的 DNS 之外,没有看到任何内容被阻止。
我是否缺少什么,为什么设备无法访问“互联网”。
答案1
- 拒绝所有到 DNS 和 NTP 端口的出站 UDP 流量
- 将出站 UDP NTP 流量重定向到我的 NTP 服务器
- chromecast 将回退到 DHCP 提供的值(我本地有 DNS 和 NTP 服务器)
嗯,这既令人失望又简单得令人兴奋。令人失望的是缺乏文档,一些开源项目的文档比这个野兽要彻底得多。对于令人兴奋的简单部分,chromecast 需要 NTP 和 DNS 才能运行(DNS 很明显,NTP 则不那么明显)。如果您将数据包丢弃到 google 希望使用的 NTP 和 DNS 服务器,那么您就不走运了。您只需更改路由器上的规则集即可拒绝这些数据包,而不是默默地丢弃它们,它应该可以正常工作。此外,似乎还需要将 UDP NTP 流量重定向到您的 NTP 服务器。仅仅拒绝它是不够的。
谷歌工程师的维基页面会很棒。