본문 바로가기

STUDY/ㄴ ETC

[FTP] Active Mode 와 Passive Mode

================================================================================
■ 사전 지식
================================================================================

FTP 는 두가지 모드가 있다.
전통적인 방식이 Active Mode, 좀 더 최근에 나타난 방식이 Passive Mode 이다.

인터넷 사용자들이 가장 흔하게 접하는 웹 브라우저들은 일반적으로 Passive Mode 로 설정되어 있는데 반하여,
알FTP 나 WS-FTP, CuteFTP 같은 FTP 클라이언트 프로그램들은 일반적으로 Active Mode 가 기본값으로 설정되어 있다.

Active Mode 에서는 서버가 어떤 출력을 내보낼 때 (이를테면, ls 나 dir 과 같은 명령어에 대한 결과 또는 파일전송시)
반드시 현재 내가 사용중인 컴퓨터와 별도로 추가적인 TCP/IP 연결을 맺어야 한다.
이 때, 사용하는 포트가 FTP-Data 포트인 20 번 포트이다. (참고로 FTP 포트는 21 번이다)
이는 기존에 연결된 FTP 를 끊지않고 Data Connection 을 필터링 하는 것이 불가능 하다 것을 뜻하므로
방화벽이 설치되어 있는 경우 Active Mode 는 상당히 곤란한 환경이 된다.

반면 Passive Mode 에서는 FTP-Data 20 번 포트 대신 1024 ~ 65,536 번 포트중 시스템에서 예약해 놓지 않은 포트를
할당하여 데이터를 주고 받을 수 있다.

Passive Mode 를 끄고 접속하라는 것은 해당 FTP 서버가 Passive Mode 를 지원하지 않고,
Active Mode 로만 운영된다는 뜻이며 이러한 서버는 Passive Mode 로 접속하는 것이 불가능하다.

================================================================================
■ Serv-U 를 이용하여 Passive Mode 를 지원하는 FTP 서버 구성
================================================================================

서버 관리자가 TCP/IP 필터링을 사용하여 포트를 직접 제어하며, 서버가 내부 아이피로 운영되는
(이를테면, IP공유기(라우터)를 통해 연결되어 있는 서버) 환경에서 Serv-U FTP 프로그램을 사용하여
FTP 서버를 구성할 때, 아래와 같은 방법으로 Passive Mode 를 지원하는 FTP 서버를 구성할 수 있다.

먼저 어떤 포트로 접속할 것인지 또, 어떤 포트를 Passive Mode 데이터 전송 포트로 사용할 것인지 결정해야 한다.

예제에서는 50020, 50021 번을 사용하기로 결정한다.
(IP공유기에 50020, 50021 번 포트가 열려져 있음을 전제로 한다)

50020 - Passive Mode Data Transfer
50021 - FTP Connection

1. Windows TCP/IP 필터링에서 50020, 50021 포트를 열어둔다.
  (TCP/IP 필터링을 사용하지 않는 시스템에서는 이 과정으로 건너뛰어도 무방하다)

2. Serv-U FTP 서버를 설치한다. (version 6.1.0.1 기준)

3. Serv-U Administrator 에서 만들어진 도메인을 확인할 수 있다.

4. 도메인-Settings-Advanced 로 들어가서
  Allow passive mode data transfers, use IP 란에 실제 IP 주소를 넣어준다.
  - 192.168.xxx.xxx (내부 아이피) 가 아닌 234.56.78.9 와 같은 실제 IP 주소

5. LocalServer-Settings-Advanced 로 들어가서
  PASV port range 란에 50020 - 50020 을 입력한다.
  - 위에서 50020 포트를 Passive Mode Data Transfer 포트로 사용하기로 했으므로...

이제, 다른 컴퓨터에서 접속해 본다.

알FTP 4.1 버전 기준으로 접속 테스트를 해보면...

1. 접속하기 아이콘 클릭

2. FTP 주소 : 234.56.78.9
  사용자ID : UserID
  비밀번호 : UserPW
  포트번호 : 50021
  Passive Mode Check !

3. 확인을 누른다.

원래 Passive Mode 에서의 데이터 전송은 1024 ~ 65,536 번 포트 중, 비어 있는 포트를 랜덤으로 할당하여
사용하지만, Serv-U FTP 설정 [5] 번 과정에서 우리는 강제로 50020 번 포트를 사용하도록 설정하였기 때문에
FTP 서버는 50020 포트를 사용하게 된다.

만약, 서버 관리자가 TCP/IP 필터링 관리를 따로 해주지 않는 환경에서의 FTP 구성이라면, [5] 번 과정이
필요없게 된다. 모든 포트가 허용으로 되어 있을 것이고, FTP 서버가 랜덤으로 비어있는 포트를 찾아 할당하게
될테니까...

'STUDY > ㄴ ETC' 카테고리의 다른 글

데이터를 보호하는 10가지 방법  (0) 2006.04.27
Mobile Web 2.0 - Haancom Challenge 2006.4 원고  (0) 2006.04.25
포퓰리즘 (populism)  (1) 2006.04.21
The VMware Team  (0) 2006.04.18
가깝고도 먼 이웃 만들기,트랙백 - 3  (0) 2006.04.17