Buenas RafaU
Mándamelas por privado, pero como digo dudo que sea un problema de enrutado... que ojo, puede ser, no es la primera vez que se pierden en el limbo, pero se comprueba rápidamente
Respecto a lo de los puertos creo que estás mezclando cosas que no tienen nada que ver. Cualquier conexión TCP/UDP se realiza obviamente por "puertos", son como canales de conexión. Cada conexión tiene un puerto de origen y un puerto de destino. Los Router que tenemos son dispositivos NAT, es decir, configuran una conexión a Internet y esta la comparte con toda nuestra red. Si no hiciese NAT solo podría tener un solo equipo Internet. Como la conexión es compartida, cuando aparece una conexión externa (el origen está fuera de la red), el Router tiene que saber para quien es esa conexión, porque el único dato que lleva esa conexión externa (originada externamente) es la IP de destino (que es la IP pública del Router, con lo que es la misma para todos los que están en la red local) y un puerto. El Router mira en su tabla NAT si algún equipo de la red local ha solicitado dicha conexión, si está "conectado" con ese equipo remoto para determinar a quien enviarle dichos datos, si el Router no encuentra nada en la tabla NAT bloquea el tráfico.
Es por esto que cuando se requiere cualquier servicio cuya conexión se inicie externamente y no se inicie dentro de nuestra red local, se requiere abrir puertos, que es decirle al Router que todo el tráfico que llegue al puerto X enviarlo al puerto Y del equipo Z. Por ende, para enviar un correo electrónico o para hacer uso del 99% de los servicios NO HAY QUE ABRIR ningún puerto. Cuando envías un correo por ejemplo es tu equipo quien inicia una conexión remota al puerto destino 25 por ejemplo (SMTP plano), pero el puerto local que va a usar tu equipo o el Router no es el 25, es uno cualquiera realmente, pongamos el 20000. Cuando el servidor de correo remoto tiene que responder con un OK aunque sea, por poner un ejemplo, lo hace DESDE su puerto 25, pero el puerto destino es el que en origen usase el PC (o Router, dependiendo del tipo de NAT) para enviar los datos, que no es el 25, en este ejemplo es el 20000. La información llegará al Router, mirará en el la tabla NAT si algún equipo de la red ha realizado una conexión desde el puerto 20000 , y si es así reenviará la información del servidor remoto que usa el puerto SMTP (25) al equipo de la red local que usa el puerto 20000. Sólo sería necesario abrir el puerto 25 a dicho equipo si dicho equipo hospedase un servidor SMTP, es decir, desde cualquier punto de Internet usase tu IP/dominio como servidor SMTP y se tuviese que conectar a él.
Lo de que no es necesario ninguna apertura hasta el 1024 no tiene ningún tipo de sentido. Por regla general los primeros 1024 puertos son más usados/conocidos a ciertos servicios, que son igualmente necesario abrirlos si se va a usar cualquier servicio que los use (servicio en modo servidor, no cliente). La única peculiaridad que tienen esos puertos en realidad es que determinados sistemas operativos pueden requerir permisos administrativos (root, especialmente en sistemas linux) para poder usarlos, porque son gestionados por el sistema. Pero nada más, su funcionamiento es el mismo que cualquier otro.