FTP 정지 : 150 ASCII 모드 데이터 연결 열기


15

Windows 2008 서버 (R2)에서 FTP 서버를 설정하고 있습니다.

모든 것이 올바르게 설치된 것처럼 보이지만 FTP 클라이언트를 사용하여 FTP 서버에 로그인하는 데 문제가 있습니다.

서버에서 원격 데스크톱을 사용할 수 있으며 DOS 명령을 통해 쉽게 로그인 할 수 있습니다.

그러나 "DIR"과 같은 명령을 실행하면 다음과 같이 중단됩니다. 150 ASCII 모드 데이터 연결 열기.

내가 연구하고 읽은 모든 것은 방화벽 포트 및 / 또는 수동 / 활성 모드 설정을 가리 킵니다.

DOS FTP 명령을 사용하는 경우 "localhost"를 내 주소로 사용하는 경우에만 로그인하고 "DIR"명령을 사용할 수 있습니다.

전체 FTP URL을 지정하면 중단 오류가 발생합니다.

"localhost"URL을 지정하면 오류가 발생하지 않습니다.

이것은 방화벽 문제 (또는 IIS7 문제)를 믿게하지만 어떤 포트를 열어야하는지 잘 모르겠습니다.

Windows 방화벽에 포트 20, 21이 열려 있습니다. 또한 AWS (Amazon) 방화벽에서 해당 포트를 열었습니다.

FTP 클라이언트가 두 방화벽 중 하나에 의해 잠재적으로 차단 된 일부 장거리 포트 번호를 사용하고 있다고 생각합니다. 네트워크 모니터링 도구를 사용하여 호출중인 포트를 확인하려고 시도했지만 알 수 없습니다.

어떤 아이디어, 팁, 트릭, 도움?

답변:


9

FTP 서버와 FTP 클라이언트는 FTP의 "제어 채널"을 사용하여 데이터 전송에 사용할 포트 ( "dir"또는 "ls"를 수행 할 때 디렉토리 목록 포함)를 협상합니다. 따라서 "AWS 방화벽"이이 채널에서 프로토콜 검사를 수행하지 않는 경우 트래픽 흐름을 허용하기 위해 동적으로 열려야하는 포트를 알 수 없으며 해당 포트를 더 이상 사용하지 않으면 닫습니다.

네트워크 모니터링을 사용하여 사용중인 포트를 발견하는 IMHO는 새로운 FTP 세션마다 포트가 변경되므로 노력할 가치가 없습니다.

당신이 이미 그것을하지 않았다면,이 문제를 해결하기위한 최선의 방법은 FTP 서버를 보호하고있는 방화벽에서 어떤 조정이 있는지 찾아 보는 것입니다. FTP 프로토콜을 검사 할 수있는 "손잡이"입니다.


6

ls명령 을 사용하여 Ubuntu 명령 줄에서 UNIX FTP 호스트 서버에 저장된 파일을 나열 하려고 할 때도 같은 메시지가 나타납니다 . ftp ftp.example.com메시지가 표시되면 사용자 이름과 비밀번호 를 사용 하고 입력 하여 성공적으로 로그인 할 수있었습니다 . 그러나 나는 150 Opening ASCII mode data connection메시지를 받고 아무 일도 일어나지 않았다. 그런 다음 명령으로 간단히 옵션을 입력하고 -p(방화벽을 처리하기 위해 "수동"모드로 변경) 작동했습니다.

 ftp -p ftp.example.com

프롬프트가 표시되면 사용자 이름과 비밀번호를 입력하면 ls및 등의 명령 cd이 작동합니다. 이 명령을 입력해도 똑같은 작업을 수행 할 수 있지만 테스트하지는 않았습니다.

pftp ftp.example.com

나는 그 질문이 Windows와 관련이 있다는 것을 안다. 그러나 동일한 오류가 발생하면이 팁을 게시 할 가치가 있다고 생각했습니다.


굉장 .. 즉시 도움이되었습니다
Sambhav Sharma

5

연결이 중단 된 이유에 대한 실제 정보를 얻으려면 모든 프로토콜 명령을 기록하는 클라이언트를 사용해야 실제 상황을 확인할 수 있습니다. 예제 로그가있는 FTP에 좋은 사이트가 있습니다 .

그래도 대부분

  1. 클라이언트가 (벙어리 또는 기타 SSL 차단) 방화벽 뒤에 있고 활성 모드 FTP를 사용하려고합니다.
  2. 서버가 (벙어리 또는 기타 SSL 차단) 방화벽 뒤에 있고 수동 모드 FTP를 사용하려고합니다.

SSL을 사용하는 경우 유일한 해결책은 방화벽에서 포트 범위 (예 : 10000-11000)를 열고 수동 모드를 강제하고 해당 포트 범위를 사용하도록 FTP 서버를 구성하는 것입니다. 서버가 NAT를 사용하는 경우 서버가 클라이언트에 알릴 수 있도록 적절한 IP 주소를 설정해야합니다. 서버가 수동 모드 연결 문자열로 제공하는 모든 것을 준수하고 서버가 10.1.1.1이라고 생각하면 클라이언트에게 알려줄 것입니다.

