Pacotes de rede fluindo nos dois sentidos, mas ainda não conseguem se comunicar

Pacotes de rede fluindo nos dois sentidos, mas ainda não conseguem se comunicar

Eu tenho uma caixa Linux com dois NICS:

eth0 192.168.11.14

eth1 192.168.12.14

Minha tabela de roteamento é a seguinte:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.11.1    0.0.0.0         UG    100    0        0 eth0
192.168.11.0    *               255.255.255.0   U     0      0        0 eth0
192.168.12.0    *               255.255.255.0   U     0      0        0 eth1

A rota padrão (via eth0) funciona bem, mas os problemas estão na interface eth1. Eu configurei um gateway padrão para eth1 da seguinte forma:

#ip rule list
0:  from all lookup local 
32765:  from 192.168.12.14 iif eth1 lookup tbl_eth1 
32766:  from all lookup main 
32767:  from all lookup default

#ip route show table tbl_eth1
default via 192.168.12.1 dev eth1 

A caixa Linux está conectada a um switch de camada 3 que roteia três sub-redes:

192.168.1.0    interface ip 192.168.1.1
192.168.11.0   interface ip 192.168.11.1
192.168.12.0   interface ip 192.168.12.1

A partir de um endereço na primeira sub-rede, posso executar ping em todas as interfaces.

Os problemas surgem quando tento acessar 192.168.12.14 na sub-rede 192.168.1.0 ou vice-versa.

Aqui estão os resultados do traceroute:

#traceroute 192.168.12.14
traceroute to 192.168.12.14 (192.168.12.14), 30 hops max, 60 byte packets
1  192.168.1.1 (192.168.1.1)  0.532 ms  0.911 ms  1.074 ms
2  * * *
3  * * *
4  * * *
etc..

# traceroute -i eth1 -s 192.168.12.14 192.168.1.51
traceroute to 192.168.1.51 (192.168.1.51), 30 hops max, 60 byte packets
1  192.168.12.1 (192.168.12.1)  1.196 ms  1.559 ms  1.739 ms
2  * * *
3  * * *
4  * * *
etc..

Agora, aqui está a coisa realmente estranha: usando tshark eu posso realmente ver os pacotes traceroute chegando em cada caso em seus respectivos destinos. Isso me diz que os caminhos de saída e de retorno estão sendo roteados corretamente. Mas, pela minha vida, não consigo entender por que o ping e o traceroute estão falhando.

Tenho quase certeza de que não é um problema com a mudança, porque se eu tornar o eth1 o gateway padrão na caixa do Linux, ele funcionará bem (mas tenho o mesmo problema com o eth0).

Estou perdendo o juízo sobre isso - qualquer ajuda seria muito apreciada.

Responder1

Para referência futura, o problema subjacente foi resolvido por @kasperd em outro SFpergunta

informação relacionada