ftp: connect: No route to host

Linux使用vsftpd启动ftp服务,内网其他机器通过xshell连接目标机器的vsftpd服务,命令:ftp 192.168.1.222

提示:ftp: connect: No route to host

由于已经修改了vsftpd端口为14333,将14333加入防火墙白名单仍然无效,getenforce得到的结果是SELinux状态是disabled的,说明无法设置为Passive模式,需要修改/etc/selinux/config中的SELINUX配置:

ftp: connect: No route to host_第1张图片

然后需要重启系统才能生效。。。

重启完成后,通过setenforce 0命令启动Passive模式。然后尝试连接仍然不行,尝试将防火墙关闭service iptables stop,连接成功。说明是防火墙的问题,vim /etc/sysconfig/iptables-config

ftp: connect: No route to host_第2张图片

将IPTABLES_MODULES="ip_nat_ftp ip_conntrack_ftp"

或者直接加载模块:

modprobe ip_nat_ftp
modprobe ip_conntrack_ftp

然后重启防火墙尝试连接,仍然不行。。。

实在没有办法,最后将同一局域网内的地址段都加白名单:

然后重启防火墙连接ftp:open 192.168.1.222 14333,输入用户名密码,尝试dir可以看到该用户下的目录。。

实践了一下,还有一种可能是vsftpd.conf配置了Passive模式的最大端口和最小端口范围,这个范围也需要加入防火墙白名单:

重启防火墙之后,使用java代码上传文件成功。

你可能感兴趣的:(Linux)