Como duplicar pacotes multicast em diversas interfaces?

Como duplicar pacotes multicast em diversas interfaces?

Gostaria de enviar um fluxo de um servidor Linux para vários clientes Linux através de um endereço multicast. Os clientes estão diretamente conectados ao servidor, mas eminterfaces diferentes: bnep0e bnep1. Além disso, pelo que entendi, meus pacotes multicast são roteados para meu gateway padrão eth0.

Tabela de roteamento a seguir:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 bnep1
10.0.1.0        0.0.0.0         255.255.255.0   U     0      0        0 bnep0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

Suponho que preciso criar uma regra de roteamento dedicada, para que meus pacotes multicast sejam enviados não para eth0, mas para bnep0e bnep1. Minha pergunta é: como eu poderia fazer isso? Tentei usar ip routee iptables -t mangle ... TEE, mas não tive sucesso.

Desde já, obrigado.

Responder1

A solução não é implementar regras de roteamento para duplicar pacotes nas duas interfaces, mas simmesclaras interfaces em uma.

Para isso, é necessário criar e utilizar uma ponte de rede. A ponte deverá ter endereços IP exclusivos, enquanto as interfaces "reais" não, mesmo que estejam ativas.

# apt-get install bridge-utils
# ifconfig bnep0 up
# ifconfig bnep1 up
# brctl addbr br0
# brctl addif br0 bnep0
# brctl addif br0 bnep1
# ifconfig br0 10.0.0.1 netmask 255.255.255.0

informação relacionada