紫牛林 coop-firm
by zena
Zena문고 WAXsoft
rss

skin by 근육마신
Zena's ~(=.=)~ -> uncertain translation Japanese / English
FTP서버와 접속이 안되나요?
21번포트가 살아있다고 확인했는데 FTP서버와 접속이 되지않는다고
**님께서 물어오셨습니다.
확인해보니깐 클라이언트쪽에서 passive 모드 설정으로 되지않았던 탓이어서..
바로 상황은 종료되었습니다.
간혹 물어오시는 분들이 있어서 정리해봅니다.



FTP Service (File Transfer Protocol)
서비스를 사용하기위해서는 이용가능한 포트로 반!드!시! 21 번 port 와 함께,20 번 port 를 열어야 합니다.

ftp 에는 active / passive 이렇게 두 가지 모드가 존재하며 또한 각각의 모드에서는 command 또는 control 포트와 data 포트라는 두 개의 포트를 함께 사용합니다.

active 모드에서는 command 포트로서 21번을,
data 포트로서 20번을 사용하며
passive 모드에서는 command 포트로서 21번을,
data 포트로 1024 이후의 임의의 비특권포트를 사용합니다.

따라서 active 모드로의 ftp 를 허용하려면 21번 외에 data 포트인
20번도 함께 허용하여야 하며 만약 data 포트인 20번을 허용하지 않을 경우에는
말씀하신 바와 같은 현상이 발생하게 됩니다.
또한 20번을 추가로 허용하였다 하더라도 클라이언트쪽에서 passive 모드로
ftp 를 접속할 경우 역시 data 포트가 열려있지 않으므로 같은 현상이
나타나게 될 것입니다.

추가적으로 주의할 점은 active 모드의 작동 방식입니다.
두개의 포트를 사용한다는 예외상황 외에도 아래와 같이
active 모드에서는 두번째 포트가 작동할 때 일반적인
tcp/ip 3 way handshake 방식이 아닌 다른 예외방식으로 작동하게 된다는 것입니다.
각기 모드의 작동 방식을 그림으로 보시면 이해하기가 쉬우실 것입니다.


* ( ) 안의 숫자는 작동하는 포트를 뜻합니다.
* 화살표 방향은 패킷의 이동방향을 뜻합니다.

## Active FTP

Client(1025) ---> Server (21)
Client(1025) <--- Server (21)
Client(1026) <--- Server (20)
Client(1026) ---> Server (20)


## Passive FTP

Client(1025) ---> Server (21)
Client(1025) <--- Server (21)
Client(1026) ---> Server (1028)
Client(1026) <--- Server (1028)


2/ 혹시, FTP 설정에서 문제가 있을 경우 다음과 같은 실수가 있기 쉽습니다.

/etc/shells 에 ftp 에서 사용할 모든 shell 이 명시되어 있어야 합니다.

물론 절대 경로 입니다.

%> cat /etc/shells
/usr/local/bin/bash
/usr/local/bin/tcsh
/bin/sh
/bin/csh
/bin/ash
/bin/bsh
%>

이런 식으로 말이죠.

출처http://rnd.danal.co.kr/~euphros/revelation/ftp.txt
by zena | 2004/06/14 16:57 | logicBomb | 트랙백 | 덧글(0)
트랙백 주소 : http://zena.egloos.com/tb/91182
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

◀ 이전 페이지 : 다음 페이지 ▶
ⓒ 2005 zena.egloos.com All rights reserved. | Powered by egloos.com