Freakazoid665, on Nov 21 2007, 01:51 PM, said:
ahora al menos sé que es por un mal firmware eso de que no se habrán los UDP (...)
Dices que estás "tras cortafuegos", así que te comentaré las comprobaciones que considero hace tu eMule para saber si está firewalled o no y, posteriormente, te intentaré explicar porque no tiene relación con que tu puerto UDP no esté abierto (para éste caso en concreto).
1era comprobación)
Esta, es la comprobación inicial y se realiza cuando pulsas el botón
conectar o
comprobar cortafuegos:
En éste caso, tú eMule enviará a algún contacto de tu lista un mensaje UDP en el que irá incluida una "señal"(para que el otro eMule sepa que estás comprobando tu estado), tu dirección IP y el puerto TCP que estás utilizando. El otro eMule te responderá con otro mensaje UDP en el que irá incluido otra "señal"(que le indica a tu emule que está respondiendo a la solicitud), la dirección IP y tu puerto TCP que ha recibido.
Por último, el otro contacto te intentará abrir una conexión a tu puerto TCP (con los datos que le has pasado) en la que incluirá una "señal" de acuse de recibo. Si tu eMule recibe esa conexión TCP en la que está incluida el acuse de recibo tendrás un estado "abierto", sino te asignará "tras cortafuegos".
2ª comprobación)
Tú eMule, cada cierto tiempo, seguirá comprobando tu estado y para ello aprovechará las comunicaciones UDP habituales en KAD. Es decir, en un mensaje UDP entrante que te realize otro cliente tú le enviarás la respuesta a lo que te solicita y además esa "señal" de que quieres comprobar tu estado. A partir de aquí, volvemos al primer caso y se efectúa la primera comprobación.
Por lo tanto,
si no pasas la primera comprobación, no es "culpable" del firewalled tu puerto UDP sino de la función SPI que lleva integrada el firewall del router o, en todo caso, de que no tienes abierto correctamente tu puerto TCP.
En mi opinión, tal y como te he comentado, tú envías un mensaje saliente a un contacto por el puerto UDP que hayas configurado (y que tu router, al ser saliente permite). Ese contacto te responde a ese mismo puerto UDP. En la mayoría de routers (por no decir todos) esa respuesta "dinámica" estaría permitida aunque no tuvieras abierto el puerto UDP (caso del ServerUDPPort que no es necesario abrirlo en el router y la mayoría lo tiene aleatorio para cada sesión = 65535), pero lo que es seguro, y en tu caso, es que esa respuesta UDP te la va a admitir, aunque no tengas abierto el puerto UDP, porque al tener el SPI activado, el router entiende que es una respuesta a una petición "normal".
El problema empieza cuando el otro contacto intenta una conexión TCP a tu puerto TCP. En esta segunda conexión, desde ese contacto que te intenta abrir el puerto TCP, tú no le habías enviado, previamente, ninguna petición vía TCP (es decir, es una conexión TCP entrante "pura y dura" = necesitas tener el puerto TCP abierto) y, o es indicativo de que no tienes tu puerto TCP correctamente abierto, o que el SPI (que creo es tu caso) te la ha rechazado por "seguridad",simplemente porque a esa IP no se le "había pedido" nada. Por lo tanto, no vas a recibir esa "señal" de acuse de recibo vía TCP y tendrás estado "tras cortafuegos".
Si esta primera primera comprobación la pasaras correctamente (que según mensajes previos, no es tu caso), entonces sí que podría ser correcto el que no tuvieras abierto el puerto UDP, puesto que a partir de la comprobación inicial y a no ser que pulses el botón de
comprobar cortafuegos tú eMule siempre intentantará averiguar su estado mediante la 2ª comprobación. Realmente, esta 2ª comprobación es la más válida, puesto que asegura que tienes abiertos el puerto TCP y UDP.
En esta 2ª comprobación, un cliente intenta contactar contigo mediante un mensaje UDP entrante sin tú haberle solicitado nada (es una conexión UDP entrante "pura y dura" = necesitas tener el puerto UDP abierto). Si no tienes el puerto UDP abierto esa comunicación no la vas a recibir nunca (da igual el router que tengas) y no podrá hacer las comprobaciones antes descritas. Lógicamente, aunque en el arranque inicial hayas tenido estado abierto, en comprobaciones automáticas posteriores siempre te dará "tras cortafuegos".
En resumidas cuentas, bajo mi punto de vista y aunque pueda parecer una tontería lo del SPI, en el caso de que un router tenga esa opción y se quiera usar eMule es tan importante abrir en el router el puerto TCP y UDP entrantes correctamente, como lo es desactivar esa función de seguridad llamada SPI (que según lo que comentas, no te es posible).
Un saludo.