SSL을 사용하지 않는 경우 가장 좋은 대답은 방화벽에서 FTP에 대한 프로토콜 검사를 수행 할 수 있는지 확인하는 것입니다. 방화벽은 포트 21의 트래픽을 읽고 서버가 열고 자하는 포트를 엽니 다. 방화벽이 NAT를 처리 할 때 종종 NAT 주소도 수정할 수 있습니다. 일부 사람들은 FTP 클라이언트를 올바르게 구성하는 방법을 모르고 있으며 요즘 거의 모든 사람들이 광대역 라우터 / 방화벽 뒤에 있기 때문에 수동 모드를 계속 사용하고 싶을 것입니다.

더 현명한 방화벽을 얻을 수 없다면, "다양한 포트 열기"옵션을 고수해야합니다 (또는 ssh의 sftp와 같은 임의의 포트를 열 필요가없는 프로토콜로 전환).


4

이 문제가 있었고 다음을 수행하여 해결되었습니다.

기본적으로 수동 모드를 통해 연결되는 FireFTP를 사용하고있었습니다. IIS에서 FTP를 설정할 때 기본 포트는 21입니다. 방화벽에서 포트 21을 열어야했지만 단계가 더 열렸지만 ASCII 모드 데이터 연결 열기 에서 중단되었습니다 .

그 결과 다른 동적 포트를 선택합니다. FTP를 끄면 방화벽이 제대로 연결되는 것처럼 방화벽 문제라는 것을 알았습니다. 또한 서버에서 로컬로 문제가 없습니다.

수정하려면 IIS (버전 8.0 사용, 7.5와 동일 함)를 트리 의 서버 수준 (최상위 노드)에서 한 번 클릭하여 "FTP 방화벽 지원"을 선택했습니다. 사용하는 각 FTP 사이트는이 포트 범위를 사용하며 개별 FTP 사이트는이 섹션에서 상속 된대로이 옵션이 회색으로 표시됩니다.

데이터 채널 포트 범위에서 지정 X의 내 경우, 포트의 양을 10000-10125 .

이제 방화벽에서 해당 TCP 포트 범위를 "FTP 수동 포트 범위"로여십시오.

그런 다음 문제가 해결 될 것이라고 생각했지만 그다지 좋지는 않았습니다. 새 포트 범위를 선택 하려면 Microsoft FTP 서비스 서비스 를 다시 시작하십시오 . FireFTP / 클라이언트를 닫고 다시 시도하십시오.


1

나는 당신과 같은 문제가 있고 지금 고쳤습니다.

내가 한 것은 Windows 방화벽 (Win7)을 열고 'Windows 방화벽을 통해 프로그램 또는 기능 허용'을 클릭 한 다음 '허용 된 프로그램 및 기능'목록에서 '파일 전송 프로그램'을 찾아 확인란을 선택하십시오.

완료되면 명령 프롬프트를 열고 ftp XXXX를 입력하고 로그인 한 다음 ls / dir / get / put을 입력하십시오. 이제 모두 작동합니다.

그러나 여전히 File Zilla 및 웹 브라우저에서 연결하지 못했습니다. 유용하게되기를 바랍니다.



1

설정에서 아무것도 엉망으로 만들지 마십시오

사전 보안으로 Windows 방화벽에 아웃 바운드 규칙을 추가하고 포트 번호를 20으로 설정하십시오.

CLI에서 FTP 즐기기


1

나를위한 문제는 원격 호스트가 아닌 로컬 PC에있었습니다. 원격 호스트의 FTP 서비스 설치가 서버 방화벽의 모든 포트를 이미 올바르게 열었으므로 문제가되지 않았 음을 확인했습니다. 플레이하지 않은 것은 로컬 클라이언트 PC였습니다. 그래서,

  1. Windows Defender Firewall을 열었습니다.
  2. 그런 다음 왼쪽의 "Windows Defender 방화벽을 통한 앱 또는 기능 허용"링크를 클릭했습니다.

여기에 이미지 설명을 입력하십시오

  1. File Transfer Program으로 스크롤하여 Domain, Private 및 Public 확인란을 선택했습니다.

여기에 이미지 설명을 입력하십시오

이것은 마침내 나를 위해 이것을 고쳤다! LS 명령을 다시 시도했을 때 응답이 즉각적으로 중단되었습니다.


0

Windows 방화벽 새 인바운드 규칙 마법사를 사용하여이 문제를 해결했습니다. 프로그램을 선택한 다음 C : \ Windows \ System32 \ ftp.exe, 연결 허용, 옵션 확인을 선택하십시오. 도메인, 개인, 공개 (필요한 경우 나중에 제한 할 수 있음), 규칙 이름을 지정하고 완료합니다.

이제 ftp를 ftp 사이트로 보내고 dir 또는 ls가 올바르게 응답하는지 확인하십시오.


0

OP와 동일한 문제가 발생했습니다.

200 PORT 명령 성공
150 ASCII 모드 데이터 연결을 여는 중입니다.
425 데이터 연결을 열 수 없습니다.

Windows의 명령 줄에서 수동 모드를 사용하려고 할 때 위의 문제가 발생했습니다.
재료를 검색하여 원하는 정보를 찾았습니다.

IE는 일반적으로 수동 모드를 사용하지만 명령 줄 유틸리티 (ftp 명령)는 항상 활성 모드를 사용합니다.

IE에서 이전 작업을 시도했지만 작동했습니다.

자료 링크 :https://forums.iis.net/t/1207342.aspx?150+Opening+ASCII+mode+data+connection+for+file+list+425+Can+t+open+data+connection+

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.