FTP“425 데이터 연결을 열 수 없습니다”는 명령 프롬프트를 사용할 때만 발생합니다 작업을 시도하면 다음 오류가 발생합니다.

모든 컴퓨터가 단일 라우터 뒤에 있습니다. 그중 하나에서 FileZilla 서버가 실행 중입니다. 배치 스크립트와 Window의 내장 ftp.exe를 사용하여 서버에 업로드를 자동화하려고합니다. 라우터 외부에서 서버에 액세스 할 수 있도록 동적 DNS 서비스를 설정했으며 라우터에서 서버로 포트 전달을 설정했습니다. Chrome, Windows 탐색기 및 FileZilla 클라이언트를 사용하여 연결하고 전송할 수 있습니다. 그러나 ftp.exe (수동 또는 배치 스크립트)를 사용하려고 할 때마다 서버에 연결할 수 있지만 데이터 연결 (LIST, STOR 또는 RETR)을 여는 작업을 시도하면 다음 오류가 발생합니다. 데이터 연결을 열 수 없습니다. 두 컴퓨터의 방화벽 모두에서 ftp.exe를 허용했습니다. 무슨 일이 일어나고 있는지 또는 어떻게 해결할 수 있습니까? ftp를 사용할 필요가 없습니다.

편집 내 ISP가 해당 범위의 21 개와 다른 포트를 포함한 많은 포트를 차단한다는 것을 알고 있습니다. 이 포트는 모두 포트 2121에 설정되어 있으며 패시브 포트는 2122-2142로 설정되어 있으며이 포트는 모두 라우터로 전달되었습니다. 아마도 ftp.exe는 ISP가 차단 한 데이터 연결에만 특정 포트를 사용합니까? 그렇다면 어떻게 변경합니까?



답변

일반 활성 FTP는 전송을 위해 별도의 서버 시작 데이터 연결을 사용하며 제어 채널로는 일반 포트 21 연결 만 사용합니다. 그러나 클라이언트가 방화벽 뒤에 있으면 방화벽이이 연결을 차단할 수 있습니다. Chrome, Explorer, FireZilla 등이 수동 모드를 시도하기에 충분히 똑똑하다고 생각합니다.이 모드에서는 원래 클라이언트 시작 연결이 제어 및 데이터 채널 모두로 사용됩니다.

Windows의 기본 CLI FTP 클라이언트는 수동 모드를 지원하지 않는 것 같습니다. 따라서 NcFTP 로 전환해야합니다 . 또는 아마도 더 나은 옵션이라고 생각하면 SFTP를 대신 사용하는 것입니다. FTP는 안전하지 않으며 실제로 LAN에서만 사용됩니다. SFTP는 완전히 암호화되어 있으며 데이터 및 명령에 단일 채널 만 사용합니다. CLI SFTP 클라이언트가 필요한 경우 PSFTP 가 좋은 옵션입니다.


답변

Windows FTP CLI는 수동 모드를 지원합니다. “quote pasv”를 사용하여 수동 모드로 들어갑니다.


답변

나도이 문제가 있었다. 해결책은 안티 바이러스 (내 경우에는 McAfee)의 방화벽을 중지하고 FTP 포트를 차단하는 것이 었습니다.


답변