让Chromecast跨子网工作


8

我知道Google表示不支持。 有没有人让Chromecast与不同子网上的客户端通话? 我有一个OpenWRT路由器连接到我的互联网提供商路由器(父路由器)。 OpenWRT网络是一个不同的子网,处理DHCP等。 OpenWRT网络(192.168.1.0/24)和父网络(192.168.11.0/24)

chromecast位于父网络上,我希望OpenWRT网络上的客户端使用Chromecast。

我启用了igmp_snooping,在反射器模式下运行igmpproxy和avahi-daemon。 我可以在bonjour资源管理器中看到Chromecast(来自OpenWRT网络上的计算机),但Chromecast应用无法连接。

我也试过在OpenWRT路由器上增加TTL

iptables -t mangle -A PREROUTING -i eth0 -d 239.255.255.250 -j TTL --ttl-inc 1
iptables -t mangle -A PREROUTING -i wlan0 -d 239.255.255.250 -j TTL --ttl-inc 1

使用wireshark,我可以看到,chromecast和计算机通过子网说话......但它仍然无法连接。

我也可以ping子网络的chromecast。

有人做过吗?有什么指针吗?

Answers:


1

据我所知,阻止Chromecast从其他子网使用的唯一问题是发现,这是由多播UPNP数据包处理的,不幸的是TTL为1.而不是让我的路由器执行所有常规的多播shenanigans并按照你的建议调整TTL,我写了一个python脚本,在另一个子网上宣传我的Chromecast。它可用 github上


-1

我可以看到2个潜在的问题。

1)Chromecast可能正在使用非路由协议。想想NetBIOS或IPX。仅仅因为它和它所连接的设备也使用IP进行管理,并不意味着视频数据包可以遍历该网络设备

2)您也可能遇到此路由问题。我已经看到廉价网络连接设备的几个问题,在192.168专用网络之间路由有问题。该网络空间不是为大型企业路由而设计的。当我们尝试通过调整网络掩码来合并两个相邻的范围时,我们在一个站点遇到了问题。应该没有问题,但路由器不会可靠地做到这一点。

如果你试试,10.x.64.0 / 23,你可能会有更好的运气。我建议范围因为它落在偶数位模式上。切换所有设备并将其重新链接是一件非常麻烦的事情,但它是作为网络重新设计的一部分实现的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.