Acabei de testar smcroute
com dois namespaces de rede e dois veth
pairs. Configuração:
ns1 <-- main namespace --> ns2
10.0.0.1 -- 10.0.0.254 10.0.1.254 -- 10.0.1.1
veth0b veth0a veth1a veth1b
O pacote Debian smcroute
é a versão 2.0.0, e parece não suportar eth virtual, então eu instalei a versão 2.3.1 do página inicial do smcroute . A rota de multicast como de smcroute
também é muito útil.
Eu usei o pacote ssmping
para testar multicasts. Eu corri ssmpingd
em ns2, enquanto ping com ssmping -4 -I veth0b 10.0.1.1
de ns1. Estes são multicast específicos da fonte (SSM) usando o grupo 232.43.211.234
, você também pode testar multicast de qualquer fonte (ASM) com asmping
. Não sei o que o mensageiro de LAN usa.
Eu habilitei o encaminhamento no namespace principal para permitir que as solicitações de ping unicast passem e, em seguida, fiz
smcroutectl add veth1a 10.0.1.1 232.43.211.234 veth0a
e tudo funcionou bem. Eu esperaria que também funcionasse, ajustado à sua configuração, embora você também tenha que smcroutectl join
informar aos seus switches que eles devem encaminhar os multicasts adequadamente. Múltiplas janelas do terminal tcpdump
em todas as interfaces relevantes ajudam bastante na depuração.
Achei as seguintes informações interessantes:
To be able to setup multicast routes a program must connect to the multicast routing socket in the kernel, when that socket is closed, which is done automatically when a UNIX program ends, the kernel cleans up all routes.
Isto significa que se você pretende usar o recurso de roteamento multicast do kernel, você deve usar um demônio, não uma ferramenta de linha de comando.
Para roteamento estático vs. dinâmico, diz:
The intended purpose of smcroute is to aid in situations where dynamic multicast routing does not work properly. However, a dynamic multicast routing protocol is in nearly all cases the preferred solution. The reason for this is their ability to translate Layer-3 signalling to Layer-2 and vice versa (IGMP or MLD).
Por fim, preste muita atenção no TTL produzido pelo seu mensageiro de LAN, consulte Perguntas frequentes sobre multicast no fim.