vsftp:425 failed to establish connection解决办法

使用NAT(其他电脑无法访问自己的虚拟机)连接虚拟机无这种问题,而是用桥接(局域网其他电脑可以访问自己的虚拟机)则会出现这个问题。

现在来看看这个问题:

先到CMD或者linux终端用命令行模式ftp命令测试一下,

如果能登录,不能使用ls或者dir命令。那就说明,主要问题在端口被防火墙控住。

提示语句:
200 PORT command successful. Consider using PASV.
425 Failed to establish connection.

这时候,可以在ftp下使用命令:quote PASV
试试用以被动模式连接。
一般DOS命令行下都是默认以PORT主动模式连接。
即:端口21监听,处理控制信息,再以端口20连接客户端进行数据传送。而经常的通过外网的NAT的,基本端口20的数据连接都会被禁止掉。

所以如果想对外网开放ftp,最好使用PASV模式。PASV被动模式:以端口21监听,有连接请求时,随机开放一个比较大的端口号来处理数据传输。

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中白名单中。
命令:
sudo iptables -A INPUT -p tcp --dport 6000:7000 -j ACCEPT
在ubuntu中一般可以不用,因为ubuntu虽然有iptables,但默认是没有规则的,
不会设置端口限制,但其他版本就最好加上哈。此外,如果带有selinux的,最好也关闭。

ubuntu是默认没安装selinux。
像redhat、centOS之类的,
修改/etc/selinux/config文件中的SELINUX="" 为disabled ,然后重启。 这样设定后,一般就可以搞定了。
如果还不行,可以通过一下思路:
1、防火墙(本机、客户机)
2、FTP目录的权限
3、客户机是否是IPv6网络
4、客户机的网关限制了外网ftp

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值