본문 바로가기

UNIX/etc

FTP passive

FTP 를 통신

Client 와 Server 통신시 내부 <-> 외부 통신시 포트 문제가 발생 할수가 있다.

해당 문제해결은 Active, Passive 모두 해결할수 있으며 쉬운 방법으로 해결하면 된다. ^^

FTP 기본 통신 이해

 FTP Client 에서 Server 처음 접속시 로그인 정보 전송 포트( session port 또는 command prot Default : 21 )가 있으면  로그인 후에 Client, Server 와

데이터를 주고 받는 포트( data port Default : 20) 를 따로 연결하여 데이터를 전송한다

 

이때 내부(사설) <--> 외부 서버 FTP 통신일 경우 방화벽 등록을 하나의 포트만 한 경우 FTP 전송시에 문제가  발생할수가 있으며

FTP 접속 로그에서는 문제없이 로그인은  이루어 지나 데이터 전송 upload 또는 download 시에 timeout 이 발생하는 경우를 볼수가 있다.

두 가지 접근 방식으로 위 문제를 해결 할수가 있다.

 

  1. Active  Mode 로 해결 방법

    액티브 모드는 FTP 기본 접속 Mode 이며  session port 로 서버 접속 후 서버에서 임의의 data port 로 client 로 접속 하는 방식이다.

    그 후에 데이터 전송을 수행한다. 

    Active Mode 일 경우에는 종종 Client 쪽에 문제가 발생 할 수가 있는데  클라이언트 또는 서버가 내부(사내) 망일 경우 서버에서 임의의 data port  로 client 접속시에  해당 port 가  방화벽에 막혀 있어 문제가 발생 한다.

    이럴경우 client 에서는 server 접속시 서버에게 클라이어트로 접속 하는 data port 를 지정해 줄수 있다.

    예를 들면 session port 와 동일한 data port 를 지정하여 사용 할 수가 있다.

     

  2. Passive Mode

    패시브 모드일경우는 session port 로 서버 접속후 서버에서 알려주는 data port 로 client 가 server 에 접속하는 방식이다.

    서버의 보안을 강화하여 서버에서 특정 port 만 허용하는 경우 이와 같은 방법을 사용 할 수가 있으며 서버에서는 data port 구간을 지정하여

    해당 구간만 열어 놓으면 된다.

    해당 방법으로 내부(사설) 망의 문제를 해결 하려면 서버에서 접속 후 알려주는 data port 를 FTP client 마다 포트를 정하여 방화벽에 신청 하여

    사용하면 된다.

 

참고 URL : http://slacksite.com/other/ftp.html

                      http://velikan.net/iis-passive-ftp/

 

 

  윈도우 FTP 설정 기본 passive

다음의 레지스트리를 참조하세요.
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerAdvancedOptionsBROWSEFTPPASV]