问题描述:java 实现的ftp客户端遇到ftp连接No route to host 的报错。
通过ping命令测试网络,可以访问。
通过yun install -y ftp安装客户端测试,也返回No route to host
关闭服务端防火墙测试可以访问。
该问题常用解决办法 参考:http://blog.csdn.net/u012906135/article/details/69944485
原因据说是因为iptable没有预设NAT处理的部分,
解决:
1、
在/etc/sysconfig/iptables-config 文件中
更改 IPTABLES_MODULES=”” 为 IPTABLES_MODULES=”ip_nat_ftp ip_conntrack_ftp”
重启 iptables 服务
2、
直接加载模块
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
通过上述设置,还没有管用。
其中在centos 7系统中使用 modprobe -l | grep ftp 命令不可以使用,改用lsmod|grep ftp
最终通过修修改防火墙规则搞定,添加如下两条规则:
-I INPUT -s 10.50.0.6 -p tcp -m tcp --dport 21 -j ACCEPT
-I INPUT -s 10.50.0.6 -p tcp -m tcp --dport 20 -j ACCEPT
在/etc/sysconfig/iptables文件中