Envie pacotes duplicados através de duas conexões com a Internet

4

Eu preciso duplicar um fluxo RTP em duas conexões de Internet diferentes (não confiáveis).

No lado do receptor, provavelmente executarei um programa personalizado que usará um buffer e reconstruirá o fluxo antes de usá-lo.

Mas tenho alguns problemas em dividir o tráfego nas duas conexões. Eu fiz uma pesquisa e descobri que talvez tc (parte de iproute2 ) poderia ser o que eu preciso.

    
por Andrea Spadaccini 01.04.2011 / 12:39

3 respostas

2

A versão 2.6.35 do kernel do Linux introduz uma nova opção de configuração CONFIG_NETFILTER_XT_TARGET_TEE :

This option adds a "TEE" target with which a packet can be cloned and this clone be rerouted to another nexthop.

Iptables suporta a meta -j TEE desde 1.4.8.

O suporte anterior foi feito através dos complementos do xtables , que incluem os módulos do kernel e as ferramentas do usuário. Você ainda pode preferir esta opção se preferir ficar com o kernel da sua distribuição e é muito antigo para ter TEE .

Há um tutorial por bjou (escrito antes do recurso ser incluído no kernel oficial e iptables).

    
por 04.04.2011 / 22:15
0

A pilha de protocolos de rede foi projetada para limitar a duplicação.

Você pode estar melhor com o tunelamento sobre TCP. Caso contrário, você provavelmente precisará criar seu próprio programa para duplicar sua saída. Quão pouco confiáveis são suas conexões. Os meus geralmente são bem mais de 99,9% confiáveis.

    
por 01.04.2011 / 15:51
0

Talvez um pacote de sniffing de pacotes como a scapy possa ajudar você. Eu usei recentemente para interceptar pacotes e modificar seus cabeçalhos. Isso basicamente equivale a criar um novo programa como BillThor sugeriu, mas eu achei o scapy muito fácil de usar. Embora isso possa não ser o melhor pacote de seu tipo, talvez algo semelhante atenda às suas necessidades.

    
por 01.04.2011 / 20:16