servidor ftp no modo passivo na sub-rede privada

1

Eu tenho a seguinte configuração:

Cliente de FTP (public_IP1) = > internet = > Firewall (Public_IP2) = > Servidor FTP ( 10.10.12.171 )

Tenho as seguintes regras de iptables em Firewall :

DNAT        tcp  --  0.0.0.0/0      Public_IP2  tcp dpt:21 to:10.10.12.171
MASQUERADE  all  --  10.0.0.0/8     0.0.0.0/0

Eu também tenho nf_conntrack_ftp carregado em Firewall

nf_conntrack_ftp       13057  0 
nf_conntrack           79944  6 nf_conntrack_ftp,nf_conntrack_ipv4,nf_nat,iptable_nat,vzcpt,vzrst

No modo ativo, tudo funciona perfeitamente. No modo passivo eu tenho seguinte erro (no cliente):

ftp> passive
Passive mode on.
ftp> dir
227 Entering Passive Mode (10,10,12,171,86,26)
ftp: connect: No route to host

Eu acho que o cliente tende a se conectar ao meu IP privado ( 10.10.12.171 ). Como mudar isso?

    
por kakabomba 04.07.2015 / 20:26

2 respostas

0

Seu servidor ftp deve estar configurado, pois está atrás do NAT. Você não disse qual software de servidor FTP está usando, então eu fornecerei o exemplo de diretiva de configuração para proFTPd:

# If your host was NATted, this option is useful in order to
# allow passive tranfers to work. You have to use your public
# address and opening the passive ports used on your firewall as well.
MasqueradeAddress       Public_IP2
    
por 04.07.2015 / 22:35
0

Existem duas soluções:

  1. Como mencionado @ andrii-kupchanko você pode alterar a configuração do servidor FTP. Isso faz com que o servidor de força envie o IP externo ( Public_IP2 ) para o cliente como IP para conexão backward passiva. A desvantagem é a necessidade de encaminhar a conexão passiva de volta ao servidor FTP residente de sub-rede privada (via iptables) e às portas de ligação estaticamente usadas pelas conexões passivas

  2. Você só precisa de dois módulos nf_conntrack_ftp e nf_nat_ftp . A falta do segundo módulo é porque a conexão passiva ao servidor por trás do gateway não funcionou.

por 05.07.2015 / 02:09