長話短說——
- 本機防火牆開啟:FTP 連線成功,LIST / LS / DIR 回傳錯誤 425 無法開啟至連接埠 [大埠號] 的資料連線:連線逾時。
- 本機防火牆關閉:FTP 連線成功,LIST / LS / DIR 也成功。
在我們討論 FTP:被動與 FTP:主動之前 - 事實並非如此。被動和主動本質上都做同樣的事情。
連接是這樣的:
<Standard beginning connection bumf to remote Pure-FTP server>
230 OK. Current restricted directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
200 PORT command successful
425 Could not open data connection to port 46811: Connection timed out
ftp> quit
221-Goodbye. You uploaded 0 and downloaded 0 kbytes.
221 Logout.
當不使用 Windows 時,我來自 Red Hat/Fedora/CentOS 陣營,但我正在舊的 Lenovo R61 上嘗試 Zorin。我從來沒有在嘗試做“簡單”的事情時遇到這麼多問題。我是否忽略了一些基本的東西?
或許?你允許它通過防火牆嗎?
對,當然。我嘗試過,但無法讓它發揮作用。
如上所述,我嘗試在禁用本機的軟體防火牆(透過 GUI)的情況下進行 FTPing,並且允許連線。我已經嘗試在允許的情況下添加大量臨時連接埠 - 這也不起作用。我嘗試將“FTP”作為服務添加到 GUI 防火牆->添加中,我也嘗試透過 UFW 添加 FTP。
你有試過用谷歌搜尋嗎?
是的,我也嘗試過。被這麼多的東西淹沒了FTP伺服器info/config/issues 中我找不到任何專門針對此問題的內容,而這實際上並不是被動 FTP 解決方案。正如我所說,在這種情況下,PASS 沒有任何區別,並且 Active 在本地防火牆關閉時起作用。
另外,我碰巧在這台機器上安裝了wireshark,並且我在「故障」期間觀察了連接,wireshark 的輸出顯示沒有活動。
問題: 如何成功允許 FTP 通過工作站的本機防火牆?
編輯
所以我在我的 Win10 機器上使用 WinSCP 嘗試了這個,並且首先遇到了同樣的問題。所以我透過 Windows 命令列進行了嘗試,然後彈出了防火牆權限框,然後我就可以透過 CLI 成功在 FTP 上列出了。 (...重試 WinSCP 後,它也獲得了身份驗證框,然後按預期工作。)
我添加此內容是為了表明:相同的網路、相同的目標伺服器、相同的路徑等在不同的電腦上可以工作。