FTP Interno Passando pelo FIREWALL

53 views
Skip to first unread message

ClaudioM

unread,
Nov 21, 2010, 10:55:49 AM11/21/10
to openbsdbr
Pessoal.

Tenho um OPENBSD servindo com GW da minha rede. Tenho varios
servidores por trás do FW. Montei um servidor de FTP na minha LAN
(192.168.1.207). Quando tento acessar da minha LAN, funciona
perfeitamente, mas quando tento acessar de um endereço externo, não
funciona!

Configuração do pf.conf (trechos)
- no rc.conf

ftpproxy_flags=YES
ftp lan do
openbsd
ftpproxy_flags="-vv -R 192.16.1.207 -p 21 -b 192.168.1.100"

----------------------------

- no pf.conf

rdr on $extIF proto {tcp,udp} from any to $ext_net port 2121 ->
192.168.1.207 port 21 # // ftp
rdr on $extIF proto {tcp,udp} from any to $ext_net port 50100:50250 ->
192.168.1.207 port 50100:50250

#pass in quick on $extIF inet proto tcp from any to 192.168.1.207 port
2121 flags S/SAFR synproxy state
#pass in quick on $extIF inet proto tcp from any to 192.168.1.207 port
50099 >< 50251 flags S/SAFR modulate state

------------------------------------

O servidor PROFTPD que roda na LAN, reponde pela porta 21. Fiz o
redirecionamento normal. Quando tento realizar minhas conexões
externas, funciona bem até o login e senha. Logo após quando digito
(DIR) para verificar os arquivos, aparece a seguinte mensagem:

ftp> dir
500 Illegal PORT command
425 Unable to build data connection: Connection refused

Alguém tem alguma dica??

Obrigado pela ajuda!

Att.
ClaudioM


Edson J Bueno

unread,
Nov 21, 2010, 2:27:30 PM11/21/10
to open...@googlegroups.com
acho que vc tem que liberar a porta 20 tambem...




--
Nenhum conhecimento tem valor se não for transmitido,
difundido e compartilhado.
Quem reparte o conhecimento com as outras pessoas,
não divide, soma!
André Prado

Antonio Feitosa

unread,
Nov 21, 2010, 11:54:35 AM11/21/10
to open...@googlegroups.com
colocou no modo passivo?


2010/11/21 ClaudioM <cmer...@gmail.com>:

> --
> Participe dos Fóruns Under-Linux.Org
> http://under-linux.org/forums/sistemas-operacionais/bsd/openbsd/

--
Antonio Feitosa
Administrador de Sistemas Unix

Éderson Chimbida

unread,
Nov 22, 2010, 8:46:20 AM11/22/10
to open...@googlegroups.com
http://openbsd.org/faq/pf/ftp.html

#/etc/rc.conf

ftpproxy_flags="-vv -R 192.16.1.207 -p 21 -b 192.168.1.100"

#/etc/pf.conf
ext_ip = "192.168.1.100"
ftp_ip = "192.16.1.207"

match out on $ext_if inet from $int_if nat-to ($ext_if)

anchor "ftp-proxy/*"
pass in on $ext_if inet proto tcp to $ext_ip port 21
pass out on $int_if inet proto tcp to $ftp_ip port 21 user proxy

--
Éderson H. Chimbida


2010/11/21 Antonio Feitosa <anton...@gmail.com>

ClaudioM

unread,
Nov 22, 2010, 3:58:14 PM11/22/10
to openbsdbr
Grande Bueno.

Já fiz isso também e respondi logo abaixo. Se souber de outro problema
que possa estar causando isso, me avise!!

Obrigado pela ajuda....mas ainda estou tentando!!

Att.
ClaudioM

On Nov 21, 5:27 pm, Edson J Bueno <edsonjbu...@gmail.com> wrote:
> acho que vc tem que liberar a porta 20 tambem...
>

ClaudioM

unread,
Nov 22, 2010, 3:57:00 PM11/22/10
to openbsdbr
Prezado Chimbida.

A dica não funcionou....inclusive até fiz novamente, pois já tinha
encontrado esta dica na net.

Agora esta assim:

#/etc/rc.conf
ftpproxy_flags="-vv -R 192.16.1.207 -p 21 -b 192.168.1.100"


pf.conf

match out on $extIF inet from $intIF nat-to ($extIF) -----(NAO
FUNCIONOU, estou usando openbds 4.6)

# redirecionamentos
rdr on $extIF proto {tcp,udp} from any to $ext_net port 20 ->
192.168.1.207
rdr on $extIF proto {tcp,udp} from any to $ext_net port 2121 ->
192.168.1.207 port 21 # // ftp
rdr on $extIF proto {tcp,udp} from any to $ext_net port 50100:50250 ->
192.168.1.207 port 50100:50250

anchor "ftp-proxy/*"
pass in on $extIF inet proto tcp to $extIF port 21
pass out on $intIF inet proto tcp to 192.168.1.207 port 21 user proxy

Obrigado pelo pronto atendimento ao meu problema, mas ainda estou sem
solução!!

Att.
ClaudioM




