我只是在一个CentOS 5.3盒子上做了一个基本的yum install vsftpd ,我可以从盒子本身的shell上FTP到机器IP地址,但是不能从同一个局域网上的任何其他机器上FTP。
$ ftp 1.2.3.4 ftp: connect: Connection refused
疑难解答步骤已经尝试
….而重写这个问题,我重新启动了vsftpd守护进程,并开始按预期工作。
好吧,我的testing服务的一般debugging指南是这样的:
0)testing时坚持使用IP,以消除DNS问题
1)在本地testing
你能连接到FTP服务器从它运行的机器?
2)在同一networking上远程testing
你可以从该子网上的另一台机器连接吗?
3)来自不受信任的来源的testing
你能跨越防火墙边界去那里吗?
听起来你已经完成了第一个,并在第二个失败。 如果您可以通过远程方式远程login到服务器的端口21并接收FTP标题,则FTP服务器正在工作。
如果可以请更新您的问题以显示您的问题排查步骤,以便我们可以更准确地确定问题所在。
如果您可以连接到本地主机,但不能从同一台机器上“host.example.com”,那么它会build议服务器只监听127.0.0.1,而不是所有的接口。 你可以通过运行来检查:
# netstat -lep --tcp | grep vsftp
如果它说“localhost:ftp”,那么它只在本地主机上进行监听。 寻找一个类似“Listen”的configuration选项,或者讨论绑定到地址或接口。 如果它说“*:ftp”,那么它正在监听所有接口,而其他的东西是错误的。 可能是防火墙或networkingconfiguration问题。
用任何现代的基于redhat的发行版检查selinux。 即可以看到是否打开(执行)。 如果是setenforce 0将其closures,看看是否有所作为。 setenforce 1将其重新打开。
如果是selinux,那么你可能需要设置布尔值。
尝试类似:getsebools -a | grep -i ftp查看ftp相关的布尔值的状态。 设置它们使用setsebools。
你是否使用iptables基于主机的防火墙 – 如果是的话是适当的iptables模块启用我不记得它是什么,但它可以在一个名为/ etc / sysconfig / iptables-config的文件启用。
它的东西像conntrack_ftp。
感谢各种build议。 虽然我不确定实际发生了什么,但重启守护进程似乎可以解决问题。