모든 컴퓨터가 단일 라우터 뒤에 있습니다. 그중 하나에서 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 포트를 차단하는 것이 었습니다.