被动模式下的FTP:EHOSTUNREACH - 无主机路由

时间:2015-06-23 11:02:34

标签: ftp filezilla proftpd

我有一台FTP服务器,运行了大约一个月没有任何问题。

今天,我无法使用filezilla连接到它,我收到此消息:

  

无法建立数据连接:EHOSTUNREACH - 无主机路由

我在Google / SO上搜索,发现它可能是TLS问题。 但是,我可以使用控制台连接到FTP服务器:

$ ftp
ftp> open mymachine.mycompany.com
Connected to mymachine.mycompany.com
220 Bienvenue sur le serveur FTP mymachine.mycompany.com.
Name (mymachine.mycompany.com:adenoyelle): mylogin
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxr-xr-x    2 502      502         20480 Jun 05 11:51 Ga
drwxr-xr-x    7 502      502          4096 Apr 21 15:41 Bu
drwxr-xr-x    7 502      502          4096 Jun 03 16:26 Zo
226 Directory send OK.
ftp> 

可能是什么原因?

编辑:我发现启用“活动”模式可以解决Filezilla中的问题,但我需要它在被动模式下工作

编辑:这是Filezilla方面的完整跟踪:

Status: Connecting to 10.196.***.***
Status: Connection established, waiting for welcome message...
Response:   220 Bienvenue sur le serveur FTP mymachine.mycompany.com.
Command:    USER mylogin
Response:   331 Please specify the password.
Command:    PASS ******
Response:   230 Login successful.
Command:    SYST
Response:   215 UNIX Type: L8
Command:    FEAT
Response:   211-Features:
Response:    EPRT
Response:    EPSV
Response:    MDTM
Response:    PASV
Response:    REST STREAM
Response:    SIZE
Response:    TVFS
Response:    UTF8
Response:   211 End
Command:    OPTS UTF8 ON
Response:   200 Always in UTF8 mode.
Status: Connected
Status: Retrieving directory listing...
Command:    PWD
Response:   257 "/home/mylogin"
Command:    TYPE I
Response:   200 Switching to Binary mode.
Command:    PASV
Response:   227 Entering Passive Mode (10,196,165,224,189,253).
Command:    LIST
Error:  The data connection could not be established: EHOSTUNREACH - No route to host

3 个答案:

答案 0 :(得分:4)

与PASV和PORT以及Filezilla和vsftpd存在同样的问题。 连接成功,因此它不会回退到Filezilla中的活动模式。

使用vsftpd,Filezilla和打开端口21 / TCP的默认配置,您需要切换到活动模式才能工作。

答案 1 :(得分:0)

这两者之间存在一个区别,在命令行上使用PORT而Filezilla使用PASV更改所使用连接的方向。 PORT表示您的计算机打开一个端口并等待来自服务器的连接。 PASV表示服务器打开一个端口并等待客户端连接。

服务器是否有可能阻止传入连接的防火墙,防火墙可能是愚蠢的,无法自动检测PASV结果并允许相应的端口。 也许它之前有用,因为服务器选择的端口在防火墙允许的范围内。

答案 2 :(得分:0)

我在 ubuntu 20 LTS 上遇到了同样的问题。问题与互联网服务提供商 (Airtel-wifi) 中的防火墙有关。当我通过 USB 网络共享连接到手机的互联网时,它运行良好。 尝试更改互联网连接,肯定会奏效。