在通过 VPN 连接的客户端上接收特定的多播消息
Receive specific multicast message on a client connected over VPN
案例:
[子网 A,192.168.2.0/24
,基于 Padavan 固件的互联网 gw]
[ 子网 B,192.168.1.0/24
,基于 Padavan 固件的互联网网关]
来自子网 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
我正在寻找 receive/forward 那些广播消息的解决方案,这样它们就可以被通过 VPN 连接的主机看到
在基于 Padavan 固件的路由器 B 上,如果需要,我有并且仅限于 udpxy、igmproxy 实用程序。
在客户端主机上,我是基于debian的,一般不限制工具。
数据报是专有协议,即不是 iptv 或视频流。
欢迎任何想法。
[UPD] 附加信息 - 根据评论中的讨论
这是一个非常特殊的硬件设备,在以太网方面不是很健谈(说 5 秒内最多 1-2 个数据报),因此肯定可以转发。不幸的是,它纯粹通过广播发送状态更新。在子网A中确实存在类似的设备+控制软件。因此,我正在寻找一种在子网 B 中广播到 224.0.0.50:9898 的数据报重新出现在子网 A 中的方法。可能需要一些工具的帮助。可能是smcroute,可能是udpxy,可能是igmproxy
由于我不喜欢留下未解决的问题,这里是目前有效的解决方案
在子网 B 中,我安装了 openVPN 服务器端点,配置为 L2。
在子网A中,我在控制主机上安装了openvpn客户端,连接到子网B,分配的接口是tapz
20: tapz: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
link/ether 0a:da:be:96:78:d9 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.245/24 brd 192.168.1.255 scope global noprefixroute tapz
valid_lft forever preferred_lft forever
inet6 fe80::8da:beff:fe96:78d9/64 scope link
valid_lft forever preferred_lft forever
所以现在在控制主机上我有:
从物理以太网 enp5s0 上的本地设备广播
sudo tcpdump -i enp5s0 -c 10 dst host 224.0.0.50 and port 9898 and multicast
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp5s0, link-type EN10MB (Ethernet), capture size 262144 bytes
13:55:05.642963 IP lumi-gateway-v3_miio56591509.4321 > 224.0.0.50.9898: UDP,
length 136
现在我也在 tapz 上接收来自远程网络设备的广播
sudo tcpdump -i tapz -c 10 dst host 224.0.0.50 and port 9898 and multicast
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tapz, link-type EN10MB (Ethernet), capture size 262144 bytes
13:53:49.141751 IP 192.168.1.10.4321 > 224.0.0.50.9898: UDP, length 135
到目前为止,我正在寻找 VPN 客户端上的必要数据报。远程端的 OpenVPN 也可以针对多播转发信息的过滤器进行优化。
对于来到这里的人,有同样的问题。
当您在 tap0 上进行必要的多播时,
你可以从 eth0 和 tap0 创建网桥
对于所有感兴趣的人的笔记,谁会来这里。
ip link add br0 type bridge
ip link set tap0 master br0
ip link set eth0 master br0
POC - 两个多播都在一个接口上
sudo tcpdump -i br0 dst host 224.0.0.50 and port 9898
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on br0, link-type EN10MB (Ethernet), capture size 262144 bytes
21:09:51.823632 IP 192.168.1.10.4321 > 224.0.0.50.9898: UDP, length 135
21:09:55.045138 IP 192.168.2.214.4321 > 224.0.0.50.9898: UDP, length 136
案例:
[子网 A,192.168.2.0/24
,基于 Padavan 固件的互联网 gw]
[ 子网 B,192.168.1.0/24
,基于 Padavan 固件的互联网网关]
来自子网 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
我正在寻找 receive/forward 那些广播消息的解决方案,这样它们就可以被通过 VPN 连接的主机看到
在基于 Padavan 固件的路由器 B 上,如果需要,我有并且仅限于 udpxy、igmproxy 实用程序。
在客户端主机上,我是基于debian的,一般不限制工具。
数据报是专有协议,即不是 iptv 或视频流。
欢迎任何想法。
[UPD] 附加信息 - 根据评论中的讨论
这是一个非常特殊的硬件设备,在以太网方面不是很健谈(说 5 秒内最多 1-2 个数据报),因此肯定可以转发。不幸的是,它纯粹通过广播发送状态更新。在子网A中确实存在类似的设备+控制软件。因此,我正在寻找一种在子网 B 中广播到 224.0.0.50:9898 的数据报重新出现在子网 A 中的方法。可能需要一些工具的帮助。可能是smcroute,可能是udpxy,可能是igmproxy
由于我不喜欢留下未解决的问题,这里是目前有效的解决方案
在子网 B 中,我安装了 openVPN 服务器端点,配置为 L2。
在子网A中,我在控制主机上安装了openvpn客户端,连接到子网B,分配的接口是tapz
20: tapz: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
link/ether 0a:da:be:96:78:d9 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.245/24 brd 192.168.1.255 scope global noprefixroute tapz
valid_lft forever preferred_lft forever
inet6 fe80::8da:beff:fe96:78d9/64 scope link
valid_lft forever preferred_lft forever
所以现在在控制主机上我有:
从物理以太网 enp5s0 上的本地设备广播
sudo tcpdump -i enp5s0 -c 10 dst host 224.0.0.50 and port 9898 and multicast
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp5s0, link-type EN10MB (Ethernet), capture size 262144 bytes
13:55:05.642963 IP lumi-gateway-v3_miio56591509.4321 > 224.0.0.50.9898: UDP,
length 136
现在我也在 tapz 上接收来自远程网络设备的广播
sudo tcpdump -i tapz -c 10 dst host 224.0.0.50 and port 9898 and multicast
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tapz, link-type EN10MB (Ethernet), capture size 262144 bytes
13:53:49.141751 IP 192.168.1.10.4321 > 224.0.0.50.9898: UDP, length 135
到目前为止,我正在寻找 VPN 客户端上的必要数据报。远程端的 OpenVPN 也可以针对多播转发信息的过滤器进行优化。
对于来到这里的人,有同样的问题。
当您在 tap0 上进行必要的多播时,
你可以从 eth0 和 tap0 创建网桥
对于所有感兴趣的人的笔记,谁会来这里。
ip link add br0 type bridge
ip link set tap0 master br0
ip link set eth0 master br0
POC - 两个多播都在一个接口上
sudo tcpdump -i br0 dst host 224.0.0.50 and port 9898
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on br0, link-type EN10MB (Ethernet), capture size 262144 bytes
21:09:51.823632 IP 192.168.1.10.4321 > 224.0.0.50.9898: UDP, length 135
21:09:55.045138 IP 192.168.2.214.4321 > 224.0.0.50.9898: UDP, length 136