vsftpd-无法建立数据连接:EHOSTUNREACH-没有到主机的路由

vsftpd-无法建立数据连接:EHOSTUNREACH-没有到主机的路由

我有一个在 CentOS 6.4 上运行 vsftpd v3.0.2 的 VPS。当我尝试连接到我的 ftp 服务器时,出现错误:

The data connection could not be established: EHOSTUNREACH - No route to host

尝试连接的控制台:

Status: Connecting to xxx.xxx.xxx.xxx:21...
Status: Connection established, waiting for welcome message...
Response:   220 snapd.server01 FTP Server
Command:    AUTH TLS
Response:   234 Proceed with negotiation.
Status: Initializing TLS...
Status: Verifying certificate...
Command:    USER web01
Status: TLS/SSL connection established.
Response:   331 Please specify the password.
Command:    PASS *********
Response:   230 Login successful.
Command:    OPTS UTF8 ON
Response:   200 Always in UTF8 mode.
Command:    PBSZ 0
Response:   200 PBSZ set to 0.
Command:    PROT P
Response:   200 PROT now Private.
Status: Connected
Status: Retrieving directory listing...
Command:    PWD
Response:   257 "/"
Command:    TYPE I
Response:   200 Switching to Binary mode.
Command:    PASV
Response:   227 Entering Passive Mode (xxx,xxx,xxx,xxx,85,175).
Command:    LIST
Error:  The data connection could not be established: EHOSTUNREACH - No route to host

我已转发所有必需的端口,包括 5000-5100。我还尝试禁用 SElinux - 没有用。用户 web01 主目录设置为/var/www

我确实研究过互联网。有人说,如果我在 vsftpd.conf 中有空格,则会导致错误,但事实并非如此。

答案1

看起来像是active/passive模式问题。看来您使用了Passive模式。

我会尝试Active模式。

如果您确实想要Passive模式,我怀疑您没有打开所有所需的端口(from TCP/1024 to TCP/65534)。

请注意,您可以使用中的指令pasv_min_port限制被动模式的端口范围。pasv_max_portvsftpd.conf

答案2

NAT 服务器?

vi /etc/sysconfig/iptables-config

IPTABLES_MODULES="ip_nat_ftp"

相关内容