Linux FTP命令行被动模式连接PureFtpd超时

问题



最近在服务器安装了pureftpd提供给公司同事上传文件用。在交付前使用FileZilla测试没有问题,但是同事反映在Linux下ftp不能使用。
自己在Linux下测试了一下,一直卡在Entering Passive Mode,最后超时。

原因



而在windows下使用FileZilla测试并没有问题。仔细看了下FileZilla的日志,发现有一行

想到pureftpd用的是云主机,而云主机的网卡只绑定有内网IP,外网IP应该是绑定在路由了。猜测ftp客户端使用被动模式连接pureftpd的时候,pureftpd返回了一个内网IP。
通过wireshark抓包发现:

可以知道服务器的确返回了一个内网地址。

方法



那能不能强制pureftpd返回外网IP呢。通过查看pureftpd文档,发现在pureftpd.conf加入:

ForcePassiveIP 1.1.1.1

1.1.1.1为pureftpd外网ip。重启之后问题解决。

标签:Linux 发布于:2019-11-21 22:19:04