ISA下FTP的解決辦法(3) |
發(fā)布時間: 2012/8/14 11:23:13 |
我也把我的方法做了一下實驗,使用serv-u做的,有一點錯誤,不過終歸做了出來,下面總結(jié)一下:
PASV服務(wù)器放在ISA后面,其實就是要解決兩個問題: 1、PASV的端口。我上面的方法提出使用secondaryconnection,但事實證明不對,應(yīng)該每個PASV端口都建立一條primaryconnection,然后分別建立serverpublishingrules,有多少個PASV端口,就要建立多少條。 這里還可以引出另一個話題,就是對Webpublishingrules的運用,tony你應(yīng)該知道,通過Webpublishingrules也可以發(fā)布ftp服務(wù)器,但rule里面只給了一個ftp端口的選項,很明顯,這是為PORT模式的FTP服務(wù)器準備的,因為PORT模式的數(shù)據(jù)連接是由服務(wù)器發(fā)起的,在服務(wù)器一邊,不存在穿過防火墻的問題。 使用Webpublishingrules還有一個很令人振奮的特性,就是支持動態(tài)公用IP用戶,不需要象serverpublishingrules那樣,每撥一次號都要修改一次外部地址。如果在Webpublishingrules中也能搞定PASV問題,那么對于那些使用撥號上網(wǎng)而又想在內(nèi)網(wǎng)發(fā)布PASV服務(wù)器的人來說,簡直是天大的喜訊。 需要好好考慮的是如何通過那個只能填一個端口的選項來發(fā)布隨機的PASV端口?我從今天的實驗找到了一點靈感,就是也象上面說的那樣,每個PASV端口都設(shè)置一條Webpublishingrules!我還未做這個實驗,還不能證實這樣做行不行,相信晚上就會有結(jié)果了。 當然,還需要考慮如何控制PASV模式端口的范圍,serv-u可以設(shè)定,而IIS的FTP不行。 2、是服務(wù)器向客戶端傳送IP的問題。當FTP客戶端登錄進入服務(wù)器的時候,PASV模式服務(wù)器會向客戶端傳送本機的IP地址和數(shù)據(jù)端口,當服務(wù)器放在內(nèi)網(wǎng)中的時候,服務(wù)器會向客戶端返回內(nèi)網(wǎng)的IP,這當然是不能完成連接的,需要讓服務(wù)器返回ISA的外網(wǎng)地址。本來,解決方法可以使用firwallclient的applicationsettings中的nameresolutionforlocalhost參數(shù),設(shè)為P就可以讓應(yīng)用程序返回ISA的外網(wǎng)地址,但這個參數(shù)是供firewallclient使用的,而發(fā)布服務(wù)器不能安裝firewallclient,這很可惜。 幸好,還是有一個好消息,就是serv-u本身具有返回ISA外網(wǎng)地址這樣的功能,方法是先選中新建FTP服務(wù)器的屬性,在domain標簽里選擇“enabledynamicdns”,此時會出現(xiàn)第二個標簽,叫“dynamicdns”,然后到tz0.com申請動態(tài)域名,申請后會得到一個key,在此標簽中填入此key即可。最后一步,是到新建服務(wù)器的settings屬性中,選擇advanced標簽,選中“allowpassivemodedatatransfer”,旁邊的IP地址框留空。這個框?qū)τ趽芴栍脩舨挥锰,只有出口使用固定地址才需要填?/p> 這樣,serv-u向客戶端返回IP和端口前,會先向tz0.com查詢到ISA外網(wǎng)的地址,再發(fā)送給客戶端。 本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |