Posso direcionar o tráfego destinado a uma interface local para outra interface?

1

Estou tentando configurar um testbench para um dispositivo transparente (chamado TD de agora em diante). O objetivo é garantir que ele seja encaminhado e registrado corretamente. Eu preciso usar apenas 1 máquina + o TD no banco de testes. Sim, duas máquinas seriam mais fáceis, mas me pediram para usar apenas uma. Algo parecido com isto:

+–––––––––––––––––––––––––+
|          Linux          |
+––––––––––––+––––––––––––+
|    eth1    |    eth2    |
|  10.0.0.1  |  11.0.0.1  |
+–––––––+–-––+–––-+–––––––+
        |         |               
        |         |         
     +––+-–––––––-+––+       
     |  Transparent  |     
     |    Device     |     
     +–––––––––––––––+     

Eu não tenho certeza se é possível, mas o objetivo é este: na caixa Linux eu posso enviar qualquer tráfego ip para 11.0.0.1 e tê-lo roteado eth1, logado no TD, e recebido na eth2. O mesmo vale para a outra direção. Eu quero que meu script de teste use apenas a pilha IP do Linux normal, abrindo sockets em 10.0.0.1 e 11.0.0.1, enviando dados de teste um para baixo e vendo se ele foi recebido pelo outro.

Eu já vi isso, sem sucesso:

  • link
    • Eu posso conseguir meio trabalho. Se eu remover 10.0.0.2 da tabela de roteamento local, adicione-o novamente como unicastbut, e adicionar a entrada arp eu posso pingar 10.0.0.2 e ver os pedidos de eco ir onde eu quero eles. Nenhuma resposta embora. Quando tento fazer a outra metade (sem entradas locais na tabela local), ping falha com "conectar: argumento inválido".
  • link
    • A caixa do linux não tem namespaces de rede.
  • link
    • Ainda brincando com isso, mas sem sucesso ainda. A configuração é um pouco diferente, é claro, já que o O TD não é um roteador.
por Ben Barbour 16.04.2014 / 20:31

0 respostas