FileZilla Server 是一款免費的開源 FTP 和 FTPS 服務器軟件,分為服務器版和客戶端版。服務器版原本只支持Windows操作系統,比如筆者曾長期使用過0.9.60版,那時候就只支持Windows操作系統。當時我們生產環境對FTP穩定性要求較高,比較多款FTP服務端后選擇了Filezilla Server。Windows上還有一款很穩定的FTP服務端叫Serv-U(也支持Linux服務器),但Serv-U是收費軟件,使用學習版容易招來律師函,有緣再分享Serv-U這款FTP軟件。目前Filezilla官網也提供macOS、Linux(原生支持debian 11,其他發行版本的linxu需手動編譯)的Server版本。FileZilla 免費客戶端不僅支持 FTP,還支持基于 TLS 的 FTP (FTPS) 和 SFTP。它是根據 GNU 通用公共許可證條款免費分發的開源軟件。客戶端版還提供 FileZilla Pro版本,為 WebDAV、Amazon S3、Backblaze B2、Dropbox、Microsoft OneDrive、Google Drive、Microsoft Azure Blob 和文件存儲以及 Google Cloud Storage 提供額外的協議支持。主要在免費版客戶端版的基礎上增加了云存儲協議的功能,需通過官網或應用商店訂閱,提供7天免費試用,之后年費約12.99美元/歐元。(價格需核實,網址我沒打開https://filezillapro.com/)。不過對國內用戶來說,Pro版本作用不大。Server端免費,加上免費的客戶端已經非常香了。說明一下,現在官網還提供FileZilla Server with manual和? ? ?FileZilla Pro Enterprise Server兩款FTP服務端收費版供選擇。? ??
本次分享講解在Windows的Server安裝和免費客戶端使用。
Filezilla Server 演示系統環境:Windows Server 2025
Filezilla Client 演示系統環境:Windows 11 24H2 ? ? ? ???
1、下載安裝包
官方網址:https://filezilla-project.org
點擊Filezill Server菜單下面的Download,默認出來的就是Windows版本的下載按鈕。點擊Download Filezilla Server圖標。? ??
會出來三個版本,Filezilla Server版本免費,這個是我們需要下載的版本。帶文檔的版本收費,帶SFTP和雙因子認證功能的版本收費。畢竟咱們只要免費的,這兩個收費版本就不考慮了。
2、安裝? ??
既然是Windows版的安裝軟件,那咱們直接雙擊exe安裝文件,開啟一路下一步之旅。
2.1、 同意協議
協議只有同意才能安裝。這里要說一下,Server端只有英文,需要有一定英文基礎,如果英文著實一般,看我的解釋也行。
2.2、 選擇安裝組件
默認是Full(完整)安裝,默認就行,咱們安裝大而全的。可根據需要選擇Server only(僅服務端)、Administration only(僅管理端)、Custom(自定義)。點Next(下一步)。? ??
2.3、 選擇安裝位置
默認就行,想修改的話自行指定安裝位置。點Next(下一步)。
? ??
2.4、 選擇開始菜單目錄
默認就行。點Next(下一步)。
2.5、 選擇服務器設置
選擇“Install as service,started with Windows (default)”(以服務安裝,默認隨Windows一起啟動)就行。“Install as service,started manually”(以服務安裝,手動啟動)。我因為服務器上已經安裝過,所以默認是“Keep existing service settings”(保持已存在的服務器設置)。? ??
勾選Start server after setup completes(安裝完成后啟動服務),點Next(下一步)。
? ??
2.6、 管理設置
默認對所有用戶生效(Start if user logs on,apply to all users(default)),可根據需要選擇僅對當前用戶生效(Start if user logs on,apply only to current user)、手動啟動(start manually)。勾選下面的安裝完成后打開管理員界面(Start administration interface after setup completes)。點Install(安裝)。
2.7、 生成管理員界面TLS認證指紋
認證指紋是自動生成的,在管理員界面可以查到,沒必要記,直接點確定即可。? ??
2.8、 安裝完成
點Close關閉安裝界面。
? ??
? ? ? ? ???
3、管理員界面配置
因為我們前面選了安裝完成啟動服務并打開管理員界面,接下來我們對服務端進行配置。
3.1、 連接服務端
點Connect to Server。
3.2、 連接設置
Host(主機)默認127.0.0.1,Port(端口)不用改,這里的端口不是FTP提供服務的端口,是管理員界面的端口,服務端口和管理員端口不一樣是為了更安全。設置管理員密碼。下面的保存密碼和啟動時自動連接服務都勾選上。點擊OK。? ??
可以看到管理員界面已經和FTP服務端連接上了。
4、FTP服務端設置
點擊Server菜單下的Configure(設置)進入設置頁面。對于做好了的設置,我們可以利用導出設置和導入設置做備份和恢復。網絡設置向導和測試FTP網絡設置可以根據需要使用。我們主要使用Configure(設置)里面的功能進行配置。? ??
4.1、 Server listeners(服務器監聽)設置
Address(地址)里的0.0.0.0表示所有的IPv4地址開放,::表示對所有的IPv6地址開放。Port(端口)就是FTP對外提供服務的端口,我這里設置的是2121,大家可以根據需要修改為自己想要提供服務的端口,這里大家還記得管理端的端口和這個對外提供服務的端口兩者有什么區別嗎?不記得的話翻到開始重新看一遍吧。Protocol(協議)有三個選項:Explicit?FTP over TLS?and insecure plain FTP(顯式FTPS和不安全普通FTP)、Require explicit FTP over TLS(要求強制使用顯式FTPS)、Implicit FTP over TLS(deprecated)(隱式FTPS(不推薦))? ??
這里要解釋一下FTP over TLS (簡稱FTPS),是FTP通信上添加SSL(安全套接層)協議來實現加密傳輸。FTP over SSL有兩種模式:Explicit FTP over TLS(顯式FTPS)和Implicit FTP over TLS(隱式FTPS)。兩種的區別主要如下:
特性 | 顯式SSL | 隱式SSL |
端口 | 控制通道:21(默認), 數據通道:動態 | 控制通道:990,數據通道:動態 |
加密觸發方式 | 客戶端顯式發送?AUTH?命令 | 連接建立后自動加密 |
兼容性? ? ? ? ? | 高(支持明文與加密混合模式) | 低(需客戶端支持隱式SSL) |
安全性 | 依賴客戶端主動加密 | 全程強制加密 |
典型應用 | 需兼容舊系統的場景 | 高安全性要求的內部網絡 |
看完了上面的對比,是不是還是沒有明白兩者的區別?哈哈,跟我一樣。咱們只用記住顯式FTPS兼容性更好一點而隱式FTPS安全性更高一點就行。繞了這個大個彎子,我只是想盡量能讓大家明白配置里為什么選Explicit FTP over TLS and insecure plain FTP(顯式FTPS和不安全普通FTP),只是這個更適合大部分FTP服務端使用場景而已。
這里擴展一下還有一個SFTP概念:基于SSH協議(端口22),全程加密,單端口傳輸,更易穿透防火墻。前文介紹過,這個功能不是免費的,在Pro版本中提供。
4.2、 Protocols settings(協議設置)
這個設置頁里有4個頁簽,第一個是Autoban(自動封禁)功能。這里有3個輸入框,分別是失敗多少次、在多少秒內、封禁多少秒。比如第一個框內填10、第二個框內填60、第三個框填300,意思就是如果在60秒內輸錯密碼10次就封禁這個訪問IP 五分鐘。? ??
第二個頁簽是Timeouts(超時退出)設置,默認設置是60秒未登入自動退出,60分鐘無活動自動退出。
? ??
第三個頁簽是Performance(性能),設置多少線程、數據連接收的緩沖區多大、發的緩沖區多大。這個設置太精細了我就不設置了。
第四個頁簽是filters(過濾),設置禁止的IP范圍和允許的IP范圍。
? ??
4.2.1、 FTP和FTPS設置
這里有三個頁簽,第一個頁簽是Connetction Security(連接安全)。最低允許的TLS版本有1.3和1.2可供選擇,1.3安全性更高,這里我選1.3。TLS證書選擇自簽名的Use a self-signed X.509 certificate 。另外兩個選項是Provide a X.509 certificate and??private key(提供一個X.509證書和私鑰,真沒必要diy這些東西)、Use a Let’s encrypt? certificate(使用一個Let’s encrypt?的證書,這場景更沒見過了,Let’s encrypt?是一個由非營利組織運營的免費、自動化、開放的證書頒發機構(CA))。
? ? ? ? ???
第二個頁簽歡迎頁就不說了。第三個頁簽Passive Mode(被動模式)。端口范圍我使用是默認的49152-65534。? ??
這里提一下FTP的主動模式(Active Mode)和被動模式(Passive Mode)的主要區別在于數據連接的建立方式,這直接影響客戶端和服務器在網絡環境(如防火墻或NAT)中的兼容性。兩種模式的對比:
模式 | 主動模式(Active Mode) | 被動模式(Passive Mode) |
數據連接發起方 | 服務器主動連接客戶端 | 客戶端主動連接服務器 |
適用場景 | 客戶端有公網IP且無防火墻限制 | 客戶端位于防火墻/NAT后 |
端口使用? ? ? ? ? | 服務器使用20端口作為數據端口 | 服務器隨機開放高端口(如50000~60000) |
防火墻友好性 | 需要客戶端開放端口供服務器連接,易被防火墻攔截 | 客戶端主動發起連接,通常更易穿透防火墻 |
? ? ? ? ???
兩種模式配置對比(主動模式 vs 被動模式)
配置項 | 主動模式 | 被動模式 |
數據連接方向 | 服務器 → 客戶端 | 客戶端 → 服務器 |
服務器端口 | 控制端口:21,數據端口:20 | 控制端口:21,數據端口:隨機高端口 |
防火墻要求 | 客戶端需開放數據端口入站 | 服務器需開放高端口范圍入站 |
? ? ? ? ???
從上面的截圖可以看出,勾選了端口范圍說明我們默認使用的被動模式,這也是大部分FTP默認使用的模式。
Public IP or hostname:(leave it empty to use the local IP)意思是留空就是使用本地IP,可以填入公網IP或者主機名,Retrieve public IP按鈕是獲取公網IP(我試了下讀取是IPv6地址),勾選的Use local IP for local connections(Recommended)意思是推薦使用本地IP作為本地連接。這里說一下為什么推薦使用本地IP而不是公網IP,是因為如果服務器和客戶端同時都有本地IP(比如我的測試服務器本地IP是192.168.68.131)和公網IP,使用本地IP進行FTP肯定會更安全一些。當然,這要結合實際使用場景來定,如果必須使用公網IP來進行FTP文件傳輸,那就做好安全防護,不然護網的時候肯定讓你頭疼。 ? ? ? ???
4.3、 Rights management(權限管理)
這是Filezilla Server一個很重要的設置。
測試服務器直接用的管理員連接的,這里默認就用連接的用戶進行管理。? ??
4.3.1、 Groups(組管理)
點開組管理,首先彈出一個提醒,讓注意設置本地路徑,直接關掉吧。
講一下Groups(組)和Users(用戶)。通過“Groups”選項卡來配置用戶組的權限,通過“Users”選項卡來配置單個用戶的權限,后將用戶添加到相應的組中以應用預設的權限規則。這樣做的好處是,如果您需要更改一組用戶的權限,只需修改該組的權限設置即可,無需單獨調整每個用戶的權限。拿學校做例子,我們可以為每個班級建立一個組,這個組默認能看到一些目錄,這些目錄默認設置一些目錄的權限。這個班級的每個學生,又可以為每個人因選課的不同而設置不同的目錄權限,這樣可以做到非常精細化的目錄組合管理。每個目錄是讀+寫還是只讀還是禁止、子文件夾是否繼承父目錄權限、目錄結構是否可修改、本地目錄不存在則創建。Virtual path(虛擬路徑)設置為/(根目錄),可以為組或者用戶設置多個目錄權限。Filters(過濾)前面有類似功能,Limits是對上傳、下載速度等的設置,大家根據實際需要可以進行限制。? ??
4.3.2、 Users(用戶管理)????
注意設置本地路徑的提示還是直接關掉吧。
默認有個system user(系統用戶),描述里有個提示“This user can impersonate any system user.(這個用戶可以扮演任何系統用戶)。這個用戶是Filezilla Server自帶的,我測試取消User is enabled(啟用用戶)的勾選也不影響使用。點Add添加我們需要的ftp用戶,這里我設置的是賬號是ftpuser。? ??
跟前面說的組一樣,我們可以添加多個ftp用戶,為ftp用戶設置一個或者多個目錄,設置所屬的組(默認能看到組權限設置可以看的目錄),設置或者修改ftp密碼,也可以為大家可以根據需要進行配置。
? ? ? ? ? ???
4.3、 Administration(管理員界面)
前面設置過管理員端口,這里可以修改監聽端口號,修改管理密碼。
但是嘗試打開管理頁面,點繼續訪問卻點不能繼續訪問。不知道什么原因,知道原因的朋友可以教教我。
? ??
? ? ? ? ???
4.4、 Logging(日志管理)
這里是設置日志相關的,想查看FTP日志知道去哪里找日志文件。
4.5、 加密相關
這兩個加密相關的,我沒有修改。? ??
? ? ? ? ???
5、防火墻設置
Filezilla Server 設置好了,接下來我們設置一下防火墻。打開Windows Server服務器的防火墻設置。? ??
是設置入站規則還是出站規則呢?對于FTP服務器來說,只涉及外網訪問服務器,不涉及服務器訪問外網,所以是在防火墻的入站規則里打開端口,不修改出站規則。出站就是你訪問別人,入站就是別人要訪問你,創建入站和出站規則,從而阻擋或者允許特定程序或者端口進行連接。前文也講過,Filezilla Server默認是被動模式,因此我們是要設置入站規則。? ??
為端口2121和被動模式端口范圍(49152-65534)新建入站放行規則。
到此,就完成了Filezilla Server的配置和防火墻的設置。
6、訪問FTP????
可以使用網頁、資源管理器訪問ftp://ip:port來訪問FTP服務器
也可以是Filezilla?Client或者其他的FTP連接客戶端訪問。Filezilla客戶端是中文的,很方便使用。
今天的Filezilla Server設置就介紹到這里。? ??