Eu quero me conectar a um servidor FTP da minha rede local, que está por trás de um NAT.
O gateway é um servidor Win 2008, configurado com roteamento e serviços remotos / Nat ativado. O problema existe em computadores com XP, Vista sp1 e Vista sp2.
Aqui está o que eu recebo (usando o cliente FTP padrão do DOS, mas recebo a mesma coisa usando o FileZilla)
ftp> open ftp.foo.com
Connected to ftp.foo.com.
220-
[here I wait for 30s before getting the following line]
Connection closed by remote host.
ftp>
Como você pode ver, estou desconectado antes do processo de login, por isso não tenho a oportunidade de usar o PASSV.
Veja o que funciona:
- todo o resto (ou seja, todas as conexões não relacionadas a ftp)
- conexão a esse servidor específico do meu gateway NAT
- conexão em outros servidores do meu computador nativo
- conexão direta com a Internet para este servidor ftp específico do meu computador (ou seja, sem usar o servidor NAT)
A empresa que fornece o ftp diz que o problema não está no seu final, já que posso conectar-me a partir do meu servidor NAT. O mesmo raciocínio leva ao problema de não estar do meu lado nem (eu posso conectar em outros servidores ftp)
O que devo verificar?
EDIT: aqui está o que eu recebo quando eu sniff a conexão no gateway ao tentar se conectar do meu computador por trás do nat:
Na interface voltada para a Internet:
No. Time Source Destination Protocol Info
1312 320.576218 213.186.xx.xxx 192.168.1.1 FTP Response: 220-
1313 320.576602 213.186.xx.xxx 192.168.1.1 FTP Response: 220-Bienvenue,
1315 320.610911 213.186.xx.xxx 192.168.1.1 FTP Response: 220-
E na minha interface de LAN interna:
No. Time Source Destination Protocol Info
9288 118.698920 213.186.xx.xx 192.168.0.100 FTP Response: 220-
9293 118.890406 213.186.xx.xx 192.168.0.100 FTP Response: 220-Bienvenue,
Frame 9293 (166 bytes on wire, 166 bytes captured)
Ethernet II, Src: Tp-LinkT_c6:e2:3f (00:21:27:c6:e2:3f), Dst: Giga-Byt_22:b0:99 (00:1f:d0:22:b0:99)
Internet Protocol, Src: 213.186.xx.xx(213.186.xx.xx), Dst: 192.168.0.100 (192.168.0.100)
Transmission Control Protocol, Src Port: ftp (21), Dst Port: jini-discovery (4160), Seq: 7, Ack: 1, Len: 112
Source port: ftp (21)
Destination port: jini-discovery (4160)
Sequence number: 7 (relative sequence number)
[Next sequence number: 119 (relative sequence number)]
Acknowledgement number: 1 (relative ack number)
Header length: 20 bytes
Flags: 0x18 (PSH, ACK)
Window size: 65536 (scaled)
Checksum: 0xa5bc [incorrect, should be 0x96cb (maybe caused by "TCP checksum offload"?)]
[SEQ/ACK analysis]
File Transfer Protocol (FTP)
9306 119.187327 213.186.xx.xx 192.168.0.100 FTP [TCP Retransmission] Response: 220-Bienvenue,
9326 119.787350 213.186.xx.xx 192.168.0.100 FTP [TCP Retransmission] Response: 220-Bienvenue,
No. Time Source Destination Protocol Info
9373 120.987450 213.186.xx.xx 192.168.0.100 FTP [TCP Retransmission] Response: 220-Bienvenue,
Alguma idéia de por que esse problema de CRC pode estar acontecendo?
btw, aqui estão as minhas configurações de mtu (no gateway) e elas são idênticas no meu computador.
C:\Windows\system32>netsh interface ipv4 show interfaces
Idx Met MTU State Name
--- --- ----- ----------- -------------------
1 50 4294967295 connected Loopback Pseudo-Interface 1
10 30 1500 connected Local Area Connection
13 20 1500 connected Local Area Connection 2
E aqui estão algumas análises de MTU no meu computador:
Pinging 192.168.0.1 with 1472 bytes of data:
Reply from 192.168.0.1: bytes=1472 time<1ms TTL=128
Pinging 192.168.0.1 with 1473 bytes of data:
Packet needs to be fragmented but DF set.
Aqui está o que eu recebo se eu tentar conectar usando o telnet:
220-
Connection to host lost.
Press any key to continue...