【FTP】在IIS上搭建FTP服務


FTP服務

     FTP是文件傳輸協議(File Transfer Protocol)的簡稱,該協議屬於應用層協議,用於Internet上的雙向文件傳輸(即文件的上傳和下載)。在網絡上有很多服務器提供FTP服務,用來存放大量的文件供他人下載。FTP服務的主要作用是讓遠程用戶可以連接上來,查看服務器上有哪些文件,然后下載,當然用戶也可以將本地文件上傳到服務器,共享給其他人以便下載。FTP服務提供上傳下載服務的同時,管理員也可以設置不同用戶對不同文件夾的訪問權限(讀、寫)。

在Win7的IIS上搭建FTP服務

     初學Web開發的人,一般的情況下都認為IIS只能提供Web服務。其實IIS不僅可以提供Web服務,還可以提供其他服務,如網絡新聞服務(NNTP)、簡單郵件傳輸服務(SMTP),當然還有文件傳輸服務(FTP)。只是在IIS上,用得最多的是Web服務。默認安裝的情況下,IIS也只會安裝Web服務,FTP服務只在特定選擇的情況下才會被安裝到IIS環境中。下面,我們來看看在Win7的IIS上安裝FTP服務的步驟:

此外,還可以使用FileZilla Server輕松搭建個人FTP服務器

1、打開“控制面板”的“程序和功能”:

2、進入到“程序和功能”的界面,選擇左側的“打開或關閉Windows功能”,打開“Windows”功能對話框:

3、展開“Internet信息服務”節點,發現默認情況下“FTP服務器”子節點並沒有被選中,選中該子節點,點擊“確定”按鈕,Windows開始安裝FTP服務(由於Win7的所有組件安裝文件其實已經在Win7的安裝過程中被拷貝到系統中,故不想WinXP下安裝組件需要系統盤):

4、安裝完成后,你會在“服務”管理工具中看到“MIcrosoft FTP Service”服務:

在IIS中添加FTP站點

1、在“管理工具”的“Internet信息服務(IIS)管理器”中,選中服務器,點擊右鍵菜單中的“添加FTP站點…”子菜單項:

2、在“添加FTP站點”對話框的“FTP站點名稱”中輸入你所期望的站點名稱,並選擇你期望用來存放文件的“內容目錄”:

3、點擊“下一步”按鈕,進入IP地址綁定和SSL設置,由於我們這里不使用SSL,所以SSL選項選擇“無”

4、繼續點擊“下一步”,進入到“身份驗證和授權信息”環節,“身份驗證”選擇“匿名”和“基本”,

“授權”的“允許訪問”選擇“所有用戶”,“權限”選擇“讀取”:

5、點擊“完成”按鈕,完成FTP站點的添加過程。這時會發現IIS管理器“網站”節點下多了一項剛才添加的FTP站點。

FTP站點的配置及授權

1、不想讓所有用戶都可訪問,需要設置FTP站點的權限(FTP身份驗證、授權規則)。我們在Windows系統中添加一個名為“FTPUser”的用戶,在“開始菜單”中選擇“計算機”,點擊右鍵菜單中的“管理”子菜單:

打開“本地用戶和組”的“用戶”節點,

添加用戶名為“ftpuser”的新用戶:

點擊“創建”按鈕為Windows系統創建新的用戶。可能報錯:

需要配置本地策略。步驟:控制面板->系統和安全->管理工具->本地安全策略->

主要是修改以下兩個策略

1、密碼必須符合復雜性要求——禁用

2、密碼長度最小值——設置為0

3、在IIS管理器的FTP站點中,選中你要授權的文件夾,並切換到“功能視圖”,選中“FTP授權規則”,

雙擊“FTP授權規則”,進入“授權規則”管理界面,點擊右鍵菜單的“添加允許規則”,彈出對話框,選擇“指定的用戶”並輸入“ftpuser”,設置其權限為“讀取”和“寫入”:

點擊“確定”完成“授權規則”的添加。

FTP被動模式訪問

FTP服務器一般都支持主動和被動模式,連接采用何種模式是由FTP客戶端軟件決定

主動 FTP :
    命令連接:客戶端 >1024 端口 → 服務器 21 端口
    數據連接:客戶端 >1024 端口 ← 服務器 20 端口

被動 FTP :
    命令連接:客戶端 >1024 端口 → 服務器 21 端口
    數據連接:客戶端 >1024 端口 ← 服務器 >1024 端口

  PORT(主動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。 當需要傳送數據時, 客戶端在命令鏈路上用PORT命令告訴服務器:“我打開了***X端口,你過來連接我”。於是服務器從20端口向客戶端的***X端口發送連接請求,建立 一條數據鏈路來傳送數據。  

  PASV(被動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。 當需要傳送數據時, 服務器在命令鏈路上用PASV命令告訴客戶端:“我打開了***X端口,你過來連接我”。於是客戶端向服務器的***X端口發送連接請求,建立一條數據鏈 路來傳送數據。

早先所有客戶端都使用主動模式,而且工作的很好,而現在因為客戶端防火牆的存在,將會關閉一些端口,這樣主動模式將會失敗在這種情況下就要使用被動模式,但是一些端口也可能被服務器的防火牆封掉。不過因為ftp服務器需要它的ftp服務連接到一定數量的客戶端,所以他們總是支持被動模式的。這就是我們為什么要使用被動模式的原意,為了確保數據可以正確的傳輸,使用 被動模式要明顯優於主動模式

 

IIS下搭建的ftp被動模式設置

服務器上ftp用被動模式,服務器只開50000-60000的端口用於客戶端訪問,而看了下用1025-1034這樣的端口並不行,用抓包也看到被動時,服務器端指定的端口是50492,大多是在5萬-6萬之間(這個是為什么,暫時沒搞清)。

 

而這個端口是變動的,故如果只設置一個端口是不行的(50000-50000這樣不行)

相應的服務器也得在“安全組規則”里開這些端口。

 

 

更多查看:ftp防火牆設置

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM