2017-02-28 41 views
0

我正在LAN中的一臺計算機上運行FILE-Zilla FTP服務器連接到我的路由器。我試圖通過在路由器中添加端口轉發規則(NAT),使用路由器WAN WAN IP (WAN到LAN)從路由器外部的網絡訪問FTP服務器。根據以下配置,我在這裏有兩種情況。 1st正在工作2nd不是(處於被動模式)。通過NAT運行在端口2000上的FTP服務器無法在被動模式下工作

注意:我已經在運行ftp服務器的windows 7防火牆 上添加了自定義入站規則。

配置#1

Filezilla FTP server port: 21 
Passive port range: 50000-51000 

NAT - external port: 21 
NAT - internal port: 21 

Windows firewall inboud rule port allow port: 21, 50000-51000 

Client connecting to: <Wan IP>:21 

這是工作,如果客戶端嘗試使用主動/被動模式連接

配置#2

Filezilla FTP server port: 2000 
Passive port range: 50000-51000 

NAT - external port: 21 
NAT - internal port: 2000 

Windows firewall inboud rule port allow port: 2000, 50000-51000 

Client connecting to: <Wan IP>:21 

僅當客戶端設置爲活動模式時,此功能才起作用。 不適用於被動模式客戶端配置。客戶端可以連接並登錄成功,但以服務器端的錯誤消息結束,沒有任何目錄列表。

227 Entering Passive Mode (192,168,1,2,195,85) 

注:無論是在LAN-LAN網絡工作的情況。

+0

如果您使用TLS/SSL,配置#1是否工作? –

+0

您使用什麼FTP客戶端進行測試? –

+0

#1總是在沒有TLS/SSL的情況下工作。 我沒有在這裏使用TLS/SSL功能,它沒有選中。 '(000064)28/2/2017 15:44:29 PM - (沒有登錄)(192.168.1.2)> AUTH TLS (000064)28/2/2017 15:44:29 PM - (沒有登錄) (192.168.1.2)> 502 SSL/TLS身份驗證不允許 (000064)28/2/2017 15:44:29 PM - (未登錄)(192.168.1.2)> AUTH SSL (000064)28/2/2017 15:44:29 - (沒有登錄)(192.168.1.2)> 502 SSL/TLS驗證不允許' –

回答

1

我的猜測是配置#1的工作原理僅僅是因爲NAT足夠聰明,可以轉換來自服務器的PASV響應中的IP地址。但它可能只用於標準的FTP端口。


您應該告訴FileZilla FTP服務器其外部IP地址。轉至編輯>設置>被動模式設置> IPv4特定>被動模式傳輸的外部服務器IP地址

當前您的FTP服務器正在向客戶端發送其內部IP地址。而客戶端顯然無法連接到IP地址。

而且具有NAT轉發端口的被動端口範圍(50000-51000)。


雖然更改將打破LAN-LAN連接。要允許LAN和WAN連接,請檢查NAT是否可以配置爲轉換非標準端口的IP地址。儘管翻譯只適用於未加密的連接。而且你不應該使用未加密的連接!

的最後一個選項是使用擴展的被動模式(EPSV),如果你的客戶允許的。在擴展被動模式下,響應中沒有IP地址。 FTP客戶端使用FTP服務器的主IP地址進行數據連接。

+0

192.168.10.84是廣域網ip,192.168.1.2是局域網,所以我應該給192.168.10.84在設置編輯>設置>被動模式設置> IPv4特定>外部服務器IP地址' 我會先試試這個,然後TLS/SSL。給我一些時間.. –

相關問題