On Nov 22, 11:46 am, Éderson Chimbida <chimb...@gmail.com> wrote:
> http://openbsd.org/faq/pf/ftp.html
>
> #/etc/rc.conf
> ftpproxy_flags="-vv -R 192.16.1.207 -p 21 -b 192.168.1.100"
>
> #/etc/pf.conf
> ext_ip = "192.168.1.100"
> ftp_ip = "192.16.1.207"
>
> match out on $ext_if inet from $int_if nat-to ($ext_if)
>
> anchor "ftp-proxy/*"
> pass in on $ext_if inet proto tcp to $ext_ip port 21
> pass out on $int_if inet proto tcp to $ftp_ip port 21 user proxy
>
> <http://openbsd.org/faq/pf/ftp.html>--
> Éderson H. Chimbida
>
> 2010/11/21 Antonio Feitosa <antonio....@gmail.com>
>
> > colocou no modo passivo?
>
> > 2010/11/21 ClaudioM <cmerca...@gmail.com>:

ClaudioM

unread,
Nov 22, 2010, 4:00:40 PM11/22/10
to openbsdbr
Feitosa.

PROFTPD esta em modo passivo:

proftpd.conf
PassivePorts 50100 50250


Mesmo assim ainda não consegui resolver.....

Obrigado a você!!

Att.
ClaudioM

On Nov 21, 2:54 pm, Antonio Feitosa <antonio....@gmail.com> wrote:
> colocou no modo passivo?
>
> 2010/11/21 ClaudioM <cmerca...@gmail.com>:

Guilherme Alves

unread,
Nov 22, 2010, 4:46:11 PM11/22/10
to open...@googlegroups.com
Posta ai a configuração do seu server FTP que fica mais fácil.

Eu tb acredito que o problema é com a porta de dados, como o Bueno.
Você testou pra ver se o FTP esta mesmo configurado para as portas 50100 a 50250??
Pode ser que localmente ele execute na 20 e você não perceba.

att,

2010/11/22 ClaudioM <cmer...@gmail.com>



--
Guilherme Alves

Redes, Sites e Sistemas(RSS) - GRIS-DCC-UFRJ
Grupo de Resposta a Incidentes de Segurança
Conheça o GRIS em www.gris.dcc.ufrj.br

ClaudioM

unread,
Nov 22, 2010, 5:16:31 PM11/22/10
to openbsdbr
Guilherme.

Fiz sim....testei tudo....com telnet....
agora...externo não vai de maneira nenhuma....
já estou até apelando....rsrs...olha ai...


Então vamos ao problema:

Seguindo a ordem do FW

#redirecionamentos
rdr on $extIF proto {tcp,udp} from any to $ext_net port 20 ->
192.168.1.207 port 20
rdr on $extIF proto {tcp,udp} from any to $ext_net port 2121 ->
192.168.1.207 port 21 # // ftp
rdr on $extIF proto {tcp,udp} from any to $ext_net port 50100:50250 ->
192.168.1.207 port 50100:50250

# liberando a maquina somente para testes (esta maquina já tem gw para
o FW)
nat on $extIF from 192.168.1.207 to any -> $ext_net

# FTP LL
#pass in quick on $extIF proto tcp from any to $intIF port 2121 flags
S/SA keep state
#pass in quick on $extIF proto tcp from any to $ftp port 2121 flags S/
SA keep state

# FTP
#pass in quick on $extIF proto tcp from any port 20 to $intIF port >
49000 user proxy flags S/SA keep state
#pass in quick on $extIF proto tcp from any to $intIF port > 49000
user proxy flags S/SA keep state
#pass in quick on $extIF proto tcp from any to $intIF port 21 flags S/
SA keep state
#pass in quick on $extIF proto tcp from any to $ftp port 21 flags S/SA
keep state
#pass in quick on $extIF proto tcp from any to $intIF port > 49000
user proxy flags S/SA keep state

FTPPORTS="{ 50099 >< 50251 }" # Range de portas usadas pelo FTP
ativo
pass in quick on $extIF proto tcp from any port 20 to $intIF port
$FTPPORTS flags S/SA keep state



On Nov 22, 7:46 pm, Guilherme Alves <guilhermear...@gmail.com> wrote:
> Posta ai a configuração do seu server FTP que fica mais fácil.
>
> Eu tb acredito que o problema é com a porta de dados, como o Bueno.
> Você testou pra ver se o FTP esta mesmo configurado para as portas 50100 a
> 50250??
> Pode ser que localmente ele execute na 20 e você não perceba.
>
> att,
>
> 2010/11/22 ClaudioM <cmerca...@gmail.com>

Henrique G. Kuntze

unread,
Nov 22, 2010, 7:40:31 PM11/22/10
to open...@googlegroups.com
Boa noite Claudio,
 
Sera necessario usar o ftp-proxy em modo reverso e pelo que passou na sua conf. dele estará rodando no IP 192.168.1.100 . Tente algo assim:
 
ip_ftp_server="192.168.1.207"
ip_ftp_proxy="192.168.1.100"
 
rdr pass on $extIF inet proto tcp from any to ($extIF) port 20:21 -> $ip_ftp_proxy port 8021
rdr pass on $extIF inet proto tcp from any to ($extIF) port 50100:50250 -> $ip_ftp_server
 
Faça o teste.
 
Abraço,
 
Henrique

Henrique G. Kuntze

unread,
Nov 22, 2010, 7:43:38 PM11/22/10
to open...@googlegroups.com
Alias, em modo passivo redirecionando a 20 e 21 (acho que apenas esta, 21) para o ftp interno (e tb as portas altas, deve funcionar) o proxy para o modo ativo ... e tb as anchors ...
 
rdr pass on $extIF inet proto tcp from any to ($extIF) port 21 -> $ip_ftp_server
rdr pass on $extIF inet proto tcp from any to ($extIF) port 50100:50250 -> $ip_ftp_server
 
att
 
Henrique

Reply all
Reply to author
Forward
0 new messages