[RESOLVIDO] Problemas acessar FTP
-
Seu servidor deve estar tentando comunicar via ftp modo ativo.
ip_do_seu_ftp.porta20 -> ip_do_seu_cliente.porta alta
-
Segue o log pelos 2 links mas agora a comunicação interna
LINK A
15:28:20.781042 IP 201.22.x.x.60183 > 192.168.x.x.21: Flags [P.], ack 3713252912, win 2026, length 26
15:28:20.781695 IP 192.168.x.x.20 > 201.22.x.x.60189: Flags ~~, seq 3501714132, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
15:28:20.781730 IP 192.168.x.x.21 > 201.22.x.x.60183: Flags [P.], ack 26, win 260, length 30
15:28:20.812791 IP 201.22.x.x.60189 > 192.168.x.x.20: Flags [S.], seq 2427334378, ack 3501714133, win 8192, options [mss 1452,nop,wscale 8,nop,nop,sackOK], length 0
15:28:20.813346 IP 192.168.x.x.20 > 201.22.x.x.60189: Flags [.], ack 1, win 260, length 0
15:28:20.817325 IP 201.22.x.x.60183 > 192.168.x.x.21: Flags [P.], ack 31, win 2019, length 6
15:28:20.817903 IP 192.168.x.x.21 > 201.22.x.x.60183: Flags [P.], ack 32, win 260, length 54
15:28:20.817924 IP 192.168.x.x.20 > 201.22.x.x.60189: Flags [P.], ack 1, win 260, length 12
15:28:20.817938 IP 192.168.x.x.20 > 201.22.x.x.60189: Flags [F.], seq 13, ack 1, win 260, length 0
15:28:20.817952 IP 192.168.x.x.21 > 201.22.x.x.60183: Flags [P.], ack 32, win 260, length 24
15:28:20.848933 IP 201.22.x.x.60189 > 192.168.x.x.20: Flags [.], ack 14, win 68, length 0
15:28:20.849671 IP 201.22.x.x.60183 > 192.168.x.x.21: Flags [.], ack 109, win 1999, length 0
15:28:20.857958 IP 201.22.x.x.60189 > 192.168.x.x.20: Flags [F.], seq 1, ack 14, win 68, length 0
15:28:20.858382 IP 192.168.x.x.20 > 201.22.x.x.60189: Flags [.], ack 2, win 260, length 0
15:29:18.933997 IP 192.168.x.x.21 > 201.22.x.x.60168: Flags [R.], seq 844573360, ack 243557362, win 0, length 0
15:30:28.933866 IP 192.168.x.x.21 > 201.22.x.x.60183: Flags [R.], seq 109, ack 32, win 0, length 0LINK B
15:26:52.902409 IP 201.22.x.x.60168 > 192.168.x.x.21: Flags [P.], ack 844573283, win 2026, length 26
15:26:52.902940 IP 192.168.x.x.20 > 201.22.x.x.60172: Flags ~~, seq 2312002024, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
15:26:52.902989 IP 192.168.x.x.21 > 201.22.x.x.60168: Flags [P.], ack 26, win 260, length 30
15:26:52.951223 IP 201.22.x.x.60168 > 192.168.x.x.21: Flags [P.], ack 31, win 2019, length 6
15:26:52.953779 IP 192.168.x.x.21 > 201.22.x.x.60168: Flags [P.], ack 32, win 260, length 41
15:26:53.205003 IP 201.22.x.x.60168 > 192.168.x.x.21: Flags [.], ack 72, win 2008, length 0
15:26:55.902657 IP 192.168.x.x.20 > 201.22.x.x.60172: Flags ~~, seq 2312002024, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
15:27:01.902678 IP 192.168.x.x.20 > 201.22.x.x.60172: Flags ~~, seq 2312002024, win 8192, options [mss 1460,nop,nop,sackOK], length 0
15:27:13.918462 IP 192.168.x.x.21 > 201.22.x.x.60168: Flags [P.], ack 32, win 260, length 6
15:27:14.171867 IP 201.22.x.x.60168 > 192.168.x.x.21: Flags [.], ack 78, win 2007, length 0Percebi que no link A tem uma comunicação maior na porta 20, o que me leva a pensar que talvez seja o problema que o Jack falou com a operadora. O que vcs acham?~~~~~~~~
-
Este segundo tcpdump do link B é da lan ou da wan?
-
Lan
-
faz o mesmo na wan e compara os resultados.
-
Eu já fiz,
@leandruco:Segue o log do TCPDUMP no momento em que é executando o comando para listar os diretórios.
OBS. A conexão é feita normalmente pelos 2 links porem quando é solicitado que liste o diretório que só funciona pelo link A.TCPDUMP link A:
11:34:00.125920 IP 201.22.95.99.55914 > 189.42.54.183.21: Flags [P.], ack 691336811, win 2041, length 16
11:34:00.126308 IP 189.42.54.183.21 > 201.22.95.99.55914: Flags [P.], ack 16, win 260, length 38
11:34:00.374007 IP 201.22.95.99.55914 > 189.42.54.183.21: Flags [.], ack 39, win 2031, length 0
11:34:03.388468 IP 201.22.95.99.55914 > 189.42.54.183.21: Flags [P.], ack 39, win 2031, length 19
11:34:03.389122 IP 189.42.54.183.21 > 201.22.95.99.55914: Flags [P.], ack 35, win 260, length 21
11:34:03.637331 IP 201.22.95.99.55914 > 189.42.54.183.21: Flags [.], ack 60, win 2026, length 0
11:34:05.458092 IP 201.22.95.99.55914 > 189.42.54.183.21: Flags [P.], ack 60, win 2026, length 27
11:34:05.458663 IP 189.42.54.183.21 > 201.22.95.99.55914: Flags [P.], ack 62, win 260, length 30
11:34:05.524721 IP 201.22.95.99.55914 > 189.42.54.183.21: Flags [P.], ack 90, win 2019, length 6
11:34:05.525131 IP 189.42.54.183.21 > 201.22.95.99.55914: Flags [P.], ack 68, win 260, length 41
11:34:05.768959 IP 201.22.95.99.55914 > 189.42.54.183.21: Flags [.], ack 131, win 2008, length 0
11:34:26.472034 IP 189.42.54.183.21 > 201.22.95.99.55914: Flags [P.], ack 68, win 260, length 6
11:34:26.745356 IP 201.22.95.99.55914 > 189.42.54.183.21: Flags [.], ack 137, win 2007, length 0TCPDUMP link B
11:36:00.160894 IP 201.22.95.99.55966 > 189.42.54.183.21: Flags [P.], ack 2523323193, win 2026, length 27
11:36:00.161612 IP 189.42.54.183.21 > 201.22.95.99.55966: Flags [P.], ack 27, win 260, length 30
11:36:00.206559 IP 201.22.95.99.55966 > 189.42.54.183.21: Flags [P.], ack 31, win 2019, length 6
11:36:00.207220 IP 189.42.54.183.21 > 201.22.95.99.55966: Flags [P.], ack 33, win 260, length 41
11:36:00.478272 IP 201.22.95.99.55966 > 189.42.54.183.21: Flags [.], ack 72, win 2008, length 0
11:36:21.199448 IP 189.42.54.183.21 > 201.22.95.99.55966: Flags [P.], ack 33, win 260, length 6
11:36:21.467695 IP 201.22.95.99.55966 > 189.42.54.183.21: Flags [.], ack 78, win 2007, length 0
11:38:28.714855 IP 189.42.54.183.21 > 201.22.95.99.55966: Flags [R.], seq 78, ack 33, win 0, length 0esse é o da wan, bem no momento do comando ls, pela maquina do cliente.
Externamente não sai nada na porta 20, mas na comunicação interna tem.
Como pode peixe vivo viver fora da auga fria. -
acho que seu problema é de roteamento.
parece que esta acontecendo o seguinte:
ip externo -> ip_wan2 -> nat_pfsense -> servidor ftp
quando o servidor de ftp vai iniciar o ftp ativo, acontece o seguinte
servidor ftp -> pfsense -> gateway_padrao(wan1) -> ip externo
muda seu ftp para mot pasive e veja se resolve o problema do link2
-
Em modo passivo funciona normal, mas eu preciso que funcione via linha de comando.
na maquina do cliente quando da o comando de listar ele exibe o seguinte:
200 PORT command successful
150 Opening ASCII monde data connection (E fica nisso a vida toda)O duro de ser rota é que eu n tenho nenhum gateway padrão definido, os 2 gw estão em tier diferentes e marcada a opção use stick cnnections.
-
Segue o log lado a lado
do lado direito pelo link A e do lado esquerdo o link BPercebi que as informações diferem a partir da linha 27.
-
Só para confirmar o problema( ou não ) de roteamento, monitora a lan e as duas wans quando estiver testando o link B
Deve aparecer o trafego da porta 20 tentando sair pelo link A enquanto o cliente espera a resposta pelo link B
-
Marcello vc mato a xarada
É roteamento sim17:56:22.178756 IP 200.195.x.x.10905 > 201.22.95.99.62894: Flags [ S ], seq 4220098226, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
17:56:25.182381 IP 200.195.x.x.10905 > 201.22.95.99.62894: Flags [ S ], seq 4220098226, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
17:56:31.182362 IP 200.195.x.x.10905 > 201.22.95.99.62894: Flags [ S ], seq 4220098226, win 8192, options [mss 1460,nop,nop,sackOK], length 0Apareceu requisições na iface do link A quando pedi para listar os arquivos conectado pelo link B
O que vc me sugere para consertar?
-
Infelizmente não tem conserto. :(
se você forçar o trafego pelo link B, quem vier pelo link A vai ter o mesmo problema.
A solução é ftp passivo, onde o cliente solicita a porta de dados.
-
Não acredito. =(
Vou deixar o FTP em um link só então caso o link venha a cair troco manualmente.
Eu não posso usar só o passivo, pois os clientes usam o modo ativo.EDIT
Mas percebi que o tráfego que se debanda para o outro link é o das portas altas. Que são a portas utilizadas para a troca de informações, será qeu n tem nenhuma regra minha atrapalhando ou é normal acontecer este problema?
EDIT2
Mas uma coisa. Mesmo não tendo setado nenhum gw padrão, ao executar o comando netstat -r o mesmo mostra o link A como rota Default.
Internet:será que não tem como apagar?
-
A questão é que no modo ativo, o servidor FTP inicia uma nova conexão até o cliente, o firewall não associa esta novo acesso com o nat estabelecido na porta de dados. Por isso o pacote sai pelo gateway1.
No modo passivo, o próprio cliente abre nova conexão,desta forma o firewall consegue devolver o pacote por onde ele chegou.
-
Perfeito Marcello.
Ficou mais do que claro a explicação. Infelizmente não tem o que fazer.
=X -
Só para complementar, a situação que expliquei acontece somente quando não há um proxy de ftp no router/firewall.
-
OPAAAA….
Mas em meu FW está habilitado o proxy FTP
![ftp proxy2.JPG](/public/imported_attachments/1/ftp proxy2.JPG)
![ftp proxy2.JPG_thumb](/public/imported_attachments/1/ftp proxy2.JPG_thumb) -
Só para complementar, a situação que expliquei acontece somente quando não há um proxy de ftp no router/firewall.
E aqui vamos nós novamente para a questão da diretiva "debug.pfftpproxy"….
leandruco, se você olhar lááááá no início deste tópico, vai perceber que já havíamos discutido sobre isso. É preciso avaliar se o teu cenário exige ou não um proxy ftp!
Dica: Avalie a possibilidade, neste seu caso específico, de utilização de um Web-FTP. Isso resolveria basicamente todos os teus problemas! ;)
Abraços!
Jack -
Eu já havia entendido.
-
Leandro tem como você postar as regras e como você deixou, pois estou com o mesmo problema. Só que no meu coloque o ftp em 1 link somente, mas não consigo liberar .
Obrigado
Rodrigo