电竞比分网-中国电竞赛事及体育赛事平台

分享

如何設(shè)置IIS FTP的設(shè)置主動(dòng)模式還是被動(dòng)模式?

 順溜的書(shū)架 2016-03-11

在win 2003 中配置被動(dòng)模式


被動(dòng)模式 FTP 連接 是有時(shí)稱(chēng)為到 " 服務(wù)器管理 ", 因?yàn)榕c之一瞬態(tài)端口用作數(shù)據(jù)連接的服務(wù)器端端口服務(wù)器響應(yīng)客戶(hù)端發(fā)出 pasv 命令后,。 由客戶(hù)端, 數(shù)據(jù)連接命令發(fā)出后服務(wù)器連接到客戶(hù)立即使用端口上面控制連接的客戶(hù)端端口。

  與端口范圍 1024 - 65535 內(nèi)默認(rèn)模式 Passive - IIS FTP 中隨機(jī)選擇到響應(yīng)。 要進(jìn)一步限制這些巨大端口范圍, 系統(tǒng)管理員可配置命名PassivePortRange 元數(shù)據(jù)庫(kù)屬性關(guān)鍵字, 此屬性關(guān)鍵字僅存在于 IIS 6.0, for IIS 5.0 在 Windows 2000, 系統(tǒng)管理員需要安裝 Service Pack 4, 在系統(tǒng)注冊(cè)表中 PassivePortRange 項(xiàng)中添加。

  更改 PassivePortRange for IIS, 執(zhí)行過(guò)程之一下面部分中所述。

  用于 Windows Server 2003

  要啟用直接編輯元數(shù)據(jù)庫(kù))

  1 . 打開(kāi) IIS Microsoft 管理控制臺(tái) (MMC)。

  2 . 右擊本地計(jì)算機(jī)節(jié)點(diǎn)。

  3 . 選擇 屬性 。

  4 請(qǐng)確保 啟用直接編輯元數(shù)據(jù)庫(kù) 復(fù)選框。

  通過(guò) ADSUTIL 腳本配置 PassivePortRange b)

  1 . 單擊 開(kāi)始 、 運(yùn)行 , 鍵入 cmd, 和然后 確定 。

  2 . 鍵入 cd Inetpub\AdminScripts, 然后按 Enter。

  3 . 鍵入以下命令從命令提示符。

  CSCRIPT.exe C:\Inetpub\AdminScripts\adsutil.vbs set /MSFTPSVC/PassivePortRange "5500-5515"

  4 重新啟動(dòng) FTP 服務(wù)。

  通過(guò) ADSUTIL 腳本配置時(shí)您會(huì)看到以下輸出:

  Microsoft (R) Windows Script Host 版本 5.6

  版權(quán)所有 (C) Microsoft Corporation 1996 - 2001。 保留所有權(quán)利。.

  PassivePortRange (STRING) " 5500-5515 ":

  注意:如果開(kāi)了系統(tǒng)自帶的防火墻,必須在例外里添加以上端口


什么是主動(dòng),什么是被動(dòng),為什么首選被動(dòng)


FTP 分為兩類(lèi):

  主動(dòng)FTP(Port FTP),也就是一般的FTP﹔被動(dòng)FTP(Port FTP)


主動(dòng)FTP


主動(dòng)方式的FTP是這樣的:客戶(hù)端從一個(gè)任意的非特權(quán)端口N(N>1024)連接到FTP服務(wù)器的命令端口,也就是21端口。然后客戶(hù)端開(kāi)始端口N+1,并發(fā)送FTP命令“port N+1”到FTP服務(wù)器。接著服務(wù)器會(huì)從它自己的數(shù)據(jù)端口(20)連接到客戶(hù)端指定的數(shù)據(jù)端口(N+1)。


針對(duì)FTP服務(wù)器前面的防火墻來(lái)說(shuō),必須允許以下通訊才能支持主動(dòng)方式FTP:


1. 任何端口到FTP服務(wù)器的21端口 (客戶(hù)端初始化的連接 S<-C)

  2. FTP服務(wù)器的21端口到大于1024的端口(服務(wù)器響應(yīng)客戶(hù)端的控制端口 S->C)

  3. FTP服務(wù)器的20端口到大于1024的端口(服務(wù)器端初始化數(shù)據(jù)連接到客戶(hù)端的數(shù)據(jù)端口 S->C)

  4. 大于1024端口到FTP服務(wù)器的20端口(客戶(hù)端發(fā)送ACK響應(yīng)到服務(wù)器的數(shù)據(jù)端口 S<-C)

  主動(dòng)方式FTP的主要問(wèn)題實(shí)際上在于客戶(hù)端。FTP的客戶(hù)端并沒(méi)有實(shí)際建立一個(gè)到服務(wù)器數(shù)據(jù)端口的連接,它只是簡(jiǎn)單的告訴服務(wù)器自己****的端口號(hào),服務(wù)器再回來(lái)連接客戶(hù)端這個(gè)指定的端口。對(duì)于客戶(hù)端的防火墻來(lái)說(shuō),這是從外部系統(tǒng)建立到內(nèi)部客戶(hù)端的連接,這是通常會(huì)被阻塞的。


