由于本地防火墙,FTP 客户端无法列出服务器内容

由于本地防火墙,FTP 客户端无法列出服务器内容

TL;DR -

  1. 本地防火墙开启:FTP 连接成功,LIST/LS/DIR 返回错误 425 无法打开到端口 [大端口号] 的数据连接:连接超时。
  2. 本地防火墙关闭:FTP 连接成功,LIST/LS/DIR 也成功。

在我们讨论 FTP:Passive 与 FTP:Active 之前 - 事实并非如此。Passive 和 Active 本质上都做同样的事情。

连接如下:

<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 阵营,但我正在一台回收的联想 R61 上尝试 Zorin。我从来没有在尝试做一些“简单”的事情时遇到过这么多问题。我是否忽略了一些基本的东西?

也许吧?您允许它通过防火墙了吗?

是的,当然。我试过了,但没能成功。

如上所述,我尝试在禁用本地计算机的软件防火墙的情况下(通过 GUI)进行 FTP 连接,这允许连接。我尝试添加大量临时端口作为允许 - 但也没有用。我尝试将“FTP”作为服务添加到 GUI 防火墙->添加中,我也尝试通过 UFW 添加 FTP。

您是否尝试过使用谷歌搜索?

是的,我也试过了。它充斥着太多FTP 服务器info/config/issues 中,我找不到任何专门针对此问题的内容,实际上这不是被动 FTP 解决方案。正如我所说,在这种情况下,PASS 没有任何区别,当本地防火墙关闭时,Active 可以工作。

另外,我碰巧在这台机器上安装了 wireshark,并且我在“故障”期间观察了连接,wireshark 的输出没有显示任何活动。

问题: 如何成功允许 FTP 通过工作站的本地防火墙?


编辑

所以我在我的 Win10 机器上使用 WinSCP 尝试了这个,首先遇到了同样的问题。所以我尝试通过 Windows 命令行,然后弹出防火墙权限框,然后我就可以成功地通过 CLI 在 FTP 上进行 LIST。(... 重试 WinSCP 后,它也获得了身份验证框,然后按预期工作。)

我添加了这个来表明:相同的网络,相同的目标服务器,相同的路径等在不同的机器上也能工作。

相关内容