1、要使用微軟自帶的ftp功能,要先禁止其他ftp軟件,否則將提示端口沖突,造成微軟自帶ftp不能啟動。
使用微軟自帶ftp需要手動指定pasv端口,設(shè)置方式如下:
1.在您的服務(wù)器上,首先停止iis, 在開始運行中輸入iisreset /stop
必須要先關(guān)閉,否則因為文件使用,修改不能成功。
2.用記事本或者寫字板,打開下面這個文件:
C:\\WINDOWS\\system32\\inetsrv\\MetaBase.xml
3.搜索 MaxConnections
在MaxConnections下面新加一行,代碼為:
PassivePortRange="5xx01-5xx02"
4.設(shè)置好后保存,并重啟iis服務(wù)(在開始運行中輸入iisreset /start )。
需要說明的是5xx01-5xx02是要根據(jù)您共享ip進行設(shè)置,其中xx要和分配給您的ftp端口中的數(shù)字一致。(例如您服務(wù)器ftp端口是54621,則xx為 “46”)。
提示,因為微軟系統(tǒng)問題,這樣設(shè)置后,用一般的ftp軟件上傳可能提示路由連接失敗,必須用flashxp或者FileZilla Client(強烈推薦)軟件進行上傳,上傳端口需指定為5xx21
Windows 自帶的防火墻沒有增加端口范圍的功能,這讓一些常見的配置變得非常麻煩(比如FTP被動模式下,就需要在防火墻上開啟端口范圍,如5000-6000,7100-7200這類),經(jīng)過查詢資料,使用以下cmd批處理內(nèi)容,即可增加端口范圍(用Windows 腳本編輯應(yīng)該也能達到如下效果):
echo off
cls
set var=5000
:continue
set /a var+=1
echo add port %var%
netsh firewall add portopening TCP %var% ftp_data_%var%
if %var% lss 5100 goto continue
echo complete
pause
將以上內(nèi)容,保存為后綴名為cmd或bat的文件,執(zhí)行即可將5000-5100范圍的端口增加到防火墻配置中。
另外,如果使用linux lftp批處理模式,為了開啟lftp客戶端的被動轉(zhuǎn)輸,需要編輯文件~/.lftprc, 并增加以下配置:
set ftp:passive-mode on
PS:以上程序的執(zhí)行需要管理員權(quán)限
====================================================================================、
1、改默認端口
在IIS6管理器中,展開FTP站點,用鼠標右鍵單擊選擇“屬性”命令,然后在屬性對話框中修改TCP端口(默認是21)。
改默認端口后,如果啟用了TCP/IP篩選,則必須使用PASV模式訪問FTP,為了安全需要手動指定PASV的端口范圍。
在防火墻里開放以上端口。
2、修改IIS6下FTP服務(wù)器的PASV端口范圍
IIS6的FTP里的PASV模式下默認端口范圍1024 - 65535,連接時會從中隨機選擇到響應(yīng)。這樣的超大范圍就給服務(wù)器安全帶來的隱患,雖然可以通過一些方法減少端口范圍,但范圍都不能縮小到理想的范圍內(nèi),正常情況下PASV的端口最多會使用到10個吧,就算是專門的FTP下載服務(wù)器最多20個也就夠了。下面說說使用IIS管理實用程序Adsutil.vbs(C:\\Inetpub\\AdminScripts這個文件夾下面)修改FTP服務(wù)器的PASV端口的范圍:
一般要做些這些設(shè)置后才能使用Adsutil.vbs,如下圖的1和2:
使用命令行根據(jù)順序執(zhí)行
cd c:\\Inetpub\\AdminScripts
adsutil.vbs set /MSFTPSVC/PassivePortRange "10000-10009"
有可能有的服務(wù)器已經(jīng)進行過安全配置,這樣直接執(zhí)行會提示失敗信息,就需要使用cscript了,使用管理員用戶登陸,繼續(xù)命令行根據(jù)順序執(zhí)行以下命令
cd c:\\Inetpub\\AdminScripts
cscript adsutil.vbs set /MSFTPSVC/PassivePortRange "10000-10009"
本例開放指定的10個端口10000到10009
執(zhí)行完畢后重新啟動 FTP 服務(wù),如果啟動了防火墻,在防火墻中加這幾個端口的例外。