我实际上在这个设置上遇到了错误。500 Illegal PORT command.
425 Use PORT or PASV first
当使用 command 时我得到了PUT
。
我目前使用的是CENTOS 7.2
这是我的 vsftpd.conf:
anonymous_enable=NO
listen_port=58021
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
dirlist_enable=yes
pasv_enable=yes
pasv_min_port=58022
pasv_max_port=58026
write_enable=yes
local_root=/mnt/webcollab/super/
已经在互联网和论坛上尝试过修复。
http://www.linuxquestions.org/questions/linux-networking-3/vsftpd-425-error-57491/
和我在这里看到的一样,但仍然有问题。
谢谢!
答案1
我认为你的 ftp 客户端有问题。
PORT命令由FTP客户端发送。如果供应商将带有 10.xxx 地址的 PORT 命令一路发送到服务器,则该命令将永远无法工作,因为 10.xxx 是私有范围。客户端只有两种方法可以在端口命令中发送 10.xxx 并期望它起作用:
- 客户端与服务器位于同一专用 10.xxx 网络上。
- 客户端网络上的防火墙能够识别 FTP 协议,并实时检查控制通道,并实际将 10.xxx 内部地址替换为外部 IP 地址,以便服务器实际上看到的是外部地址,而不是客户端的内部 10 .xxx 地址。
为了快速检查,暂时禁用 ftp 服务器上的防火墙和 selinux,看看是否与此相关。