Ir al contenido principal

Recientemente me ocupé de un sitio que parecía tener un problema con el enlace entre su módulo y uno de sus conmutadores Ethernet. Como prueba, el administrador del sistema, lo llamó Fred, hizo un ping al conmutador y como todos los pings obtuvieron una respuesta, Fred concluyó que el problema estaba en otra parte.

El problema con esta conclusión es que los pings no estaban pasando por el enlace del módulo con el interruptor.

Permítame describir la configuración de la red, he cambiado las direcciones IP a redes privadas pero la relación entre las interfaces y las redes es similar.

El módulo tiene dos interfaces, #enet10 y #enet192. La dirección IP de #enet10 es 10.1.1.1, esta es la interfaz que se conecta al conmutador sobre el enlace problemático. La dirección IP de #enet192 es 192.168.1.1, y se conecta a un conmutador diferente sobre un enlace diferente. La pasarela por defecto es 192.168.1.254 y no se configuran otras rutas. La dirección IP de administración del conmutador es 172.16.100.100.

Para llegar a 172.16.100.100 el módulo debe usar la pasarela por defecto y para llegar a la pasarela por defecto debe enviar los paquetes fuera de la interfaz #enet192. El conmutador ve la fuente de los paquetes ping como la dirección de #enet192, 192.168.1.1, y así responde a esa dirección. En ningún momento ninguno de los paquetes sale o llega a #enet10. El hecho de que #enet10 esté directamente conectado al conmutador no importa; lo único que importa es la dirección de destino del paquete y la tabla de enrutamiento del módulo.

Entonces, ¿hay alguna manera de que Fred pruebe el vínculo entre #enet10 y el interruptor? No, lo mejor que Fred puede hacer es hacer un ping a algún otro host en la subred 10. Eso causaría que los paquetes se transmitan desde #enet10 y pasen por el enlace a la máquina de destino y que las respuestas vuelvan de la misma manera, pero estaría probando tanto el enlace entre #enet10 y el switch como cualquier otro enlace entre el switch y la máquina de destino.

Fred podría usar el comando "netstat -interfaz #enet10" para ver si el hardware o el controlador están reportando algún error de bajo nivel en el enlace. El switch también tiene comandos que reportarán conteos de errores en el puerto conectado al enlace conectado a #enet10. Pero no hay forma de probar el enlace entre #enet10 y el switch.