Operating System/Windows2007/08/30 19:15
IIS기반 FTP Service는 Passive-modeActive-mode 2가지를 지원한다.

Active-mode 는 Client 기반 접속이다. 그래서 Web Server쪽에 20,21 번이 열린 FTP를 접속시 Client에서는 Port가 Random Port를 이용하나 Server Port는 변함이 없다. Client는 Server쪽에 Port 명령어를 보낸다.

Passive-mode 는 Server 쪽 21번 Port로 접속시, Client의 Random Port가 아니라 Server쪽 Random Port를 이용하게 된다. Server는 Client에게 pasv 명령어를 보내며, Client는 승인하게 된다.

문제는, Passive Mode의 경우 Server쪽에 1024 에서 65535 Port 사이를 Random하게 할당하며, Network Session이 있을때마다 신규 Port를 이용하게 된다. 이때, Server쪽에 방화벽을 운영하거나 대량 접속 서비스가 운영중일때는 Network 자원이 부족하게 되어 접속장애가 있을수 있다.

Passive Mode에서의 Server 쪽 Random Port 범위를 조정하므로써, 이를 해결할 수 있다.

Windows 2000 Server 및 Windows Server 2003 모두  PassivePortRange 값을 이용하여 조정이 가능하다.

Windows Server 2003 의 경우

1. Metabase를 수정하는 방법이다.
  (Metabase를 수정할려면, IIS MMC에서 Metabase 직접 수정 허용 설정이 되어 있어야 한다.)

2. ADSUTIL을 이용하는 방법이다.
   Adsutil.vbs set /MSFTPSVC/PassivePortRange "5500-5700"

Windows 2000 Server 의 경우는 Registry 값을 추가해야 한다.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msftpsvc\Parameters\
에서 REG_SZ Type의 PassivePortRange 값 이름을 추가한다.

값으로는, 5500-5700 을 설정한다.

위 2경우 모두 설정후 FTP Service를 재시작 해야 적용되며, 위와 같이 범위 또는 특정 Port값을 설정해도 된다.

Server에 방화벽을 운영하는 Server인데, Client가 Active Mode를 지원하지 않는경우에 적용하는 것이 좋은 해결책이 될 수 있다.

저작자 표시 비영리 변경 금지
Creative Commons License
Posted by BLUEDAY™