安装vsftpd,
设定vsftp认证系统用户,并允许他们上传文件,编辑 /etc/vsftpd.conf:
local_enable=YES write_enable=YES
重启vsftp
sudo service vsftpd restart
Virtualbox的网络设置选NAT。
想通过ftp客户端(FileZilla),选择被动模式,最大连接数4
>> 访问测试一下,弹出错误说获取目录列表失败。
百度+Google, 说是vsftpd.conf里少如下内容:
pasv_enable=YES pasv_min_port=4242 pasv_max_port=4245 port_enable=YES pasv_address=127.0.0.1 pasv_addr_resolve=YES
需要设置linux防火墙(未必是必须的,未细究):
iptables -I INPUT -p tcp --destination-port 4242:4245 -j ACCEPT
另外,设置虚拟机的端口映射,主机
主机 4242-4245 映射 客户机 4242-4245
>> 再测试,ftp客户端顺利连上ftp服务器了。
注意:
- 网上另有一说-- Virtualbox的网络设置不选NAT而选Host-Only可直接访问,不必有上述麻烦的设置 -- 经测试,这种办法也是可行的,但个人喜欢用NAT网络多一点。
- 网上还有一说 -- vsftpd.conf里设置pasv_enable=no, ftp客户端选用主动连接 -- 经测试,行不通。