【问题标题】:FTP server running on Port 2000 over NAT not working on Passive Mode通过 NAT 在端口 2000 上运行的 FTP 服务器在被动模式下不工作
【发布时间】:2017-02-28 08:04:51
【问题描述】:

我在 Windows 上运行 FILE-Zilla ftp 服务器,其中一台 LAN pc 连接到我的路由器。我正在尝试使用路由器 WAN ip (WAN-to-LAN) 通过添加端口转发规则 (NAT) 从路由器外部的网络访问 FTP 服务器路由器。根据以下配置,我在这里有 2 个案例。 第一个工作,而第二个不工作(在被动模式下)。

注意:我在 windows 7 防火墙中添加了自定义入站规则 运行 ftp 服务器的位置。

配置#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 网络中工作。

【问题讨论】:

  • 如果您使用 TLS/SSL,配置 #1 是否有效?
  • 你使用什么FTP客户端进行测试?
  • #1 总是在没有 TLS/SSL 的情况下工作。我没有在这里使用 TLS/SSL 功能,它没有被选中。 (000064)28/2/2017 15:44:29 PM - (not logged in) (192.168.1.2)&gt; AUTH TLS (000064)28/2/2017 15:44:29 PM - (not logged in) (192.168.1.2)&gt; 502 SSL/TLS authentication not allowed (000064)28/2/2017 15:44:29 PM - (not logged in) (192.168.1.2)&gt; AUTH SSL (000064)28/2/2017 15:44:29 PM - (not logged in) (192.168.1.2)&gt; 502 SSL/TLS authentication not allowed
  • 所以请启用它并测试它。
  • 使用安卓移动客户端AndFTP。

标签: ftp port portforwarding nat passive-mode


【解决方案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 地址进行数据连接。

【讨论】:

  • 192.168.10.84 是 WAN ip,而 192.168.1.2 是 LAN 所以我应该在设置中提供 192.168.10.84 Edit &gt; Settings &gt; Passive mode settings &gt; IPv4 specific &gt; External Server IP Address 我会先尝试这个,然后再尝试 TLS/SSL。给我一些时间..
猜你喜欢
  • 2014-01-14
  • 1970-01-01
  • 2019-12-14
  • 2022-12-08
  • 2020-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-26
相关资源
最近更新 更多