-
-
记录:vsftpd在vmware中使用Nat防火墙下使用PASV模式的搭建 在服务器中安装了一个vmware虚拟机,然后搭建了一个Centos5.4的Linux系统。准备在上面配置一台ftp服务器,采用的是vsftpd。网络环境是这样的:服务器拥有一个固定IP,所以要连接到虚拟机下的Centos,采用的是nat方式。vsftpd采用被动模式(pasv),监听端口采用默认的21,数据通讯高端口使用9010 - 9015在linux的防火墙上开放了这些端口。命令如下: /sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPTT/sbin/iptables -I INPUT -p tcp --dport 9010 -j ACCEPT/sbin/iptables -I INPUT -p tcp --dport 9011 -j ACCEPT/sbin/iptables -I INPUT -p tcp --dport 9012 -j ACCEPT/sbin/iptables -I INPUT -p tcp --dport 9013 -j ACCEPT/sbin/iptables -I INPUT -p tcp --dport 9014 -j ACCEPT/sbin/iptables -I INPUT -p tcp --dport 9015 -j ACCEPT/etc/rc.d/init.d/iptables save/etc/init.d/iptables status 配置文件:/etc/vsftpd/vsftpd.conf相关pasv部分: pasv_enable=YESpasv_min_port=9010pasv_max_port=9015 然后在虚拟机上做了nat端口映射。 服务器 9021 -> 虚拟机 21服务器 9010 -> 虚拟机 9010服务器 9011 -> 虚拟机 9011服务器 9012 -> 虚拟机 9012服务器 9013 -> 虚拟机 9013服务器 9014 -> 虚拟机 9014服务器 9015 -> 虚拟机 9015 添加好ftp用户,过程略。 然后在服务器上用flashfxp登录虚拟机(使用内部IP,192.168.17.128)的vsftpd,没有问题,数据连接端口也在9010到9015之间。 然后在笔记本上面使用flashfxp连接vsftpd,IP填写服务器真实IP,端口填写nat映射成的9021,开始连接,能够登录进用户,但是列表的时候打开的数据端口,不是设定的9010 - 9015,而是随机的,比如10534什么的,导致无法列表和传输数据。 后来Google了一把,在/etc/vsftpd/vsftpd.conf配置文件中添加了2个参数 pasv_address=example.hostname.compasv_addr_resolve=YES 重启vsftpd,问题照旧。 后来把ftp的21端口也改掉,改成9011,数据端口改成9012 - 9015,ftp客户的端口改成9011,连接一切正常。 最后的配置如下: listen_port=9011pasv_enable=YESpasv_min_port=9012pasv_max_port=9015pasv_addr_resolve=YESpasv_address=example.hostname.com pasv_address 是真实的服务器地址,可以是域名。 猜测这中间出现的问题是在端口映射 服务器 9021 -> 虚拟机 21 之上。如果是 服务器 21 -> 虚拟机 21,有可能不会出现问题,但是21端口已经被服务器占用,没有测试。而9010到9015端口,都是用的直接映射,中间不存在端口转化,所以可以正常使用。
点这里复制本页地址发送给您QQ/MSN上的好友
- 300*300广告