On 02/14/2011 03:09 PM, Camaleón wrote:
Mecc .. Error. Es que no te viene una petición al puerto 25555 desde el exterior. La petición al puerto 25555 viene "dentro del túnel ssh" que ha establecido la máquina A hacia la máquina B.
En el ejemplo de la página anterior, el cliente remoto (casa) ejecutaba "ssh -p 2048" para conectar al equipo de la oficina :-?
Si pero esa petición va por el tunel ssh. Si te fijas hace "ssh -p 2048 localhost". Ataca localhost y no a la ip pública.
Una máquina local puede tener un puerto "local" abierto pero si se quiere acceder desde fuera tiene que pasar por el router/firewall.
Cierto. Pero no es así en este caso. La petición viene por dentro del túnel ssh.
Entonces no entiendo el ejemplo de la página web. Es el equipo "de fuera" el que conecta al equipo de la empresa, no al revés.
Si pero la diferencia es que conecta a través de una conexión pre-establecida (en este caso ssh) y no a través de una nueva conexión. Esa es la diferencia.
¿Qué hace que el router/firewall se vuelva "loco" y reconozca al enemigo como amigo? ¿Sólo por el hecho de que se haya creado una conexión desde dentro tiene prioridad y le da barra libre? Pues vaya con el SPI... ¿y eso es así para todos los cortafuegos/routers?>:-?
Es que para el firewall y/o router es una conexión legítima. En las tablas de conexión del firewall aparece algo tal que así:
Creation time Sender Src Addr Dst Addr Service IP protocol Src Port Dst Port State 2011-02-14 08:48:16 deagol 172.17.47.30 172.25.50.13 SSH TCP 57894 3020 TCP established
Esa conxión es un túnel ssh. Como ves no existe el puerto 25555, porque la conexión hacia ese puerto se hará a través de la conexión preestablecida por ssh.
Y eso para él es legítimo porque tiene una regla, por ejemplo, que dice:
Source: Maquinas internas Destino: Any puerto: any (o ssh).
El error es del administrador que permite esa conexión (no es un error si "debe" permitirla).
Vale, ¿pero como estableces una conexión desde un equipo remoto a esa conexión? Entiendo que desde dentro se pueda hacer (siempre y cuando se permita el tráfico saliente al puerto 22) la duda es cómo permite una conexión externa.
Es que donde te estás equivocando es en lo de pensar en "la duda es cómo permite una conexión externa".No es una conexión externa. La conexión se produce dentro de otra conexión ya establecida. Es muy sencillo. Como la máquina A (máquina interna) tiene una conexión abierta hacia la máquina B (maquina externa) y el firewall la permite, lo que tu haces es aprovechar esa conexión para encapsular otra dentro de ella que recorre el camino inverso. No es vista como una conexión inversa. Puedes hacer la prueba entre dos máquina de una lan interna (sin necesidad de que haya un firewall o router de por medio). Funcionará igual. Por ejemplo: Desde la máquina A: lanza un "ssh -N -R 25555:localhost:22 usuario@maquinaB". Te pedirá el password a menos que uses intercambio de claves. Desde la máquina B: lanza un "ssh -p 25555 localhost" y voilà, estarás dentro de la máquina A. Saludos. -- CL Martinez carlopmart {at} gmail {d0t} com -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org