【发布时间】:2019-04-09 19:31:48
【问题描述】:
案例:
[子网 A,192.168.2.0/24,基于 Padavan 固件的互联网 gw]
[ 子网 B ,192.168.1.0/24,基于 Padavan 固件的互联网 gw ]
子网 A (2.155) 的主机通过 VPN(可能的选项:PPTP、OpenVPN、L2TP w/o ipsec)连接到子网 B,并接收地址为 1.245/32
在子网 B 中存在主机 (1.10/32),它将多播数据报发送到 224.0.0.50:9898;在路由器上,我看到它们
tcpdump -i br0 -c 10 dst host 224.0.0.50 and port 9898 and multicast
13:46:54.345369 IP 192.168.1.10.4321 > 224.0.0.50.9898: UDP, length 135
我正在寻找解决方案来接收/转发这些广播消息,以便主机可以看到它们,通过 VPN 连接
在基于 Padavan 固件的路由器 B 上,如果需要,我有,并且仅限于 udpxy、igmproxy 实用程序。
在客户端主机上,我是基于 debian 的,通常不受工具限制。
数据报是专有协议,即不是 iptv 或视频流。
欢迎任何想法。
[UPD] 附加信息 - 根据 cmets 中的讨论
这是一个非常特殊的硬件设备,在以太网方面不是很健谈(比如 5 秒内最多 1-2 个数据报),因此肯定应该是相当可转发的。不幸的是,它纯粹通过广播发送状态更新。在子网 A 中确实存在类似的设备 + 控制软件。因此,我正在寻找一种数据报广播到子网 B 中的 224.0.0.50:9898 以重新出现在子网 A 中的方式。可能需要一些工具的帮助。可能是 smcroute,可能是 udpxy,也可能是 igmproxy
【问题讨论】:
-
224.0.0.0/24块中的任何多播地址都是不允许转发的链路本地多播(“它们不得作为实现中的默认值发送”) .该特定的多播地址224.0.0.50在一个范围内,224.0.0.37-224.0.0.68已注册给其他人。您应该使用组织本地范围内的地址239.0.0.0/8。您还需要一个支持多播的隧道,例如GRE,并且您需要启用多播路由(与单播路由非常不同).. -
见IPv4 Multicast Address Space Registry:“224.0.0.0和224.0.0.255之间的地址范围(含)是为路由协议和其他协议的使用而保留的低级拓扑发现或维护协议,例如网关发现和组成员报告。组播路由器不应转发目标地址在此范围内的任何组播数据报,无论其 TTL 是多少。"
-
@RonMaupin 我意识到这个限制 - 这就是为什么我正在寻找解决方法或省略限制/重新广播的方法。更强大的玩家(cisco、mikrotik) - 有一些解决方法。有一些实用程序,例如 udpxy - 将多播转换为 http 客户端的流(主要是视频)我也在寻求建议,我该如何实现一种重新广播隧道,并且希望 - 解决方法确实存在。 troglobit.github.io/howto/multicast
-
您应该使用实际允许使用的正确多播地址,而不是注册给其他人的地址。当您按设计使用组播时,与其他网络标准一样,组播工作得很好。您正在尝试做的类似于尝试在 UTP 上运行以太网超过 100 米;它在某些情况下可能会起作用,但它是非标准的,如果它不起作用,您不应该抱怨,只需使用标准光纤进行 100 米以上的距离即可。标准的存在是有原因的。
-
@RonMaupin 这是一个特定的硬件设备,在以太网方面不是很健谈(说 5 秒内最多 1-2 个数据报),因此肯定应该是相当可转发的。它通过广播发送状态更新。在子网 A 中确实存在类似的设备 + 控制软件。因此,我正在寻找一种数据报广播到子网 B 中的
224.0.0.50:9898以重新出现在子网 A 中的方式。可能需要一些工具的帮助。可能是github.com/troglobit/smcroute,可能是udpxy,也可能是igmproxy。有些工具确实存在^
标签: networking multicast pptp