关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

ftp常见报错之Use PORT or PASV first解决思路和方法

发布时间:2021-01-17 10:36:55

先介绍一下基础环境:ftp服务部署在公网环境,而客户端在内网电脑,需求是用内网电脑去下载ftp上的文件,在下载过程中提示了425 Use PORT or PASV first报错,下面介绍下解决的思路和方法。

 


思路

先到CMD或者linux终端用命令行模式ftp命令测试一下,如果能登录,不能使用ls或者dir命令。说明你的客户端环境无法使用PORT模式,而CMD里的ftp客户端默认支持PORT模式。主要问题在端口被防火墙控住。

PASV


1、调整模式为PASV

在ftp下使用命令:

--修改为被动模式连接
quote PASV

一般DOS命令行下都是默认以PORT主动模式连接。即,端口21监听,处理控制信息,再以端口20连接客户端进行数据传送。而经常通过外网的NAT的,基本端口20的数据连接都会被禁止掉。所以,如果想对外网开放ftp,最好使用PASV模式。

 

PASV被动模式是指,以端口21监听,有连接请求时,随机开放一个比较大的端口号来处理数据传输。


2、修改配置

vsftp中,通过编辑 /etc/vsftp.conf 实现启用PASV连接。

sudo vi /etc/vsftp.conf
在配置文件中添加下面语句:
pasv_enable=YES
pasv_min_port=6000
pasv_max_port=7000

也即,启动PASV连接模式,开放6000-7000端口号作为数据传送端口。此外,如果是对外网开放,必须在路由器的转发规则中,开放21端口。

为了保险,可以将6000-7000端口也写入到iptables中白名单中。这样设定后,一般就可以搞定了。

如果还不行,可以通过一下思路:

  • 1、防火墙(本机、客户机)
  • 2、FTP目录的权限
  • 3、客户机是否是IPv6网络
  • 4、客户机的网关限制了外网ftp



/template/Home/Zkeys2/PC/Static