Não é possível encaminhar a porta para meu servidor FTP

Não é possível encaminhar a porta para meu servidor FTP

Eu tenho um roteador ZTE mf283+ e outro roteador tp-link archer c7 conectado a ele que uso como ponto de acesso. O endereço IP do Tp-link é 192.168.0.23 e tenho um servidor FTP configurado nele. Tentei o encaminhamento de porta para poder acessar o servidor FTP de fora: insira a descrição da imagem aqui

Mas quando tento acessá-lo de fora assim:ftp://37.xxx.xxx.xxx:21diz "Este site não pode ser acessado 37.xxx.xxx.xxx recusou-se a conectar. Estou fazendo algo errado ou é algo com meu ISP?

Responder1

Obrigado por ler o artigo que Attie apontou. Parece que você só precisa de um pouco mais de explicação. encontreiGuia de firewall do OpenBSD, seção "Problemas com FTP"para ser informativo. No entanto, tentarei resumir a questão aqui.

Quando o software se comunica usando protocolos de Internet (IPv4 ou IPv6), o "protocolo IP" (que estou usando como termo genérico, aplicando-se igualmente a IPv6 e IPv4) inclui um endereço IP de destino. Quando você usa alguns protocolos como TCP (que o FTP faz), UDP (que o DNS faz), SCTP, você também tem um "número de porta", que é parte do motivo pelo qual usamos o termo "encaminhamento de porta". (Alguns protocolos não usam um "número de porta". Por exemplo, o ICMP usa IP e possui "Tipos de mensagens", mas não "números de portas".)

A maioria dos softwares fornecerá informações de endereço IP aos componentes de rede TCP/IP do computador local e fornecerá apenas "carga útil" ao computador remoto (que é qualquer outra informação que o computador remoto precise receber). Por exemplo, com HTTP, seu navegador informa à pilha de rede TCP/IP local para abrir uma conexão com um endereço IP, e seu navegador informa ao sistema remoto qual arquivo ele deseja receber. Seu navegador não anuncia seu endereço IP. Esse detalhe é tratado pelos componentes de rede TCP/IP.

FTP é diferente da maioria dos softwares.

Na verdade, o FTP inclui o endereço IP em sua carga útil. Portanto, além de fornecer o endereço IP como parte do pacote IP padrão, parte da conversa FTP menciona qual endereço IP usar. O "encaminhamento de porta" padrão apenas modifica o local padrão de um endereço IP e não modifica a conversa FTP.

FTP é um protocolo muito antigo, escrito na época em que universidades e grandes corporações faziam da rede um projeto de pesquisa. As defesas da Internet, como firewalls, não existiam e não eram necessárias naquela época. Portanto, o problema que o FTP proporciona não era uma questão de má autoria. O problema é que o FTP foi projetado apenas para um estilo diferente de rede.

Esse problema é algo que pode ser resolvido de três maneiras diferentes:

  • Você poderia tentar usar FTP "passivo". Isso pode funcionar com um servidor FTP protegido por um firewall (mas a carga é diferente: o cliente FTP não precisa estar protegido por um firewall... muitas vezes esse cenário também não funciona bem). Se esta correção for possível (o que requer que o software cliente FTP suporte esse recurso), esta pode ser a solução mais rápida (alterar uma configuração no software cliente FTP), mas pode ser fácil ou difícil dependendo de qual software cliente FTP é usado.
  • muitos roteadores têm suporte para uma opção chamada "proxy FTP" que modificará a conversa FTP, resolvendo efetivamente esse problema para você. Encontre e ative essa opção (se existir)
  • use um protocolo diferente que não tenha o mesmo problema

FTP é único. Os protocolos mais populares hoje não têm o mesmo problema, e não terão, porque os firewalls existem agora e as pessoas estão cientes do problema. (Se alguém escrevesse um novo protocolo e essa pessoa não tivesse conhecimento do problema, provavelmente seria informado do problema antes que o protocolo se tornasse muito popular.) No entanto, o FTP foi a melhor solução em determinado momento, e as pessoas estavam relutantes em usar outras soluções. Uma das principais razões para isso pode ser que muitas pessoas tinham software FTP, incluindo navegadores populares que suportavam FTP.

Hoje em dia existem soluções disponíveis melhores que o FTP. Use o "SSH File Transfer Protocol" (um dos protocolos chamado "SFTP"), ou SCP, ou HTTPS. Qualquer um deles não requer proxies especiais para rodar nos firewalls. Para soluções que precisam estar facilmente disponíveis para vários clientes, o HTTPS pode resolver o problema. (Pode até haver outras opções, como FTPS, mas recomendo os protocolos anteriores que acabei de mencionar.)

Portanto, o ponto final é recomendado, mas se você sentir que não pode fazer isso por algum motivo, você pode tentar o primeiro ou o segundo ponto (cada um dos quais pode ser uma solução mais rápida, embora inferior, para o problema que você estamos lidando).

informação relacionada