linux下命令行连接FTP是遇到的错误(425 Failed to establish connection)

linux下命令行连接FTP是遇到的错误(425 Failed to establish connection)

首先FTP的运行模式有主动模式和被动模式两种

然后笔者在工作中搭建了ftp,但是没有开启他的被动模式。

然后server端的防火墙开放了21端口。

因此客户端能连上server,但是输入命令会提示。(首先要数据passive off命令关闭客户端以被动模式连接server端)

原因是ftp在主动模式下是通过21端口进行登陆的,但是后续是通过20端口与客户端进行数据交换。

因此笔者在这个基础上,在server开放了20端口。

但是问题依旧

接着笔者在客户端也把20和21端口都打开了

但是问题还是没有解决

 

这个时候无论是server端还是client端的20和21端口都是开放的。但是数据的传输都还是有阻碍。

查阅了很多网上的解决方案,都是说让FTP开发被动模式,然后防火墙开放对应的端口段。

但是老子就是要用主动模式。也不是说不能弄个被动模式,但是那样子解决问题就好像是在逃避问题一样!

 

然后笔者想起防火墙中除了根据端口开发流量,还可以根据服务开放流量。

因此在server端的防火墙中开放ftp服务

firewall-cmd --add-service=ftp --permanent

firewall-cmd --reload

结果还是不行

于是我又在客户端的防火墙中开放ftp服务

终于可以了!!!

 

因此,可能是需要客户端和服务器同时在防火墙中开放ftp服务。那么才能在命令行下进行数据传输吧(windows的cmd下面和一些FTP客户端选择主动模式连接,皆不会出现上述情况!),也不知道为什么是在linux的命令行下才会这样。

 

本文原创!

转载请注明出处!

posted @ 2019-01-14 18:18  喜欢it的小聪聪  阅读(18411)  评论(3编辑  收藏  举报