FTP 有兩種傳輸模式,一種是主動模式(Active mode),另一種是被動模式(Passive mode),不過由於許多公司都是透過 IP 分享器上網,所以不是所有人都能透過 Active mode 傳輸檔案。而現在的 Server 環境也通常有架設防火牆阻擋沒在使用的 Ports,這種情況下也會讓 Passive mode 無法正常運作,因為當 FTP Server 在使用 Passive mode 傳輸資料時,Server 端會動態的使用 Port 1024 ~ 65535 來進行檔案的傳輸,這樣就很有可能被防火牆阻擋掉正常的連線。
所以我今天要教各位如何修改 IIS FTP 在 Passive mode 資料傳輸的 Port Range,這樣你就可以設定好 Firewall 讓這些 Port 開放給 FTP Server 使用。由於各版本的 IIS 設定的方式都不一樣,我假設要開放的 Port Range 從 5000 ~ 5100,以下是修改的方法:
IIS 5.0
- 開啟 regedit.exe
- 找到 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msftpsvc\ParametersPassivePortRange
- 修改內容為 5000-5100 即可。
IIS 6.0
- 開啟「命令提示字元」
- 進入 C:\Inetpub\AdminScripts 目錄
- 執行 adsutil.vbs set /MSFTPSVC/PassivePortRange "5000-5100"