Mesma rede, duas placas de interface, hosts por trás de redes diferentes

1

Alguém pode ajudar com isso?

Eu tenho um gadget que tem um endereço IP fixo 10.0.0.2, que não posso alterar. Ele precisa falar com meu laptop, que por sua vez precisa falar com a internet.

Minha placa de rede principal obtém seu IP de um servidor DHCP. Eu tenho uma placa de rede secundária com endereço IP 10.0.0.5 e eu costumava falar com o dispositivo através desta interface.

Eu tive que mudar para outro segmento de rede, que por acaso tem seu alcance de ip como 10.0.0.0/24. Ótimo. Eu não posso influenciar isso também.

Agora estou com um problema. O 10.0.0.2 está em uso, então não posso fazer a coisa mais fácil e conectar o gadget com o IP fixo a essa rede e viver feliz para sempre.

O que significa que agora preciso manejar meu host Ubuntu de tal maneira que ele possa falar com 10.0.0.254 (gateway padrão) através de eth0 e 10.0.0.2 até eth1. Como eu faço isso? Minha eth0 recebe um IP 10.0.0.x aleatório e minha eth1 é fixada em 10.0.0.5.

O que tentei é o seguinte:

  1. adicione uma entrada estática à tabela arp para informar que 10.0.0.2 está em xx: xx: xx: xx: xx: xx por meio da interface eth1
  2. Tentei vincular minha conexão de saída a 10.0.0.5 ao falar com 10.0.0.2
  3. Altere a eth1 para algo completamente diferente (10.42.0.1) e use iptables para fazer com que quando um pacote é transmitido para 10.42.0.2, ele realmente iria para 10.0.0.2.

Nada disso funciona. Quando tcpdump a eth1, todo o tráfego ainda tenta sair via eth0 nos casos 1 e 2. Com o caso 3, posso fazer o redirecionamento para 10.0.0.2 acontecer mas o tráfego então só escolhe a interface errada e sair da eth0 como a eth1 não tem um endereço lá.

Como devo fazer isso? Eu sei que isso é um problema bobo, não precisa me dizer isso. Deveria haver uma maneira de mudar uma dessas redes, mas isso simplesmente não é uma opção no momento. Eventualmente, será, mas se eu conseguir encontrar uma solução temporária, economizarei algumas semanas.

A única maneira que eu acho que posso resolvê-lo é pegar outro computador, conectá-lo a eth1, usar a rede 10.42.0.0/24 para isso e, em seguida, configurar esse computador para retransmitir o tráfego para 10.0.0.2. Isso deve funcionar agora, pois não tem mais de uma interface nessa rede. O problema com isso é obter o outro computador ou roteador.

H

    
por Hannu 07.04.2017 / 18:16

0 respostas