为什么 Filezilla 尝试在超出我的 FTP 服务器范围的端口上切换到被动模式?

为什么 Filezilla 尝试在超出我的 FTP 服务器范围的端口上切换到被动模式?

我有一台运行 vsftp 的 OpenSuSE 机器。它位于我们托管公司的防火墙后面。他们控制防火墙,我无法访问它。它通过 10.xxx 从我们的 VPN 不受限制地进行访问,并且公共 IP 地址 41.xxx 上的端口 20、21、40000-40500 被转发到它。

从我们的 VPN 来看,一切正常。但是,从外部来看,我遇到了问题。当客户端切换到被动模式时,服务器会响应

227 进入被动模式 (10,x,x,x,,157,213)

在 Filezilla 中,我收到以下消息:

227 进入被动模式 (41,x,x,x,228,63)

我已将端口分别设为 40248 和 58203。在我的 vsftpd.conf 文件中,有以下几行:

pasv_max_port=40500

pasv_min_port=40000

#pasv_address=10.xxx

这与我正在转发的端口相对应。

切换到被动模式后,客户端没有收到来自服务器的进一步响应。我怀疑这是因为它试图连接到它无法访问的 IP 地址,该地址位于未转发到服务器的端口上,而服务器未侦听该端口上的连接。

我尝试过改变

pasv_address=41.xxx

在配置文件中,但它所能做的就是断开来自 VPN 的连接。一旦连接源自 41.xxx,端口就不匹配。

我需要在配置中做哪些更改才能使其正常工作?

答案1

由于服务器和客户端日志中的 IP 也不同,我怀疑防火墙正在拦截连接并尝试对其进行 NAT 或类似操作(尽管如果防火墙正确执行此操作,它应该仍能正常工作)。您可以尝试使用 SSL/TLS 进行连接,以便防火墙不会干扰控制连接吗?

相关内容