服务器发回了不可路由的地址,使用服务器地址代替

Linux宝塔面板在阿里云部署网站,在设置FTP后(宝塔上自带Pure-Ftpd 1.0.47),使用FileZilla链接的时候总是提示“服务器发回了不可路由的地址,使用服务器地址代替”,或者“读取目录列表失败”,好好的FTP搭建成功,怎么就莫名其妙的出现这样的问题呢?很是郁闷了;最终FTP无法正常使用!

网上查找该问题解决办法,最多的解决方案是修改Filezilla客户端的传输方式,也就是把“使用服务器的外部ip地址来代替”改为“回到主动模式”,这个答案并没有说错,但实在过于片面,所以绝大部分朋友最终还是未能解决问题!我的问题一样在这里未能得到解决,所以网上说的这个方法应该不是我所需求的,故而将所有设置还原最初。开始找其它原因:

后来总结了下导致登陆FTP报错的原因主要有两个,按顺序依次开始分析。

服务器发回了不可路由的地址,使用服务器地址代替

使用的阿里云服务器,现在的云服务器都有进出网规则,了解到Pure-Ftpd配置文件中未指定强制被动通信的外网IP地址,故而需要配置服务器IP地址,进入宝塔面板,依次点击软件管理->pure-ftpd 1.0.47-配置修改,搜索“ForcePassiveIP”,定位到下图位置:

服务器发回了不可路由的地址,使用服务器地址代替

去掉ForcePassiveIP前面的注释符号,并把后面的IP地址修改为服务器的外网IP地址,保存配置后重载配置或者重启服务生效,解决报错:服务器发回了不可路由的地址,使用服务器地址代替。

然后将Pure-Ftpd配置文件使用的被动端口范围39000-4000配置进安全组,进行放行处理,这样问题得到解决!

其主要问题就在于安全组设置上面,宝塔面板使用着还是不错,只是有些设置可能需要更加完善,另外对于一些常见问题,官方可以将其直接内置到面板中,这样设置、查看问题就更加方便了

参与评论