A. 關於FTP被動模式與主動模式中防火牆過濾情況!
主動模式和被動模式是針對伺服器而言。ftp需要建立兩個連接(命令連接和數據連接),主動方式的命令連接由客戶機發起,數據連接由伺服器發起,這樣客戶端的防火牆可能會阻攔;被動連接的兩個連接都由客戶機發起,客戶機的防火牆不會阻攔(就像設置一個門不是為了關自己)。這是主體思想,具體的怎麼連接你上網搜一下,很多的。
回答問題:
不會,一般伺服器都是先前設置好的。
這里考慮的防火牆主要是在建立連接時的作用。
見上。
B. 請問用IIS搭建FTP伺服器,在哪裡設置"主動模式"和"被動模式"
FTP兩種工作模式:主動模式(Active FTP)和被動模式(Passive FTP)
在主動模式下,FTP客戶端隨機開啟一個大於1024的埠N向伺服器的21號埠發起連接,然後開放N+1號埠進行監聽,並向伺服器發出PORT N+1命令。伺服器接收到命令後,會用其本地的FTP數據埠(通常是20)來連接客戶端指定的埠N+1,進行數據傳輸。
在被動模式下,FTP庫戶端隨機開啟一個大於1024的埠N向伺服器的21號埠發起連接,同時會開啟N+1號埠。然後向伺服器發送PASV命令,通知伺服器自己處於被動模式。伺服器收到命令後,會開放一個大於1024的埠P進行監聽,然後用PORT P命令通知客戶端,自己的數據埠是P。客戶端收到命令後,會通過N+1號埠連接伺服器的埠P,然後在兩個埠之間進行數據傳輸。
總的來說,主動模式的FTP是指伺服器主動連接客戶端的數據埠,被動模式的FTP是指伺服器被動地等待客戶端連接自己的數據埠。
被動模式的FTP通常用在處於防火牆之後的FTP客戶訪問外界FTp伺服器的情況,因為在這種情況下,防火牆通常配置為不允許外界訪問防火牆之後主機,而只允許由防火牆之後的主機發起的連接請求通過。因此,在這種情況下不能使用主動模式的FTP傳輸,而被動模式的FTP可以良好的工作。
很多人誤認為利用WINDOWS組件IIS來構建的FTP伺服器沒有實用價值,只能做一些測試和學習。主要是FTP服務的PORT和PASV兩種連接模式下防火牆難以設置。對於PORT模式,客戶端無法在此環境下運行,因為 FTP 服務必須向 FTP 客戶端發出新的連接請求,防火牆會將這些連接檢測為未經請求的連接嘗試,並因此而將它們斷開。防火牆管理員可能也不希望使用PASV模式 FTP 伺服器,因為該 FTP 服務可以打開任何短暫的埠號。如果防火牆配置允許未經請求的連接完全訪問所有的短暫埠,則可能會是不安全的。
從實用的角度來看,建立一個默認短暫埠范圍有限制的PASV模式 FTP 服務方案應該是較好的選擇。下面通過一個實例,說明如何在Windows 2003 中利用IIS組件架設PASV模式FTP服務。
1建立一個PORT模式的FTP服務
1.1安裝「文件傳輸協議(FTP)服務」組件
安裝步驟:
控制面板--->添加刪除程序--->添加刪除windows組件--->應用程序伺服器--->Internet信息服務(IIS)--->文件傳輸協議(FTP)服務
將「文件傳輸協議(FTP)服務」復選框鉤上,插入windows 2003安裝盤或選擇windows 2003安裝路徑,直至安裝結束。
1.2FTP主目錄及用戶許可權的配置
主目錄:D:/soft/ftpup
擁有讀寫許可權而不允許其它用戶訪問的用戶:
ww1用戶擁有 ww1目錄的讀寫許可權,位置在:D:/soft/ftpup/LocalUser/ww1
XX1用戶擁有 XX1目錄的讀寫許可權,位置在:D:/soft/ftpup/LocalUser/XX1
允許匿名用戶只讀訪問:
Everyone 擁有 public目錄的只讀許可權,位置在:D:/soft/ftpup/LocalUser/public
創建 ww1和xx1用戶並設置密碼。
建立相應的目錄,並設置對應的許可權。
1.3創建FTP站點
通過「控制面板 ---> 管理工具 ---> Internet信息服務(IIS)管理器 ---> Internet信息服務--->本地計算機---> FTP 站點」標簽,右擊「FTP 站點」--->新建--->FTP 站點,進入FTP站點建立向導:站點描述--->IP地址和埠設置--->隔離用戶--->FTP站點主目錄(D:/soft/ftpup ),直到向導結束。
右擊剛建立的FTP站點,在「安全帳戶」選項卡上選中「允許匿名用戶連接」。至此,一個PORT模式的FTP站點架設完成。
可以關閉防火牆在客戶端進行測試是否符合要求。
2將FTP站點設置成PASV模式
2.1啟用直接編輯元資料庫
打開 IIS Microsoft 管理控制台 (MMC):控制面板 ---> 管理工具---> Internet信息服務(IIS)管理器 ---> Internet信息服務--->本地計算機
右擊本地計算機節點,選擇屬性,選擇啟用直接編輯元資料庫復選框。
2.2 修改埠號 方法 1 通過 ADSUTIL 腳本配置 PassivePortRange
運行cmd.exe程序進入命令行模式,並輸入以下命令:
C:/Inetpub/AdminScripts/adsutil.vbs set /MSFTPSVC/PassivePortRange "5500-5550"
這樣就將FTP伺服器上TCP 默認短暫埠范圍限制在5500-5550范圍內,如果同時連接數量較多,可適當進行調整。
用以下命令查看PassivePortRange:
C:/Inetpub/AdminScripts/adsutil.vbs get /MSFTPSVC/PassivePortRange 方法 2 通過修改配置文件 打開下面這個文件 : 1. C:/WINDOWS/system32/inetsrv/MetaBase.xml 搜索 MaxConnections 這個欄位 在 MaxConnections 下面新加一行被動模式的配置信息,修改後的配置文件為 LogType="1" MSDOSDirOutput="TRUE" MaxClientsMessage=" " MaxConnections="100000" PassivePortRange="5500-5550"
3.windows 2003 中防火牆的設置
3.1打開FTP控制埠TCP 21(如果更改埠號,這里要做相應的更改)
在命令行輸入:
NETSH FIREWALL ADD PORTOPENING TCP 21 FTPPort21
3.2打開PassivePortRange 5500-5550的TCP埠
建立以下批處理文件並運行(例如:ftpport.bat):
ECHO OPENING FIREWALL PORTS 5500-5550
FOR /L %%I IN (5500,1,5550) DO NETSH FIREWALL ADD PORTOPENING TCP %%I FTPPort%%I
iisreset /restart
ECHO FINISHED
Pause
至此,整個服務架設完成,可在啟用防火牆的情況下進行測試。
C. 2K3,IIS6,開啟了Windows防火牆,放了20、21埠,但FTP客戶端要設置為主動模式才能訪問,為什麼
先說IIS6的FTP主程序吧。不太清楚你說的主程序的意思。我對你所說的問題的理解是,在開始-程序中怎麼有沒有IIS6的FTP設置和管理工具是吧?
IIS的FTP的管理就是在IIS管理器中進行的,如圖1紅框處。如果你發現你的IIS管理器中沒有這一項是因為,IIS6在默認安裝時並不安裝FTP組件,需要手工添加,你需要在控制面板--添加刪除程序--添加刪除windows組件中添加上。如圖2。
再說主動模式和被動模式。
主動模式的連接過程是這樣的,首先客戶隨機埠連接伺服器21埠,然後伺服器通過20埠連接客戶機剛剛那個隨機埠傳數據。整個過程中伺服器只要開放TCP20和21就可以
被動模式的連接過程是這樣的:首先客戶隨機埠連接伺服器21埠,然後伺服器通過21埠告訴客戶機自己打開哪個埠傳數據(這個埠是個1025--5000的埠)最後客戶機連接伺服器的所告知的埠。這個過程中伺服器除了要開放21埠外,還要開放1025--5000的所有埠才行,如果這樣開放就不是防火牆了。
這就是為什麼你開了防火牆的2021,客戶端要設置為主動模式才能訪問的原因。
D. 獨家:主動模式FTP與被動模式FTP該如何選擇
FTP是一種文件傳輸協議,主要用來在不同的主機之間實現文件的傳送。通常情況下完成一個文件的傳輸需要有命令連接通道與數據連結通道兩個通道。而建立這些通道的方法不同,又有主動模式與被動模式的區分。在Linux操作系統上,vsFTPd是最常用的一個FTP軟體,其支持這兩種模式。為此系統管理員需要了解這兩種連接模式的不同點,並在實際工作中根據企業的應用情況來選擇合適的模式。一、主動模式的實現與特點。 無論是主動模式還是被動模式,其要進行文件傳輸都必須依次建立兩個連接,分別為命令連接與數據連結。而主動模式與被動模式的差異主要體現在數據連結通道上。為了說明兩者的差異,我將主要對這個數據連結進行比較詳細的說明。 當FTP客戶端需要登陸到FTP伺服器上的時候,伺服器與客戶端需要進行一系列的身份驗證過程,這個過程就叫做命令連接。如在客戶端向伺服器發起連接請求的時候,客戶端會隨即的選擇某個TCP埠來跟FTP伺服器的21號埠進行連接,這主要是通過TCP三方握手來實現的。當三方握手完成之後,客戶端與伺服器之間便建立了命令連接通道。不過這個通道的用途是非常有限的,其主要用來傳輸FTP的相關指令。如查看文件列表、刪除文件等等,而不能夠用來在客戶端與服務端進行文件傳輸。為此這個通道就被稱之為命令通道。而跟數據傳輸相關的為數據通道。 到客戶端與伺服器建立了連接之後,可能客戶端暫時不需要進行數據傳輸。如只是需要查看目錄下的文件或則其他相關的動作。此時之需要命令連接通道就可以完成了。如果此時客戶端需要往FTP伺服器上上傳或者下載文件的話,就需要在客戶端與伺服器端再建立一條額外的數據傳輸連接。當客戶端發出數據傳輸的指令之後(如上傳數據或者下載文件),客戶端會啟用另外一個埠監聽等待連接,並利用先前建立的命令連接通道告訴FTP伺服器其監聽的埠號。然後FTP伺服器會利用埠20和剛才的FTP客戶端所告知的埠再次進行三方握手。三次握手成功後便建立了一條數據傳輸通道。注意此時數據連結通道建立的過程中,是FTP伺服器的20號埠主動連接FTP客戶端的,為此這種連接方式就叫做主動模式。 二、被動模式的實現與特點。 被動操作模式在建立命令連接通道的時候,跟主動操作模式是相同的。兩者主要的差異就在於數據傳輸通道的建立上面。但是如果用戶需要進行數據傳輸的時候,則FTP客戶端會通過命令通道告訴FTP伺服器,如會向伺服器發出一個PASV指令。這個指令就是告訴服務期,要採用被動模式建立連接。如果採用被動操作模式,服務期會選擇自身的一個埠來進行監聽連接(而在主動操作模式下是利用客戶端的一個埠來進行監聽連接),並再次利用命令連接通道告訴客戶端「我為你開啟了哪個埠,你要建立數據連接的話就跟我的哪個埠聯系」。客戶端在接到這個信息後,就會在自己操作系統上選擇一個數據連接的通信埠,與伺服器提供的埠進行三方握手,並最終建立起可以進行數據傳輸的通道。 當企業的網路環境不同,兩個操作模式的應用效果是不同的。這主要是主動操作模式與被動操作模式在數據的傳輸通道建立上有一定的差異。從以上的分析中我們可以看出,在主動操作模式下,FTP伺服器的20號埠是主動同客戶端聯系,建立數據傳輸通道的。而在被動操作模式下,則FTP伺服器是被動的等待,等待客戶段與其的20號埠建立連接。不要小看這個細小的差異,這個差異卻決定了兩者應用環境的不同。 一般來說,如果這個FTP伺服器只對企業的內部區域網客戶提供文件傳輸的服務,那麼基本上兩者的應用效果沒有很大的差異。但是如果企業網路外部的用戶也需要通過互聯網與FTP伺服器進行文件傳輸的話,就會有很大的不同。這主要是因為,在數據通道建立的過程中,客戶端會在另一個埠上監聽等待連接,並利用命令連接通道告訴伺服器其監聽的埠好。然後企業的邊界路由器會將FTP的IP地址轉換為合法的公網IP地址(假設企業由於公網IP地址有限,在邊界路由器上通過NAT服務向外部用戶提供FTP連接)。如果此時採用的是自動操作模式的話,則在連接這個數據通道的過程中FTP伺服器會主動跟邊界路由器的埠進行通信(因為FTP伺服器認為這台邊界路由器,其實就是NAT伺服器,就是FTP客戶段)。但是實際上不是,而且也有可能沒有啟用這個埠。為此客戶端與FTP伺服器之間的連接最終沒有建立起來。所以說,如果採用主動操作模式的話,當FTP伺服器部署在NAT等伺服器後面的時候,則FTP伺服器與客戶端之間只能夠建立命令連接通道,而無法建立起數據傳輸通道。如果FTP伺服器與客戶端之間還有防火牆的話,在連接的過程中也會出現以上類似的情況。 而如果是採用被動操作模式的話,是客戶端主動跟服務期的20號埠進行連接的。為此在數據傳輸通道建立的過程中,即使中間有NAT伺服器或者防火牆,也會准確無誤的連接到FTP伺服器的數據傳輸介面。所以說,如果在客戶端與FTP伺服器之間存在防火牆或者NAT伺服器等類似設備的話,那麼在FTP伺服器部署的時候,最好採用被動操作模式。否則的話,很可能只能夠建立命令連接通道,而無法進行數據傳輸。
E. 在防火牆中,detectftp配置在呢個模式下
一、FTP伺服器工作兩種模式
1、主動模式
2、被動模式
針對FTP伺服器:
FTP多通道(控制通道和數據通道)
一、被動模式
1、客戶端隨機埠N訪問FTP的21埠,發起控制通道的連接,即21埠為FTP控制通道監聽的埠。
2、伺服器將自身的IP和2個隨機數P1,P2告知客戶機。
3、客戶端使用N+1埠發送數據通道的連接,目標埠為P1*256+P2
被動模式下,2個通道客戶端發起,伺服器被動等待連接。
二、主動模式
1、客戶端隨機埠N訪問FTP的21埠,發起控制通道的連接,告知伺服器自身的IP地址和2個隨機數P1,P2
2、伺服器使用20號源埠訪問客戶機的P1*256+P2埠,發起數據通道的連接。(P1*256+P2=N+1)
主動模式,控制通道由客戶端發起,數據通道由伺服器發起。
單通道協議:通信過程中只佔用一個埠的協議
多通道協議:通信過程中佔用兩個或兩個以上埠的協議
多通道協議用到多個埠,很多埠隨機生成,防火牆配置很難使用精確的埠策略,防火牆默認開啟ASPF(應用層報文過濾)功能。針對多通道協議開啟ASPF功能,可以對多通道協議應用層的檢測,自動放行多通道的流量。
F. 如何設置FTP的主動模式和被動模式
一、什麼是主動FTP
主動模式的FTP工作原理:客戶端從一個任意的非特權埠N連接到FTP伺服器的命令埠,也就是21埠。然後客戶端開始監聽埠N+1,並發送FTP命令「port N+1」到FTP伺服器。接著伺服器會從它自己的數據埠(20)連接到客戶端指定的數據埠(N+1)。
針對FTP伺服器前面的防火牆來說,必須允許以下通訊才能支持主動方式FTP:
1、 任何大於1024的埠到FTP伺服器的21埠。(客戶端初始化的連接)
2、 FTP伺服器的21埠到大於1024的埠。 (伺服器響應客戶端的控制埠)
3、 FTP伺服器的20埠到大於1024的埠。(伺服器端初始化數據連接到客戶端的數據埠)
4、 大於1024埠到FTP伺服器的20埠(客戶端發送ACK響應到伺服器的數據埠)
二、什麼是被動FTP
為了解決伺服器發起到客戶的連接的問題,人們開發了一種不同的FTP連接方式。這就是所謂的被動方式,或者叫做PASV,當客戶端通知伺服器它處於被動模式時才啟用。
在被動方式FTP中,命令連接和數據連接都由客戶端發起,這樣就可以解決從伺服器到客戶端的數據埠的入方向連接被防火牆過濾掉的問題。
當開啟一個 FTP連接時,客戶端打開兩個任意的非特權本地埠(N > 1024和N+1)。第一個埠連接伺服器的21埠,但與主動方式的FTP不同,客戶端不會提交PORT命令並允許伺服器來回連它的數據埠,而是提交 PASV命令。這樣做的結果是伺服器會開啟一個任意的非特權埠(P > 1024),並發送PORT P命令給客戶端。然後客戶端發起從本地埠N+1到伺服器的埠P的連接用來傳送數據。
對於伺服器端的防火牆來說,必須允許下面的通訊才能支持被動方式的FTP:
1、 從任何大於1024的埠到伺服器的21埠(客戶端初始化的連接)
2、 伺服器的21埠到任何大於1024的埠(伺服器響應到客戶端的控制埠的連接)
3、 從任何大於1024埠到伺服器的大於1024埠(客戶端初始化數據連接到伺服器指定的任意埠)
4、 伺服器的大於1024埠到遠程的大於1024的埠(伺服器發送ACK響應和數據到客戶端的數據埠)
以上關於主動和被動FTP的解釋,可以簡單概括為以下兩點:
1、主動FTP:
命令連接:客戶端 >1024埠 -> 伺服器 21埠
數據連接:客戶端 >1024埠 <- 伺服器 20埠
2、被動FTP:
命令連接:客戶端 >1024埠 -> 伺服器 21埠
數據連接:客戶端 >1024埠 -> 伺服器 >1024埠
三、主動模式ftp與被動模式FTP優點和缺點:
主動FTP對FTP伺服器的管理和安全很有利,但對客戶端的管理不利。因為FTP伺服器企圖與客戶端的高位隨機埠建立連接,而這個埠很有可能被客戶端的防火牆阻塞掉。被動FTP對FTP客戶端的管理有利,但對伺服器端的管理不利。因為客戶端要與伺服器端建立兩個連接,其中一個連到一個高位隨機埠,而這個埠很有可能被伺服器端的防火牆阻塞掉。