尝试连接到 ftp 服务器时出现“ftp 错误 425 无法建立连接”。在同一网络上的 3 台机器上尝试了 2 个 ftp 客户端,但均不起作用。但是 FTP 可以通过家庭/移动宽带使用。
- FTP 服务器上没有 IP 阻止。
- 其他 ftp 服务器(不同的 ip/主机)工作正常。
- 防火墙设置正确,没有端口被阻止。
是否可以使用 ftp 代理?我认为这是 ISP 的问题,但需要很长时间才能解决?
答案1
在 CentOS 7 中的 vsftpd 服务器上出现错误 425有时
Windows Legacy(2000、XP、7)中的 ftp.exe 仅支持主动 ftp(端口 21、20),而 Windows 10 中的 ftp.exe 则支持被动模式。此 vsftpd 服务器配置为支持两个都主动和被动模式它在 /etc/vsftpd/vsftpd.conf 中有两行:
connect_from_port_20=YES
pasv_enable=YES
但是,Windows 10 和其他系统有时可以登录并能够传输,有时则不能,并出现错误 425;这不是 NAT、路由器或防火墙的问题;正如人们在互联网上搜索到的,这是 SELinux 的安全策略。
解决方案:
setsebool -P ftpd_connect_all_unreserved 1
答案2
假设用户/密码对话框成功,并且您正在尝试 GET 命令,那么您会收到“无法建立连接”的抱怨消息,这可能是 ftp 端口号的问题。有时 ftp 被动端口的范围是有限的,例如使用端口 5000-5999。这可以在您或他们的路由器内完成。要么使用相同的被动端口范围获取两个 ftp,要么在您的 ftp 命令对话框中包含命令“PASSIVE”。
此被动端口限制可能设置在/etc/vsftpd/vsftpd.conf
pasv_min_port=5000
pasv_max_port=5999
pasv_enable=YES
答案3
根据关于超级用户的回答,问题是从您到 ftp 服务器的某些路径仅支持“被动”模式 FTP 连接。添加-p
到ftp
命令行会将其切换到被动模式。否则,请在 ftp 程序中查找相关选项。
答案4
ftp 使用两种类型的连接,第一种用于 FTP 命令和回复,第二种用于数据传输
首先向 ufw 添加规则以允许 21 端口。$sudo service ufw allow 21
如果它不起作用,那么尝试停止阻止传输的 ufw 防火墙。$sudo service ufw stop 之后执行 ftp 任务。