내 집 Kubuntu 11.10 시스템에서는 FTP를 통해 5791바이트보다 큰 단일 파일을 업로드할 수 없습니다. 저는 Konqueror, GFTP 및 Krusader를 사용하여 두 개의 서로 다른 FTP 서버(익명이 아니라 고용주의 FTP 서버)에 연결해 보았습니다. 또한 다른 사용자는 두 서버 모두에 더 큰 파일을 업로드할 수 있습니다. 문제가 내 쿠분투 데스크탑인지 아니면 라우터/ISP가 차단하는 것인지 알 수 없습니다. 다음과 같이 MTU를 변경해 보았습니다.이 문제그러나 그것은 문제를 해결하지 못했습니다. 이 문제를 어떻게 해결할 수 있나요? 내 집에는 FTP 전송을 할 수 있는 다른 컴퓨터가 없습니다.
동일한 시스템에서 SSH를 통해 더 큰 파일을 업로드하는 데 문제가 없습니다. 문제는 FTP에서만 발생합니다. 또한 수동 모드(CLI의 -p)를 통해서만 연결할 수 있습니다.
샘플 출력은 다음과 같습니다.
ftp> put smallFile.txt
local: smallFile.txt remote: smallFile.txt
227 Entering Passive Mode (50,63,78,1,198,219)
150 Accepted data connection
226-File successfully transferred
226 0.837 seconds (measured here), 48.98 bytes per second
41 bytes sent in 0.00 secs (494.3 kB/s)
ftp> put largeFile.txt
local: largeFile.txt remote: largeFile.txt
227 Entering Passive Mode (50,63,78,1,198,224)
150 Accepted data connection
421 Service not available, remote server has closed connection
7785 bytes sent in 0.00 secs (62315.9 kB/s)
ftp>
전화를 받으면 메시지가 나타날 때 150 Accepted data connection
까지 꽤 오래 기다렸습니다 .421 Service not available
답변1
이전에 vsftpd를 서버로 사용할 때(여기서는 pureftpd) 서버가 DATA 연결을 허용했지만 업로드된 파일에 잠금을 쓸 수 없을 때 이런 일이 발생하는 것을 본 적이 있습니다. 클라이언트는 송신 버퍼 + 서버의 수신 창만큼만 데이터를 보낼 수 있습니다. 자세한 내용은 기억나지 않지만 합하면 5791바이트가 넘습니다.
5791은 초기 TCP 혼잡 창인 4개의 전체 크기 패킷처럼 보입니다. 이는 마치 TCP ACK 패킷(SYN+ACK 제외)이 전송 중에 손실된 것과 같습니다. 투명한 프록시 문제 및/또는 방화벽 문제인 것 같습니다. FTP 핸드셰이크의 첫 번째 부분을 보지 못했습니다. TLS를 사용할 가능성이 있습니까? (서버가 이를 지원하는 것을 알 수 있습니다.)
"tshark -i any 호스트 50.63.78.1"을 실행하고 무슨 일이 일어나는지 확인합니다.