Rota / encaminhamento de tráfego entre sub-redes sobrepostas Linux

0

Eu configurei uma rede com a seguinte topologia:

Gateway (10.0.0.1)
      | tun0
      |
      |-----------------------| 10.0.0.0/16
      |                       |
      | tun0                  | tun0
Host A (10.0.1.1)         Host B (10.0.2.1)
      | wlan0                 | wlan0
      |                       |
      | 10.0.1.0/24           |----------------| 10.0.2.0/24
      |                       |                |
      | wlan0                 | wlan0          | wlan0
Client A (10.0.1.2)       Client B (10.0.2.2)  Client C (10.0.2.3)

No momento, os hosts A e B podem fazer ping no gateway e entre si. Além disso. cada cliente pode fazer ping do host diretamente conectado a ele, bem como dos outros clientes conectados a esse host. No entanto, gostaria que cada dispositivo pudesse executar ping em todos os outros dispositivos na rede (por exemplo, o Cliente A pode fazer ping no Cliente B, o Host A pode efetuar ping no Cliente C, etc.).

Eu tentei vários métodos de configuração de cada host para permitir o encaminhamento de pacotes entre clientes, outros hosts e o gateway. O primeiro método que tentei é usar o iptables em cada host para encaminhar o tráfego entre as sub-redes. Embora eu tenha tido sucesso usando tutoriais como um no Adafruit para permitir que os clientes façam ping nos hosts e no gateway; eles não permitem que outros hosts façam ping nos clientes. Eu também tentei soluções como este para rotear o tráfego entre sub-redes, mas eles parecem não funcionar com sub-redes sobrepostas. Eu também tentei criar uma interface de ponte em cada host que ligasse tun0 e wlan0, sem sucesso.

Estou aberto a alterar a configuração de endereços IP nesta rede, desde que a capacidade de todos os dispositivos se conectarem a todos os outros dispositivos seja preservada.

    
por Wesley Chalmers 24.06.2018 / 01:49

1 resposta

1

A solução (que parece dolorosamente óbvia em retrospectiva) é atribuir endereços IP da seguinte forma:

   Gateway 
      | tun0 (10.0.0.1)
      |
      |-----------------------| 10.0.0.0/24
      |                       |
      | tun0 (10.0.0.2)       | tun0 (10.0.0.3)
    Host A                 Host B 
      | wlan0 (10.0.2.1)      | wlan0 (10.0.3.1)
      |                       |
      | 10.0.2.0/24           |-------------------| 10.0.3.0/24
      |                       |                   |
      | wlan0 (10.0.2.2)      | wlan0 (10.0.3.2)  | wlan0 (10.0.3.3)
  Client A                Client B            Client C

Isso coloca as conexões do gateway / host em uma sub-rede separada. Nesta configuração, os tutoriais que envolvem o tráfego de roteamento entre duas sub-redes funcionarão. As rotas precisam ser configuradas em cada host e no gateway (por exemplo, ip route add 10.0.3.0/24 via 10.0.3.1 ).

    
por 24.06.2018 / 02:08