当连接到 FTP 客户端中的互联网地址时,我们收到错误
:错误:无法建立数据连接:ECONNREFUSED - 服务器拒绝连接
通过同一客户端连接到 FTP 服务器时不会发生错误(通过本地 LAN 的客户端连接时)
Windows 防火墙已关闭。
尝试改变端口。
我们有两台服务器运行良好。因此网络配置正确。
错误日志是:
状态:连接到 117.247.9.3:2555... 状态:连接已建立,正在等待欢迎消息…… 响应:220-FileZilla Server 版本 0.9.40 beta 回复:220 - 由 Tim Kosse 撰写([电子邮件保护]) 响应:220 请访问http://sourceforge.net/projects/filezilla/ 命令:USER ++++ 响应:331 需要 ++++ 密码 命令:PASS ****** 响应:230 已登录 状态:已连接 状态:正在检索目录列表... 命令:PWD 响应:257“/”是当前目录。 命令:TYPE I 响应:200 类型设置为 I 命令:PASV 响应:227 进入被动模式 (192,168,1,78,5,245) 状态:服务器发送了带有不可路由地址的被动回复。请改用服务器地址。 命令:MLSD 错误:无法建立数据连接:ECONNREFUSED - 服务器拒绝连接 响应:425 无法打开数据连接。 错误:无法检索目录列表 状态:连接到 117.247.9.3:2555... 状态:连接已建立,正在等待欢迎消息…… 响应:220-FileZilla Server 版本 0.9.40 beta 回复:220 - 由 Tim Kosse 撰写([电子邮件保护]) 响应:220 请访问http://sourceforge.net/projects/filezilla/ 命令:USER ++++ 响应:331 需要 ++++ 密码 命令:PASS ****** 响应:230 已登录 状态:已连接 状态:正在检索目录列表... 命令:PWD 响应:257“/”是当前目录。 命令:TYPE I 响应:200 类型设置为 I 命令:PASV 响应:227 进入被动模式 (192,168,1,78,5,255) 状态:服务器发送了带有不可路由地址的被动回复。请改用服务器地址。 命令:MLSD 错误:无法建立数据连接:ECONNREFUSED - 服务器拒绝连接 响应:425 无法打开数据连接。 错误:无法检索目录列表
答案1
Response: 227 Entering Passive Mode (192,168,1,78,5,245)
Status: Server sent passive reply with unroutable address. Using server address instead.
看起来服务器位于私有网络内,即路由器/防火墙后面。但您从私有网络外部访问服务器。除非路由器/防火墙有特殊的助手来处理这种情况并重写流量,否则被动模式将不起作用。鉴于客户端收到的来自服务器的上述响应,您没有这样的路由器/防火墙。
在这种情况下,您将需要主动模式。但是,如果客户端和服务器都位于此类路由器/防火墙后面,并且位于不同的网络中,即使主动模式也无法工作。
答案2
Response: 227 Entering Passive Mode (192,168,1,78,5,245)
Status: Server sent passive reply with unroutable address. Using server address instead.
Command: MLSD
Error: The data connection could not be established: ECONNREFUSED - Connection refused by server
Response: 425 Can't open data connection.
Error: Failed to retrieve directory listing
我。您正在使用被动模式连接到服务器。被动模式连接到服务器,它将打开 1023 以上的随机端口。因此,如果您在服务器上使用 iptables,则需要做两件事:
编辑 iptables 配置文件。添加 2 行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20:21 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 10000:10100 -j ACCEPT
编辑 /etc/vsftpd/vsftpd.conf。附加以下行:
pasv_enable=YES pasv_max_port=10100 pasv_min_port=10000 port_enable=YES pasv_address=158.199.195.249
二.更简单的修复方法。
转到 FileZilla -> 设置 -> FTP -> 将“被动模式”切换为“主动模式”