Eu comecei meu servidor ftp com pure-ftpd -l puredb:/etc/pure-ftpd/pureftpd.pdb -E -j -R -P 67.68.xxx.xx -s -A -j -Z -H -4 -E -R -G -X -x -d -d -U 113:000 -p 30000:30009 -c 50 -C 5
No meu arquivo de log Pure-FTPd, tenho:
[DEBUG] Command [pasv] []
227 Entering Passive Mode (67,68,xxx,xx,117,54)
No entanto, meu cliente ftp recebe isso:
---> PASV
227 Entering Passive Mode (192,168,2,23,231,6)
ftp: connect: No route to host
Por que isso está acontecendo e como posso receber o endereço IP correto? Obrigado.
linux
networking
ftp
lracicot
fonte
fonte
Respostas:
Porque o FTP envia endereços IP e portas dentro mensagens como esta (não apenas nos cabeçalhos dos pacotes), não é um protocolo compatível com NAT.
Devido a isso, os gateways NAT geralmente têm código especial para lidar com FTP. Esse código é conhecido como FTP "Application-Layer Gateway" ou ALG. Os ALGs FTP procuram mensagens como o comando PASV e reescrevem o endereço IP para representar o endereço IP público do gateway NAT, a fim de fazer a comunicação funcionar.
Se o seu cliente FTP estiver por trás de um gateway NAT e seu servidor FTP não estiver, o uso do modo passivo é uma maneira de contornar um gateway NAT incorreto que não possui um ALG FTP.
Se o seu cliente FTP estiver NÃO atrás de um gateway NAT, mas o seu servidor FTP É , então você pode usar o FTP ativo normal sem um problema, mas o modo passivo realmente quebraria neste caso se o gateway NAT na frente do servidor FTP não tivesse um bom ALG de FTP. Muitos gateways NAT têm ALGs de FTP meio quebrados que só fazem o FTP ativo funcionar para clientes FTP atrás do NAT, mas não lidam com o "FTP servidor por trás do caso NAT ". Aparentemente, muitos fornecedores de gateway NAT não pensam ou se preocupam com o caso do servidor por trás do NAT.
Se tanto o seu cliente FTP quanto o seu servidor FTP estiverem por trás de gateways NAT separados que não possuem ALGs FTP, o FTP ativo será bloqueado pelo NAT do cliente. e O FTP passivo será bloqueado pelo NAT do servidor, portanto você não poderá fazer FTP simples nesse caso, e precisará configurar algum tipo de túnel ou outra solução alternativa. A mudança para o FTP criptografado funcionará porque os protocolos FTP criptografados foram desenvolvidos depois que os gateways NAT eram comuns, e os autores sabiam que um gateway NAT não seria capaz de ver ou mexer com os componentes internos do protocolo, então eles tinham que projetá-lo para funcionar em todos os vários cenários NAT.
fonte