Resolvido - Acesso ao FTP passivo atrás do PFsense com IP público (tutorial)
-
Amigos!
Tudo bem?Gostaria de compartilhar com vocês, como solucionar a conexão no ftp em modo passivo tendo seu servidor ftp, atrás do pfsense e acessando-o por IP público dentro de sua própria rede ou, no caso de você possuir uma estrutura MPLS, onde as pontas necessitam acessar o ftp.
Alguns, apenas configuram uma NAT com a porta 21, e somente isso não soluciona o problema, permitindo que só a rede interna acesse seu ftp.
Vamos aos passos:
OBS: Não entrarei em detalhes de como ativar o modo passivo dentro do seu servidor ftp pois, existem vários como: o proftp, vsftp entre outros e cada um segue um jeito para ativar. E isso não é algo tão complicado.
Após ter ativado o modo passivo em seu servidor ftp, precisamos fazer DUAS NAT, tanto com porta 21, como o Range de portas que você escolheu.
Passo 1:
NAT 1:
No Pfsense, selecione o menu FIREWALL – NAT e adicione uma nova regra
Interface: wan
protocol: tcp
destination:
type: single host or alias ou wan address (dependendo do seu cenário)
address: no caso de single host insira seu IP público (200.x.x.x)Destination port range:
From: selecione FTP
To: selecione FTPRedirect target IP: IP interno de seu servidor ftp
Redirect target port: selecione FTPDescription: um nome para sua regra
Clique em Save
Passo 2:
NAT 2:
Novamente no Pfsense, selecione o menu FIREWALL – NAT e adicione uma nova regra
Interface: wan
protocol: tcp
destination:
type: single host or alias ou wan address (dependendo do seu cenário)
address: no caso de single host, insira seu IP público (200.x.x.x)Destination port range: selecione OTHER
Obs: insira as mesmas portas que você configurou no range de seu servidor ftp
From: insira sua primeira porta (ex: 40000)
To: insira sua última porta (ex: 50000)Redirect target IP: IP interno de seu servidor FTP
Redirect target port: selecione OTHER:
Insira somente a sua PRIMEIRA porta do rangeDescription: um nome para sua regra
Clique em Save.
Passo 3:
No Pfsense, selecione o menu System – Advanced e então a aba: Firewall / NAT.
Localize a opção Network Address Translation:Em NAT Reflection mode for port forwards, deixe selecionado: Enable (Pure NAT)
Um pouco mais abaixo, selecione as opções:
Enable NAT Reflection for
1:1 NATe
Enable automatic outbound
NAT for ReflectionClique em Save
Pronto!
Aqui está funcionando
Espero ter ajudado
Um abraço e obrigado
Douglas G. Oechsler
-
Olá doguibnu
Estou tentando Implementar o FTP da mesma forma que você descreve. Estou seguindo seu passo a passo porém.
Na segunda regra de NAT. para adicionar as portas 40000 e 50000.
da a seguinte mensagem.
The following input erros were detected:
Invalid characters detected Regra de comunicação. Please remove invalid characteres and save again.
já criei alias para portas, coloquei as portas manualmente é da o mesmo erro o que pode ser.
O PFsense que estou usando e o 2.2.4
Amigos!
Tudo bem?Gostaria de compartilhar com vocês, como solucionar a conexão no ftp em modo passivo tendo seu servidor ftp, atrás do pfsense e acessando-o por IP público dentro de sua própria rede ou, no caso de você possuir uma estrutura MPLS, onde as pontas necessitam acessar o ftp.
Alguns, apenas configuram uma NAT com a porta 21, e somente isso não soluciona o problema, permitindo que só a rede interna acesse seu ftp.
Vamos aos passos:
OBS: Não entrarei em detalhes de como ativar o modo passivo dentro do seu servidor ftp pois, existem vários como: o proftp, vsftp entre outros e cada um segue um jeito para ativar. E isso não é algo tão complicado.
Após ter ativado o modo passivo em seu servidor ftp, precisamos fazer DUAS NAT, tanto com porta 21, como o Range de portas que você escolheu.
Passo 1:
NAT 1:
No Pfsense, selecione o menu FIREWALL – NAT e adicione uma nova regra
Interface: wan
protocol: tcp
destination:
type: single host or alias ou wan address (dependendo do seu cenário)
address: no caso de single host insira seu IP público (200.x.x.x)Destination port range:
From: selecione FTP
To: selecione FTPRedirect target IP: IP interno de seu servidor ftp
Redirect target port: selecione FTPDescription: um nome para sua regra
Clique em Save
Passo 2:
NAT 2:
Novamente no Pfsense, selecione o menu FIREWALL – NAT e adicione uma nova regra
Interface: wan
protocol: tcp
destination:
type: single host or alias ou wan address (dependendo do seu cenário)
address: no caso de single host, insira seu IP público (200.x.x.x)Destination port range: selecione OTHER
Obs: insira as mesmas portas que você configurou no range de seu servidor ftp
From: insira sua primeira porta (ex: 40000)
To: insira sua última porta (ex: 50000)Redirect target IP: IP interno de seu servidor FTP
Redirect target port: selecione OTHER:
Insira somente a sua PRIMEIRA porta do rangeDescription: um nome para sua regra
Clique em Save.
Passo 3:
No Pfsense, selecione o menu System – Advanced e então a aba: Firewall / NAT.
Localize a opção Network Address Translation:Em NAT Reflection mode for port forwards, deixe selecionado: Enable (Pure NAT)
Um pouco mais abaixo, selecione as opções:
Enable NAT Reflection for
1:1 NATe
Enable automatic outbound
NAT for ReflectionClique em Save
Pronto!
Aqui está funcionando
Espero ter ajudado
Um abraço e obrigado
Douglas G. Oechsler
-
fiz a sua configuração, mas ainda não deu certo estou com uma versão mais nova, pode passar as telas do seu firewall
-
Uma observação em relação ao FTP passivo: o range de portas deve ser determinado pelo administrador da rede.
Esse range não é padrão e nem todos os servidores de ftp tem o mesmo comportamento. Os mais fáceis de se configurar o range são os Unix, o arquivo de configuração tem informações sobre os valores a serem alterados.
No Windows servers o ftp nativo tem comandos a serem dados na linha de comando com o range. No XP e XP pro o ftp nativo nem essa funcionalidade tem, deve ser substituído por um programa externo.
-
Boa noite Mano... cara vc me tirou de um martírio de mais de semanas que eu estava pesquisando e testando ANY opções.. fiz as confs conforme listou e funcionou perfeitamente.
muitíssimo obrigado.
-
@doguibnu said in Resolvido - Acesso ao FTP passivo atrás do PFsense com IP público (tutorial):
type: single host or alias ou wan address (dependendo do seu cenário)
address: no caso de single host, insira seu IP público (200.x.x.x)NESTE CADO TENHO A ORIGEM DE CONEXÃO RESTRITA AOS ENDEREÇOS EXTERNOS CADASTRADO SOMENTE AQUELE IPS VÃO ACESSAR O FTP.
O MODO ATIVO ESTA RODANDO MAIS PRECISO COLOCAR O PASSIVO NO SEU POSTE ESTA É MINHA DUVIDA
-
Boa tarde,
Dum servidor estou a tentar ligar a um ftp externo, ligasse ao ftp mas a seguir diz: "Response: 425 Can't open data connection for transfer of "/" Error: Failed to retrieve directory listing"
No pfsence já abri a porta 20 e 21 no firewall/nat e em rules/wan e na vlan correspondente.
O que poderei fazer mais ?
Obrigado