西风古道

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
vsftpd.conf配置文件:

anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES chroot_local_user=YES chroot_list_enable=NO listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES pasv_min_port=30000 pasv_max_port=30999 pasv_address=xxx.xxx.xxx.xxx #如果不是云主机此处可省略,如果是云主机则需要写入云主机外部ip
#关闭selinux
#setenforce 0

#开通端口21,30000:30999
#iptables -I INPUT -p tcp --dport 21 -j ACCEPT
#iptables -I INPUT -p tcp --dport 30000:30999 -j ACCEPT

#创建用户,没有ssh登陆权限
#useradd -s /sbin/nologin ftpuser
#passwd ftpuser

 

vsftpd默认使用pasv模式,该模式在三次握手中默认使用的是本机IP而非云主机外网IP,如果配置文件中未设置pasv_address值,则会在三次握手中使用内网IP,造成客户端与服务器不能同步。

下图是未设置pasv_address的抓包,回复中使用了内网地址172.17.93.127,如果客户端使用这个IP同步则肯定连不上。

下图是设置了pasv_address=59.110.157.75的抓包,Response中则使用云主机外网IP地址

 

posted on 2017-10-26 20:13  西风古道  阅读(268)  评论(0编辑  收藏  举报