windows-server-2008-r2 – FileZilla FTP的被动模式无法正常工作

我们在 Windows Server 2008 R2上运行FileZilla服务器0.9.37

活动模式正常,服务器上的Windows防火墙已关闭.

我们的路由器是DrayTek活力2820.在NAT,开放端口,我已经为服务器本地IP打开了以下端口

TCP 20-22,TCP 45100-65535

在FileZilla服务器中,在被动模式设置下(我无法发布图像…)

Use the following IP: 213.106.150.123
Don't use external IP from local connections: Checked
Use custom port range: 45100-65535

从我在德国的远程服务器,我尝试连接回FileZilla服务器.

Status: Connecting to 213.106.150.123:21...
Status: Connection established,waiting for welcome message...
Response:   220 --
Command:    USER ftp_001471
Response:   331 Password required for ftp_001471
Command:    PASS ********
Response:   230 Logged on
Status: Connected
Status: Retrieving directory listing...
Command:    CWD /
Response:   250 CWD successful. "/" is current directory.
Command:    TYPE I
Response:   200 Type set to I
Command:    PASV
Response:   227 Entering Passive Mode (213,106,150,123,238,133)
Command:    MLSD
Response:   425 Can't open data connection.
Error:  Failed to retrieve directory listing

FileZilla服务器上的状态窗口报告以下内容

(not logged in) (87.106.131.22)> Connected,sending welcome message...
(not logged in) (87.106.131.22)> 220 --
(not logged in) (87.106.131.22)> USER ftp_001471
(not logged in) (87.106.131.22)> 331 Password required for ftp_001471
(not logged in) (87.106.131.22)> PASS ********
ftp_001471 (87.106.131.22)> 230 Logged on
ftp_001471 (87.106.131.22)> CWD /
ftp_001471 (87.106.131.22)> 250 CWD successful. "/" is current directory.
ftp_001471 (87.106.131.22)> TYPE I
ftp_001471 (87.106.131.22)> 200 Type set to I
ftp_001471 (87.106.131.22)> PASV
ftp_001471 (87.106.131.22)> 227 Entering Passive Mode (213,195,197)
ftp_001471 (87.106.131.22)> MLSD
ftp_001471 (87.106.131.22)> 425 Can't open data connection.

如果我将FileZilla被动模式设置从外部IP更改为认,我会从德国客户端尝试连接时获得以下详细信息.

Status: Connecting to 213.106.150.123:21...
Status: Connection established,196,198)
Command:    MLSD
Response:   425 Can't open data connection.
Error:  Failed to retrieve directory listing

以及服务器上的详细信息.

(not logged in) (87.106.131.22)> Connected,sending welcome message...
(not logged in) (87.106.131.22)> 220 --
(not logged in) (87.106.131.22)> USER ftp_001471
(not logged in) (87.106.131.22)> 331 Password required for ftp_001471
(not logged in) (87.106.131.22)> PASS ********
ftp_001471 (87.106.131.22)> 230 Logged on
ftp_001471 (87.106.131.22)> CWD /
ftp_001471 (87.106.131.22)> 250 CWD successful. "/" is current directory.
ftp_001471 (87.106.131.22)> TYPE I
ftp_001471 (87.106.131.22)> 200 Type set to I
ftp_001471 (87.106.131.22)> PASV
ftp_001471 (87.106.131.22)> 227 Entering Passive Mode (192,168,1,4,198)
ftp_001471 (87.106.131.22)> MLSD
ftp_001471 (87.106.131.22)> 425 Can't open data connection.

我究竟做错了什么?

当我指定外部IP时,客户端和服务器报告相同,但端口搞砸了,当我使用认运行时,服务器使用其内部IP但端口分配看起来更好.

编辑:更多测试及其工作.

所以我在IIS 7.5中安装了FTP服务器,禁用了FileZilla,它工作正常!然后我尝试重新启用FileZilla,这太有用了!这完全来自我家的ADSL连接.

然后我再次尝试从我们在德国的远程服务器失败,挂起在被动模式下的目录列表中,用于IIS FTP和FileZilla.

我想德国数据中心的防火墙/路由器有些问题.我真的不想弄乱远程服务器路由器(我甚至不确定我可以改变防火墙规则作为其托管)我担心企业客户在尝试访问我们的FTP站点时遭受同样的命运.

我建议你尝试使用Windows的FTP或其他安装的客户端在服务器上本地.这样您就可以看到它是网络/防火墙问题还是FTP服务器配置问题.如果命令,还要检查Filezilla服务器的日志文件.

如果它取决于防火墙,这里有一篇TechNet文章可以提供帮助:How to Configure Windows Firewall for a Passive Mode FTP Server.但是您写道Windows防火墙已关闭,所以我认为这是外部防火墙/路由器的问题(也检查客户端).

相关文章

Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...
Windows文件操作基础代码 Windows下对文件进行操作使用的一段...
Winpcap基础代码 使用Winpcap进行网络数据的截获和发送都需要...
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看...