簡體   English   中英

在通過VPN連接的客戶端上接收特定的多播消息

[英]Receive specific multicast message on a client connected over VPN

案例:[子網A, 192.168.2.0/24 ,基於Padavan固件的Internet gw]

[子網B, 192.168.1.0/24 ,基於Padavan固件的Internet gw]

子網A(2.155)中的主機通過VPN(可能的選項:PPTP,OpenVPN,不帶ipsec的L2TP)連接到子網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上,如果需要,我擁有igmproxy實用程序,並且僅限於udpxy。

在客戶端主機上,我基於Debian,通常不受工具限制。

數據報是專有協議,即不是IPTV或視頻流。

任何想法都歡迎。

[UPD]其他信息-每個評論中的討論

這是一個非常特殊的硬件設備,以以太網術語來說不是很健談(5秒內說出最多1-2個數據報),因此可以肯定是可以轉發的。 不幸的是,它僅通過廣播發送狀態更新。 子網A中確實存在類似的設備+控制軟件。 因此,我正在尋找一種方法,將廣播到子網B中的224.0.0.50:9898的數據報重新出現在子網A中。可能需要借助某些工具。 可能是smcroute,可能是udpxy,也許是igmproxy

由於我不想解決已解決的問題,因此這是目前有效的解決方案

在子網BI中,已安裝配置為L2的openVPN服務器端點。

在子網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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM