오늘은 대한입니다.
sun's longitude:299 46 40.02 
· 자유게시판 · 묻고답하기 · 알파문서 · RPMS list
· 사용자문서 · 팁/FAQ모음 · 리눅스Links · 자료실
· 서버정보 · 운영자 · Books/FAQ · FreeBSD
/board/read.php:소스보기  

질문과 답변 게시판입니다.

현재 실시간으로 이곳 서버의 설정파일(몇개)를 보여주고 있습니다.
서버의 설정내용에 관한 질문은 먼저 이곳 서버의 설정내용을 참고하시길 바랍니다.

[*** 쓰기 금지단어 패턴 ***]
글 본문 중간에 업로드할 이미지를 추가하는 방법 : @@이미지이름@@
ex) @@foo.gif@@
1486 번 글의 답장글: Re: proftpd 서버의 포트 변경시 클라이언트 접속 안되는..
글쓴이: 산이 [홈페이지] 글쓴날: 2003년 05월 31일 09:05:03 토(오전) 조회: 2896
[김하늘]님이 남기신 글:

>FTP 접속시 수동모드와 능동 모드 두 가지 연결 방식이 있는
것으로 압니다. 
>
>먼저 질문의 요지를 말씀드리겠습니다.

>
>FTP 서비스 포트를 21번에서 2121번 포트로 변경하여 서버를
운영할 경우 리눅스상에서는
 문제가 없지만, 윈도우 클라이언트 FTP에 따라서 접속이 안되는
문제가 있습니다. 
>
>리눅스의 gftp는 기본 모드가 passive모드로 연결되기 때문에
접속이 이뤄지는데, 윈도우에서도 active 모드로 연결되도록
하면 접속이 안되고, 오직 passive모드로 해야 접속이
이뤄집니다.
>
>이 점에 있어서 저의 질문은 서버에서 passive port를 명시하지
않았을 때는 서버는 능동모드로 연결되도록 되는데, 상기의
경우 포트를 변경하였을 때 클라이언트가 능동 모드로는
접속이 되질 못하는 것은 어떤 이유일까요? 아예 접속이
이뤄지지 않는게 아니고 LIST 명령을 수행치 못하고 타임아웃에
의해서 접속이 끊어지는 것입니다.
>  
>PASV모드로 연결되는 클라이언트 프로그램에서는
 문제가 없지만,이 모드를 선택하지 않으면 접속이 이뤄지지
않습니다. 무엇보다도 문제는 클라이언트들이
 이러한 사실을 모르기 때문에 능동 연결을 하는
클라이언트에서는
 안된다고 아우성치는 것이 문제일 수 있는 것입니다. 물론
수동 모드 옵션을 선택하라고하면
 되겠는데는,왜 포트를 변경하였을 때는 능동 모드로 연결되질
못하는 이유는 무엇인가요?
>
>방화벽을 생각해 보았으나, 수동모드로 연결될 때는 접속이
되는 것으로 보아서는 방화벽에서는 해당 데이터 포트에
대해서 허용 정책에 이뤄지는 것 같군요...
>
>H출판사 모 저자의 책에 이 수동모드와 능동 모드 설명이
있어서 문의했더니 무성의한 질문과 질문자의자세에
 대해서 질책하는군요...

>어이가 없어서리...
>
>산이님은 꼭 답변해 주시라 믿습니다. 

========================================

active mode(server)
CMD  : 21 (접속 및 명령어 전달)
DATA : 20 (실제 data 전달)

이 기본입니다.

즉 ftp 클라이언트가 passive 모드(체크)로 들어오지 않는다면
서버는 20 번 data 포트와 클라이언트 data 포트가 서로 연결되어
데이터를 전송합니다.

만약 위의 상태에서 ftp 클라이언트가 passive 모드로 들어오면
서버는 20번 포트가 아닌 다른 포트를 열어서 클라이언트로
데이터를 전달합니다.

여기에서 passive 모드체크는 PASV 명령어를 말하며 처음 TCP
연결시
클라이언트가 서버로 그 명령어를 전달합니다.
(좀 이해되나요?)

서버는 PASV 명령어가 없으면 기본 20번 포트로 데이터를 전달할
준비를 합니다(Port 가 21이 아니면 저정한 Port 보다 1작은 포트를
사용함).

만약
PASV 명령어가 있으면 PassivePosrts 내의 포트를 열어서
데이터를 전달하고, 서버의 PassivePorts 가 정의되어 있지 않으면
서버는 사용가능한 포트를 랜덤하게 찾아서 준비합니다.

....

Port 2121

이와 같이 서버에서 설정하고 클라이언트가 passive 모드로
들어오면
질문내용과 같이 이상없이 접속은 되고 데이터전송도
이상없습니다.
(서버에서 랜덤하게 data 포트를 열어서 전송하기 때문에)

그런데
위의 설정에서 passive 모드가 아닌 active 모드로 클라이언트가
접속하면 서버는 2120 포트를 기본 data 전송포트로 사용하려고
할겁니다.

실제로 netstat -atnp 로 확인해 보세요.

이 과정에서 서버가 이미 2120 포트를 사용하고 있으면 문제가
될 수
있습니다. 또한 클라이언트에서
 이 2120 포트로 접근이 가능해야합니다.

(방화벽이 없으면 다행이지만)

아마 서버가 2120 포트를 사용가능한지에
 대해서 TIMEOUT이 되지 않나 싶네요.

앞의 설명은 server type 이 standalone 인 경우입니다.

조금 똑똑한 ftp 클라이언트를 사용해 보는것이 좋을 것
같군요.

21번 포트가 아닌 포트를 기본 포트로 사용하고자 할때는
반드시
passive 모드를 지원하는 ftp 클라이언트를 사용하도록 권장하고
사용자는 passive 모드를 체크하고 사용하도록 하는것이
좋습니다.

이유는 일반사용자는 똑똑하지 못하는 ftp 클라이언트를
사용하는 경우가
있을 수 있기 때문입니다.
(저 같은 경우 윈도우에서는 주로 window commander 를 사용합니다.)

 
이전글 : proftpd 서버의 포트 변경시 클라이언트 접속 안되는..
다음글 : Re: Re: proftpd 서버의 포트 변경시 클라이언트 접속 안되는..  
 from 61.254.75.40
JS(Redhands)Board 0.4 +@

proftpd 서버의 포트 변경시 클라이언트 접속 안되는.. Re: Re: proftpd 서버의 포트 변경시 클라이언트 접속 안되는..
인쇄용 


apache lighttpd linuxchannel.net 
Copyright 1997-2026. linuxchannel.net. All rights reserved.

Page loading: 0.01(server) + (network) + (browser) seconds