No puedo reenviar puertos para mi servidor ftp

No puedo reenviar puertos para mi servidor ftp

Tengo un enrutador ZTE mf283+ y otro enrutador tp-link archer c7 conectado que uso como punto de acceso. La dirección IP de Tp-link es 192.168.0.23 y tengo un servidor ftp configurado. Probé el reenvío de puertos para poder acceder al servidor ftp desde fuera: ingrese la descripción de la imagen aquí

Pero cuando intento acceder desde fuera de esta manera:ftp://37.xxx.xxx.xxx:21dice "No se puede acceder a este sitio 37.xxx.xxx.xxx se negó a conectarse. ¿Estoy haciendo algo mal o es algo con mi ISP?

Respuesta1

Gracias por leer el artículo que señaló Attie. Parece que quizás necesites un poco más de explicación. He encontradoGuía de firewall de OpenBSD, sección sobre "Problemas con FTP"ser informativo. Sin embargo, intentaré resumir el problema aquí.

Cuando el software se comunica utilizando los protocolos de Internet (IPv4 o IPv6), el "protocolo IP" (que estoy usando como término genérico, que se aplica igualmente a IPv6 e IPv4) incluye una dirección IP de destino. Cuando usa algunos protocolos como TCP (que hace FTP), UDP (que hace DNS), SCTP, también tiene un "número de puerto", que es parte de la razón por la que usamos el término "reenvío de puerto". (Algunos protocolos no usan un "número de puerto". Por ejemplo, ICMP usa IP y tiene "Tipos de mensajes", pero no "números de puerto").

La mayoría del software proporcionará información de dirección IP a los componentes de red TCP/IP de la computadora local y solo proporcionará a la computadora remota "carga útil" (que es cualquier otra información que la computadora remota necesite recibir). Por ejemplo, con HTTP, su navegador web le dice a su pila de red TCP/IP local que abra una conexión a una dirección IP, y su navegador web le dice al sistema remoto qué archivo desea recibir. Su navegador web no anuncia su dirección IP. Ese detalle lo manejan los componentes de red TCP/IP.

FTP es diferente de la mayoría del software.

En realidad, FTP incluye la dirección IP en su carga útil. Entonces, además de proporcionar la dirección IP como parte del paquete IP estándar, parte de la conversación FTP menciona qué dirección IP usar. El "reenvío de puertos" estándar simplemente modifica la ubicación estándar de una dirección IP y no modifica la conversación FTP.

FTP es un protocolo muy antiguo, escrito durante la época en que las universidades y las grandes corporaciones creaban la red como proyecto de investigación. Las defensas de Internet como los firewalls no existían ni eran necesarias en ese momento. Entonces, el problema que presenta FTP no fue una cuestión de mala autoría. El problema es simplemente que FTP fue diseñado para un estilo diferente de red.

Este problema es algo que se puede solucionar de tres maneras diferentes:

  • Podrías intentar utilizar FTP "pasivo". Esto puede funcionar con un servidor FTP que está detrás de un firewall (pero la carga se desplaza: el cliente FTP no necesita estar detrás de un firewall... por lo que a menudo este escenario tampoco funciona bien). Si esta solución es posible (lo que requiere que el software del cliente FTP admita esta función), esta puede ser la solución más rápida (cambiar una configuración en el software del cliente FTP), pero podría ser fácil o difícil dependiendo del software del cliente FTP que se utilice.
  • Muchos enrutadores admiten una opción llamada "proxy ftp" que modificará la conversación FTP y solucionará este problema de manera efectiva. Busque y habilite dicha opción (si existe)
  • use un protocolo diferente que no tenga el mismo problema

FTP es algo único. Los protocolos más populares hoy en día no tienen el mismo problema, y ​​no lo tendrán, porque ahora existen firewalls y por eso la gente es consciente del problema. (Si alguien escribiera un nuevo protocolo y esa persona no fuera consciente del problema, probablemente se le informaría antes de que el protocolo se volviera muy popular). Sin embargo, FTP fue la mejor solución en un momento dado, y la gente se mostraron reacios a utilizar otras soluciones. Una razón clave para esto puede ser que mucha gente tenía software FTP, incluidos navegadores web populares que admitían FTP.

Hoy en día existen soluciones disponibles mejores que FTP. Utilice el "Protocolo de transferencia de archivos SSH" (uno de los protocolos llamado "SFTP"), o SCP o HTTPS. Ninguno de estos requiere que se ejecuten servidores proxy especiales en los firewalls. Para soluciones que deben estar fácilmente disponibles para varios clientes, HTTPS puede ser la solución. (Incluso puede haber otras opciones, como FTPS, pero recomiendo los protocolos anteriores que acabo de mencionar).

Por lo tanto, se recomienda el último punto, pero si siente que no puede hacerlo por algún motivo, puede intentar con el primer o segundo punto (cada uno de los cuales podría ser una solución más rápida, aunque inferior, al problema que está buscando). estamos tratando).

información relacionada