ISA下FTP的解決辦法(4)_Ftp服務器教程
從以上內容也可以說明一點,從內網不能發布IIS的Ftp服務器,因為IIS既沒有選項可以選擇PASV端口的范圍,也沒有辦法讓其返回ISA外網的地址。而serv-u這兩條都可以滿足。當然,在微軟的網站上也可能有方法解決IIS的這兩個問題。
發布FTP服務器的時候,要注意FTP服務器有PORT和PASV兩種模式。兩者的共同點,是都使用21端口進行用戶驗證及管理,差別在于傳送數據的方式不同,PORT模式的Ftp服務器數據端口固定在20,而PASV模式則在1025-65535之間隨機。發布的時候要考慮這個差別。
如果FTP服務器在內部網絡中,在建立server publish rules時(雖然Web publish rules也能發布Ftp服務器,但它并沒有提供對port和pasv模式的處理),protocol definitions中的21 inbound條目要建立一個secondary connection,為20端口上的inbound或1025-65535端口之間的inbound。
如果Ftp服務器建立在ISA服務器上,就需要在ip packet filters中設置相關的條目,對于PORT模式,很簡單,開放20 inbound就是,但pasv模式就麻煩一點,因為ip packet filters不能設置端口段,但我們也不可能把幾萬個端口逐個寫一遍,只能把local port設置為dynamic,remote port設置為all ports,當然,對安全性這是個損害。
幸運的是,有些PASV模式的FTP服務器能夠設置PASV模式端口的范圍,比如serv-u,它能夠把PASV模式端口控制在最多50個端口范圍內,如果為serv-u設置的并發用戶數不多,那么我們就可以為每個PASV端口寫一條filter,不需要開放所有的端口了。如果使用IIS的FTP服務器,這個Ftp服務器沒有提供選擇PASV模式端口的功能,只能如上所述那樣,開放dynamic和all ports。
從你上面的出錯信息來看,你應該是使用IE來訪問FTP服務器吧。IE的FTP客戶端與其它專業FTP客戶端不同,不能夠自動檢測Ftp服務器的類型以及根據服務器的類型改變客戶端的種類。IE只提供了一個手工選項來改變PORT和PASV客戶端角色,就是internet選項->高級->為FTP站點啟用文件夾視圖,選擇它,IE為PASV模式客戶端,不選則為PORT客戶端。你需要根據服務器的類型手工更改這個選項。如果服務器的出口是ADSL類的鏈路,還要把“使用被動FTP(為防火墻和DSL調制解調器兼容性)”一項選上,這兩個選項只在IE5.5以上版本提供。
- 相關鏈接:
- 教程說明:
Ftp服務器教程-ISA下FTP的解決辦法(4)。