3

我有一个 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
4

3 回答 3

4

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

在 vsftpd、Filezilla 和开放端口 21/TCP 上使用默认配置,您需要切换到 Active 模式才能工作。

于 2015-12-07T09:51:10.443 回答
1

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

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

于 2015-06-23T11:25:24.887 回答
0

我在 ubuntu 20 LTS 上遇到了同样的问题。问题与互联网服务提供(Airtel-wifi)中的防火墙有关。当我通过 USB Tethering 连接到手机的互联网时,它工作正常。尝试更改互联网连接,肯定会工作。

于 2021-05-06T13:33:08.290 回答