Tengo una caja Linux con dos NICS:
eth0 192.168.11.14
eth1 192.168.12.14
Mi tabla de enrutamiento es la siguiente:
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
La ruta predeterminada (a través de eth0) funciona bien, pero los problemas están en la interfaz eth1. He configurado una puerta de enlace predeterminada para eth1 de la siguiente manera:
#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
La caja de Linux está conectada a un conmutador de capa 3 que enruta tres subredes:
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
Desde una dirección en la primera subred puedo hacer ping a todas las interfaces.
Los problemas surgen cuando intento llegar a 192.168.12.14 desde la subred 192.168.1.0 o viceversa.
Aquí están los resultados de 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..
Ahora viene lo realmente extraño: usando tshark puedo ver los paquetes de traceroute llegando en cada caso a sus respectivos destinos. Esto me dice que tanto la ruta de ida como la de retorno se están enrutando correctamente. Pero por mi vida no puedo entender por qué fallan tanto el ping como el traceroute.
Estoy razonablemente seguro de que no es un problema con el conmutador porque si hago de eth1 la puerta de enlace predeterminada en la máquina Linux, entonces funciona bien (pero luego tengo el mismo problema con eth0).
Estoy desesperado por esto; cualquier ayuda sería muy apreciada.
Respuesta1
Para referencia futura, @kasperd resolvió el problema subyacente en otro SFpregunta