You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ProFTPd跨主机数据传输失败排查求助:连接登录正常但数据操作报"Unable to build data connection: No route to host"

ProFTPd跨主机数据传输失败排查求助:连接登录正常但数据操作报"Unable to build data connection: No route to host"

我现在在Debian 11.8主机上搭建了ProFTPd FTP服务器,本地(同一主机用客户端连接)测试完全正常,说明基础配置没问题。但从另一台同网段的Debian 11.8主机连接时,能成功建立连接并登录,但所有涉及数据传输的操作(比如put、get、ls)全部失败,报错提示"Unable to build data connection: No route to host"。

两台主机都是内网同网段,不存在公网访问的场景,而且我能在两台主机之间互相SSH,所以基础网络连通性应该是正常的。


已尝试的排查/修复手段(均无效)

  • 切换为被动模式,无任何改善
  • 修改内核参数net.ipv4.tcp_tw_reuse为0
  • 加载内核模块ip_nat_ftp或nf_nat_ftp
  • 在ProFTPd配置文件中添加PassivePorts 49152 49162指定固定被动端口范围,并在两台主机的防火墙上开放了该范围
  • 在客户端firewalld中白名单了服务器的IP地址

后续排查的关键发现

我把两台主机的防火墙都停掉后,FTP的主动、被动模式都能正常工作;只开启服务器的防火墙也不影响使用,看来问题出在客户端防火墙阻止了服务器的回连请求。

但即使我在客户端防火墙上开放了ProFTPd指定的被动端口范围,用nmap从服务器扫描客户端时显示这些端口处于"closed"状态,数据传输还是失败。


最终解决情况

现在FTP传输已经正常了,可能是之前被动模式的配置没设置到位,同时我也修复了ProFTPd包的配置问题。

目前的有效配置组合是:ProFTPd指定固定被动端口范围,客户端防火墙同时开放该端口范围+白名单服务器IP。虽然理论上可能不需要同时配置这两项,但现在能正常工作就暂时不调整了。

有没有人能帮我复盘下,之前客户端防火墙的问题到底出在哪?或者有没有更规范的排查思路?

感谢!


备注:内容来源于stack exchange,提问作者Bob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 06:25:31