问题
- linux 客户端登陆FTP成功后 出现ls卡死问题,但是windows使用FileZilla客户端正常。
- 代码如下
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (172,41,38,5,234,120).
^C
receive aborted
waiting for remote to finish abort
分析
- 从上述可以看出,输入ls命令之后,ftp进入被动模式,
然后后面一串数字(172,41,38,5,234,120),是ftp服务器返回的ip 与端口。 - 前四位表示ip,最后两位是端口,端口表示规则为234*256+120=60024,所以服务器返回的是172.41.38.5:60024。
明显是个内网IP,此时应该判断客户端能否访问到这个内网IP。上述例子是访问不到。
解决
- 修改 ftp服务器配置/etc/vsftpd/vsftpd.conf
listen=YES
listen_ipv6=NO
pasv_address=公网IP
- 重启生效
service vsftpd restart
参考链接 :
[记一次 ftp 可以正常登录,但是输入ls dir 命令卡死的问题
](https://blog.csdn.net/qq_3878...)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。