Pacotes UDP duplicados e de saída NAT através de duas interfaces voltadas para a Internet.

0

Eu tenho um roteador, rodando Debian / Linux 4.1, que possui:

  • eth0: 192.168.1.1 anexado a uma LAN, executando o DHCPd para clientes com fio.
  • wan0: 1.2.3.4 anexado à internet
  • wan1: 5.6.7.8 conectado à internet

Eu quero tráfego UDP da LAN, para hospedar H, porta P, para ser duplicado e NATted para fora através de ambos wan0 e wan1.

por exemplo. rotear um pacote de 192.168.1.2, com o host / porta de destino correto, deve resultar em dois pacotes NATted - um enviado através de wan0 e um através de wan1, ambos com o mesmo host e porta de destino. / p>

(O requisito é que determinados tipos de tráfego UDP sejam enviados através de ambas as interfaces, minimizando a latência ao custo da largura de banda. O protocolo UDP em questão é idempotente e está feliz em receber pacotes duplicados, NATted de diferentes endereços de roteador .)

Como posso fazer isso com o kernel 4.1 / iptables? (Já existem soluções com kernels e nftables posteriores.)

    
por fadedbee 29.08.2017 / 15:44

2 respostas

2

Olhe para o alvo TEE do iptables. Ele é projetado principalmente para replicar o tráfego para um destino separado para fins de log ou IDS, mas também deve ser capaz de fazer o que você deseja. O Debian inclui o módulo para ele por padrão, então você não precisa de nenhum software extra.

    
por 29.08.2017 / 15:52
0

Eu acho que você pode provavelmente resolver isso usando o tee target em conjunto com namespaces de rede.

  • Coloque uma das interfaces WAN em seu próprio namespace de rede
  • Conecte os namespaces da rede a um par VETH.
  • No namespace da rede principal, use o destino TEE para enviar uma duplicata do tráfego para o namespace da rede secundária.
  • Masqurade o tráfego TEEd no segundo espaço de nomes da rede.

Não está claro para mim a partir da documentação se o TEE altera o IP de destino para a segunda cópia ou apenas altera o nexthop. Se isso alterar o IP de destino, você deverá desfazê-lo no segundo namespace da rede.

    
por 09.04.2018 / 19:26