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