从主机的ftp进入guest机器(vagrant)运行vsftpd

我正在使用centos 7运行一个无用的访客机器。在centos 7 guest上运行vsftpd。 我似乎无法获得正确的数据连接。 我可以成功login,但每当我尝试执行任何数据命令(ls,put等等)时,我都会连接超时; 这让我觉得我没有正确设置端口转发,或者我没有正确的绑定地址。

这是我的stream浪文件:

#-*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |config| config.vm.box = "centos/7" config.vm.network :forwarded_port, host: 4567, guest: 21 config.vm.network :forwarded_port, host: 12000, guest: 12000 config.vm.network :forwarded_port, host: 12001, guest: 12001 config.vm.network :forwarded_port, host: 12002, guest: 12002 config.vm.network :forwarded_port, host: 12003, guest: 12003 config.vm.network :forwarded_port, host: 12004, guest: 12004 config.vm.network :forwarded_port, host: 12005, guest: 12005 config.vm.network :forwarded_port, host: 12006, guest: 12006 config.vm.network :forwarded_port, host: 12007, guest: 12007 config.vm.network :forwarded_port, host: 12008, guest: 12008 config.vm.network :forwarded_port, host: 12009, guest: 12009 config.vm.network :forwarded_port, host: 12010, guest: 12010 end 

显然,我转发12000-12010是我的数据端口。 我在一个简单的configuration中运行vsftpd,这里是我的vsftpd.conf文件:

 anonymous_enable=YES local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=NO xferlog_std_format=YES listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES pasv_enable=YES pasv_min_port=12000 pasv_max_port=12010 pasv_address=127.0.0.1 

我没有在客户机或主机上运行防火墙。 当我build立一个FTP会话,这里是我得到的输出:

 ftp -p localhost 4567 ftp: connect to address ::1: Connection refused ftp: Trying 127.0.0.1 ... Connected to localhost.localdomain. 220 (vsFTPd 3.0.2) Name (localhost:mcarlise): testacct 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 (127,0,0,1,46,232). 425 Failed to establish connection. 

如果我从vsftpd中删除'pasv_address = 127.0.0.1'configuration,我会得到连接超时:

 ftp> ls 227 Entering Passive Mode (10,0,2,15,46,228). ftp: connect: Connection timed out