Faça com que o cliente ftp da linha de comando do Linux ignore o endereço IP local no modo passivo

3

Estou tentando conectar-me a um servidor FTP que está por trás de um NAT. O IP local do servidor é 172.23.11.41 e o IP público é 194.239.61.58, e estou me conectando ao IP público.

Ao entrar no modo passivo, o servidor retorna seu endereço IP local, que é inútil. Exemplo:

227 Entering passive mode (172,23,11,41,234,113).

O cliente ftp da linha de comando do Linux não pode estabelecer um canal de dados quando isso acontece.

Eu preciso que o cliente ftp ignore o endereço IP retornado pelo modo passivo (PASV) ou use o modo passivo estendido (EPSV), que retorna apenas o número da porta. Exemplo:

229 Entering extended passive mode (|||64607|).

Existe alguma maneira de fazer isso?

Editar: Estou me dizendo que usamos ftp.x86_64, instalado chamando sudo yum install ftp .

    
por Martin Ørding-Thomsen 08.02.2017 / 13:06

2 respostas

4

Obtenha o servidor consertado. Ele deve ser configurado para relatar seu endereço IP externo. Ou o NAT deve ser configurado para traduzir o IP na resposta PASV .

O cliente comum da linha de comandos * nix ftp não pode ser configurado para usar o EPSV ou para usar o IP de conexão de controle em vez do IP retornado na PASV response.

Ou use outro cliente de FTP, como tnftp (use o comando epsv4 ) ou curl (o padrão é EPSV ).

    
por 08.02.2017 / 14:28
0

Martin Prikryl:

"Põe o servidor fixo. Deve ser configurado para reportar seu endereço IP externo. Ou o NAT deve ser configurado para traduzir o IP na resposta PASV."

Eu sou um administrador de FTP em uma instituição importante, onde usamos ambientes FTP em cluster de 4 nós. 2 ativos e 2 em espera, todos com carga balanceada e NAT. O problema não é necessariamente uma "correção do servidor". Todos os nossos servidores respondem com os IPs locais para conexões PASV. No entanto, se os LB's e os NATs estiverem configurados corretamente, o CLIENTE precisa ignorar o IP do PASV e usar seu IP de conexão de controle ao se conectar através do LB. O problema real é uma falha de cliente FTP / S do Linux. Nossa configuração é normal, padrão, que funciona lindamente com TODOS OS OUTROS CLIENTES que se conectam aos nossos sistemas de FTP. Nós só vemos este problema ao usar o FTP / S em caixas linux ou nosso mainframe. No linux e IBM z / OS, o cliente FTP / S não permitirá a conexão PASV se o PASV for diferente do IP do canal de controle.

Só queria explicar isso.

Para o pôster original: Dito isto, você pode tentar: ftp: ignore-pasv-address e ver se isso permitirá que você faça a conexão do canal de dados.

    
por 23.03.2018 / 15:32

Tags