2017-02-28 45 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。给我一些时间.. –

相关问题