防火墻設(shè)置的例子

  建置一個(gè)防火墻下的FTP server,使用主動(dòng)FTP(Port FTP) mode:預(yù)設(shè)的FTP port:21 以及FTP data port:20

  執(zhí)行以下兩行指令,只允許port 21 以及port 20 開(kāi)放,其它關(guān)閉。

  iptables -A INPUT -p tcp -m multiport –dport 21,20 -j ACCEPT

  iptables -A INPUT -p tcp -j REJECT –reject-with tcp-reset


FTP軟件本身的設(shè)置


以vsFTP為例子. 修改/etc/vsFTPd/vsFTPd.conf

  新增底下兩行

  listen_port=21

  ftp_data_port=20


設(shè)置錯(cuò)會(huì)出現(xiàn)的情況

  FTP client(如cuteFTP)的聯(lián)機(jī)方式不能夠選擇passive mode,否則無(wú)法建立數(shù)據(jù)的聯(lián)機(jī)。也就是讀者可以連上FTP server,但是執(zhí)行l(wèi)s、get 等等的指令時(shí),便無(wú)法運(yùn)作。


被動(dòng)FTP


為了解決服務(wù)器發(fā)起到客戶(hù)的連接的問(wèn)題,人們開(kāi)發(fā)了一種不同的FTP連接方式。這就是所謂的被動(dòng)方式,或者叫做PASV,當(dāng)客戶(hù)端通知服務(wù)器它處于被動(dòng)模式時(shí)才啟用。


在被動(dòng)方式FTP中,命令連接和數(shù)據(jù)連接都由客戶(hù)端,這樣就可以解決從服務(wù)器到客戶(hù)端的數(shù)據(jù)端口的入方向連接被防火墻過(guò)濾掉的問(wèn)題。當(dāng)開(kāi)啟一個(gè) FTP連接時(shí),客戶(hù)端打開(kāi)兩個(gè)任意的非特權(quán)本地端口(N > 1024和N+1)。第一個(gè)端口連接服務(wù)器的21端口,但與主動(dòng)方式的FTP不同,客戶(hù)端不會(huì)提交PORT命令并允許服務(wù)器來(lái)回連它的數(shù)據(jù)端口,而是提交 PASV命令。這樣做的結(jié)果是服務(wù)器會(huì)開(kāi)啟一個(gè)任意的非特權(quán)端口(P > 1024),并發(fā)送PORT P命令給客戶(hù)端。然后客戶(hù)端發(fā)起從本地端口N+1到服務(wù)器的端口P的連接用來(lái)傳送數(shù)據(jù)。


對(duì)于服務(wù)器端的防火墻來(lái)說(shuō),必須允許下面的通訊才能支持被動(dòng)方式的FTP:


1. 從任何端口到服務(wù)器的21端口 (客戶(hù)端初始化的連接 S<-C)

  2. 服務(wù)器的21端口到任何大于1024的端口 (服務(wù)器響應(yīng)到客戶(hù)端的控制端口的連接 S->C)

  3. 從任何端口到服務(wù)器的大于1024端口 (入;客戶(hù)端初始化數(shù)據(jù)連接到服務(wù)器指定的任意端口 S<-C)

  4. 服務(wù)器的大于1024端口到遠(yuǎn)程的大于1024的端口(出;服務(wù)器發(fā)送ACK響應(yīng)和數(shù)據(jù)到客戶(hù)端的數(shù)據(jù)端口 S->C)


防火墻設(shè)置的例子

  建置一個(gè)防火墻下的FTP server,使用被動(dòng)FTP(Port FTP) mode:FTP port:21 以及FTP data port 從9981 到9986。

  執(zhí)行以下兩行指令,只允許port 21 以及port 9981-9990 開(kāi)放,其它關(guān)閉。

  iptables -A INPUT -p tcp -m multiport –dport 21,9981,9982,9983,9984,9985,9986,9987,9988,9989,9990 -j ACCEPT

  iptables -A INPUT -p tcp -j REJECT –reject-with tcp-reset


FTP軟件本身的設(shè)置

  以vsFTP為例子. 修改/etc/vsFTPd/vsFTPd.conf

  新增底下四行

  listen_port=21

  pasv_enable=YES

  pasv_min_port=9981

  pasv_max_port=9986


設(shè)置錯(cuò)會(huì)出現(xiàn)的情況

  這個(gè)例子中,F(xiàn)TP client(如cuteFTP)的聯(lián)機(jī)方式必須選擇passive mode,否則無(wú)法建立數(shù)據(jù)的聯(lián)機(jī)。也就是讀者可以連上FTP server,但是執(zhí)行l(wèi)s,get 等等的指令時(shí),便無(wú)法運(yùn)作。


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多