vsftpd 登入报错:425 Security: Bad IP connecting. 解决办法
问题描述
部署完vsftpd后使用虚拟用户登入成功后查看目录提示425 Security: Bad IP connecting.
,报错内容如下:
[root@host-172-17-2-118 ~]# ftp 172.17.2.118 Connected to 172.17.2.118 (172.17.2.118). 220 (vsFTPd 3.0.2) Name (172.17.2.118:root): admin 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> dir 227 Entering Passive Mode (192,168,1,22,39,115). 425 Security: Bad IP connecting.
排查思路
既然能登入ftp,说明网络连接和用户应该没有问题
- 查看vsftpd.conf 配置中的目录是否存在,用户属主是否正确。
- 使用
ftp 127.0.0.1
登入尝试是否能获取目录信息。
定位问题
尝试使用ftp 127.0.0.1
登入ftp后使用dir发现是能获取到目录和文件信息的,所以判断还是网络层面出了问题,检查端口和防火墙后发现问题原因可能没那么简单;通过查询各类资料,在一篇阿里云的文章中找到了答案:https://developer.aliyun.com/article/601945 。
大概的意思是因为我们的服务器是运行在OpenStack上,访问服务器的IP都经过了NAT(类似于阿里云的专有网络),在被动模式下客户端获取到的是实例的私网IP,导致无法进行通信(具体原因可查看上述文章)。
解决步骤
编辑vsftpd.conf关闭IPv6,并指定服务器外网访问地址(我这里是OpenStack,所以指定实例的弹性IP)
listen=YES listen_ipv6=NO pasv_address=172.17.2.118
- 其中
pasv_address
需要指定弹性公网IP。
验证
[root@host-172-17-2-118 vsftpd]# ftp 172.17.2.118 Connected to 172.17.2.118 (172.17.2.118). 220 (vsFTPd 3.0.2) Name (172.17.2.118:root): admin 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> dir 227 Entering Passive Mode (172,17,2,118,39,98). 150 Here comes the directory listing. drwxrwxrwx 2 1004 0 8192 Apr 02 2021 089 226 Directory send OK.
分类:
Linux
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix