解決Pfsense使用NAT無法對應內網FTP Server(Filezilla)的問題

小弟這兩天將公司的軟體路由器從IPCOP改為PFsense. 但是遇到一個之前(Linux軟體路由)沒有發生過的現象,兩天下來總算解決,在這邊分享給有需要的網友,雖然不一定每個FTP Server都會,就當做是在mobile01這邊做個筆記吧。
環境說明:
外網WAN:HiNet光纖10M/2M 採 PPPoE固定IP
內網LAN : 192.168.1.0 /24
軟體路由器:PFsense 1.22

FTP Server軟體:Filezilla FTP Server 0.9.31
FTP Server內網IP : 192.168.1.100
FTP Server Port : 21 (標準FTP Port)

FTP Client軟體:Filezilla Client 3.2.2.1

FTP連線模式:被動模式PASV

狀況:
之前將WAN端只單將Port 21以NAT對應到內網之FTP server時,一直無法順利連線,目錄名稱更是無法顯示,Google過只找到幾個零星且片段的資料,做了幾個測試及調整,發現是以下幾個問題所導致:
a. 採用PASV模式需要開放高Port
b. Pfsense預設是阻擋所有的Port,如果只NAT Prt 21. 就會只有21 ==> 廢話
c. Filezilla設定的問題.
c1. 如圖二中,預設是在Default這個位置,而Defaule會傳送Server端的虛擬IP給外網的Client. 從而導致無法連線
c2. 圖二底下的選項基本上也是要打勾且填入高端的Port以作為連線使用(FTP協定的細節就不討論了)

問題解決方式:
1. 增加Pfsense中NAT的規則如圖一,Port範圍可自行設定,主要就是要跟Filezilla FTP Server一致就行了 (Pfsense ==> Firewall ==> NAT)
2. 在Fillezilla FTP server中增加設定如圖二

基本上這樣就可以解決Pfsense + Filezilla FTP Server的問題!Pfsense的效能表現真的是沒話說,BSD的穩定度更不需要再討論,希望以上的分享可以對網友有幫助。

圖一


圖二
因為小弟本身的環境也是類似您這樣

防火牆 pfsense 1.21RC4
FTP Server OS:centos5.2 vsftpd2.05
FTP Clinet OS:windows xp sp3 filezilla 3.231
小弟想請問一下

1 採用PASV模式需要開放高Port
請問原因是????

2.小弟也按照您的作法把port 改為60100-60130
(修改/etc/vsftpd/vsftpd.conf)
Firewall 在rule的部份也開啟 NAT的部份也有導向我的內部IP

可是利用被動模式來做連線 還是會有問題 想請教一下問題點大概出在哪 謝謝!









高端Port的部分這應該牽涉到FTP基本協議的內容,這個網址有較為詳細的說明,小弟我還只是初學者階段,還在琢磨其中的細節而已.. 網站連結
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!