Назад | Перейти на главную страницу

Присоединение к многоадресной рассылке UDP через сервер на другой стороне туннеля

Я нарисовал диаграмму ниже, чтобы помочь с этим вопросом!

Таким образом, одна компания опубликовала многоадресный UDP-канал (компания A), а другая компания подключается к нему (компания B). У меня есть двухточечный туннель до компании B.

Как я могу заставить нашу машину присоединиться к группе многоадресной рассылки, которую компания A публикует через машину компании B?

Мы можем пинговать машину компании B с терминала, если мы это сделаем

ping 192.168.255.1

Но, учитывая приведенный ниже сценарий Python, мы не получаем обратно никаких данных. Я предполагаю, что мы не маршрутизируем пакеты с 192.168.255.2 (наша машина) на 192.168.255.1 (машина компании B).

Есть идеи, как это сделать наилучшим образом?

Если да, то как мы можем это реализовать?

Большое спасибо заранее!

Диаграмма:

Вот код сокета, который я использую (Python):

import socket
import struct

MCAST_GRP = '233.xxx.xxx.xxx'
MCAST_PORT = 18000
host = '192.168.255.2'
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind((MCAST_GRP, MCAST_PORT))
sock.setsockopt(socket.SOL_IP, socket.IP_ADD_MEMBERSHIP,
                     socket.inet_aton(MCAST_GRP) + socket.inet_aton(host))

while True:
    print sock.recv(1024)

Вот конфиг:

tunnel    Link encap:UNSPEC  HWaddr xx-xx-xx-xx-xx-xx-xx-xx-00-00-00-00-00-00-00-00
          inet addr:192.168.255.2  P-t-P:192.168.255.2  Mask:255.255.255.252
          inet6 addr: xxxx::xxx:xxxx:xxxx:xxxx/64 Scope:Link
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1476  Metric:1
          RX packets:53 errors:0 dropped:0 overruns:0 frame:0
          TX packets:167 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:6872 (6.8 KB)  TX bytes:17522 (17.5 KB)