Use o mesmo IP para 2 adaptadores Ethernet em diferentes redes físicas

1

Temos um painel Linux com duas interfaces de rede. Neste painel, é executado um software que precisa ser comunicado aos nossos dispositivos em nossa rede e precisa estar acessível a partir da rede de clientes. Uma interface está conectada à nossa rede de máquinas, com endereços de rede fixos (192.168.1.x), onde o painel tem sempre o IP 192.168.1.1. A outra interface é a conexão com a rede de clientes. Porque nós entregamos nossas máquinas em todos os lugares, os clientes da rede tem todo tipo de configuração. Então pode acontecer que nossa segunda porta de rede também esteja em uma rede 192.168.1.x, também pode acontecer de usarmos o mesmo IP 192.168.1.1

Esta configuração é possível? Como faço para configurá-lo no Linux?

    
por Jochen Kühner 27.06.2016 / 23:31

1 resposta

2

Infelizmente, isso não funcionará bem - não porque o IP esteja nas duas interfaces, mas porque a sub-rede é.

Se o seu dispositivo precisar falar com 192.168.1.2, em qual interface ele deve enviar o tráfego? Talvez seja o dispositivo do cliente que está tentando conversar com seu dispositivo. Talvez seja o seu dispositivo tentando falar com um de seus outros dispositivos. O kernel não sabe (sem um monte de complicada configuração de roteamento).

Algumas abordagens para isso:

  1. Escolha uma sub-rede tão pequena quanto possível, fora do espaço RFC1918 usado com menos frequência. Isso minimiza a chance de conflito, mas não pode eliminá-lo.

  2. Torne o espaço da rede interna configurável, para que o cliente (ou seu pessoal de suporte) possa alterá-lo para algo que não esteja em conflito.

  3. Use endereços locais de links em vez do espaço RFC1918. Tanto o IPv4 quanto o IPv6 possuem endereços locais de link.

  4. Solicite endereços IP públicos (roteáveis) a serem usados para isso. Você pode usar o mesmo conjunto deles em todos os seus dispositivos, basicamente você está usando-o como o espaço RFC1918, apenas você está garantido que nunca vai entrar em conflito. Muito difícil de fazer para o IPv4 (na maioria das vezes acabamos), deve ser muito mais fácil se você puder usar o IPv6.

  5. Se os processos que precisam se comunicar com o equipamento do cliente forem totalmente separados daqueles que precisam se comunicar com o outro equipamento, você poderá colocar cada interface em seu próprio namespace de rede (consulte ip netns ). cada namespace só vê uma das sub-redes 192.168.1.0/24, portanto não há conflito. Essa seria a configuração de roteamento mais simples e complicada.

por 28.06.2016 / 00:10