Linux Vsftpd 连接超时解决方法(被动模式)

Linux Vsftpd 连接超时解决方法(被动模式)


使用 FileZilla FTP Client 连接 Vsftpd FTP,在没有配置传输模式(主动模式、被动模式)时,出现了以下提示信息。我们可以手工设置传输模式为“主动模式”来解决这一问题。但由于客户端防火墙等原因,这种解决方法将不会始终有效。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
状态: 正在连接  192.168 . 182.128 : 21 ...
状态: 连接建立,等待欢迎消息...
响应:  220  (vsFTPd  2.0 . 5 )
命令: USER bugxm_general
响应:  331  Please specify the password.
命令: PASS ******
响应:  230  Login successful.
命令: OPTS UTF8 ON
响应:  200  Always  in  UTF8 mode.
状态: 已连接
状态: 读取目录列表...
命令: PWD
响应:  257  "/"
命令: TYPE I
响应:  200  Switching to Binary mode.
命令: PASV
响应:  227  Entering Passive Mode ( 192 , 168 , 182 , 128 , 172 , 85 )
命令: LIST
错误: 连接超时
错误: 读取目录列表失败

解决方法

在服务端配置被动模式就可以从根源上解决这问题。

1、编辑 Vsftpd  配置文件

1
vi /etc/vsftpd/vsftpd.conf

2、在最下面添加以下信息

1
2
3
pasv_enable=YES         #开启被动模式
pasv_min_port= 4000       #随机最小端口
pasv_max_port= 5000       #随机最大端口

3、加载内核 ip_conntrack_ftp 和 ip_nat_ftp(终端执行)

1
2
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp

4、配置 iptables 开放 4000 到 5000 端口

1
vi /etc/sysconfig/iptables  在*filter下加入下
1
2
-A OUTPUT -p tcp --sport  4000 : 5000  -j ACCEPT
-A INPUT -p tcp --dport  4000 : 5000  -j ACCEPT

5、加载 iptables 配置

1
iptables-restore < /etc/sysconfig/iptables

6、重启 Vsftpd

1
service vsftpd restart

测试连接

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
状态: 正在连接  192.168 . 182.128 : 21 ...
状态: 连接建立,等待欢迎消息...
响应:  220  (vsFTPd  2.0 . 5 )
命令: USER bugxm_general
响应:  331  Please specify the password.
命令: PASS ******
响应:  230  Login successful.
命令: OPTS UTF8 ON
响应:  200  Always  in  UTF8 mode.
状态: 已连接
状态: 读取目录列表...
命令: PWD
响应:  257  "/"
命令: TYPE I
响应:  200  Switching to Binary mode.
命令: PASV
响应:  227  Entering Passive Mode ( 192 , 168 , 182 , 128 , 15 , 224 )
命令: LIST
响应:  150  Here comes the directory listing.
响应:  226  Directory send OK.
状态: 列出目录成功
  • 0
    点赞
  • 1
    评论
  • 6
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
20.1 ftp服务 ftp采用客户/服务器工作模式,这里采用的是vsftpd ftp服务器软件。ftp工作方式分为两种,一种port主动模式,一种pasv被动模式,是服务主动与被动进行连接。一般ftp服务器都为被动模式 。 20.1.1 vsftp概述 rpm -qc vsftpd /etc/logrotate.d/vsftpd.log /etc/pam.d/vsftpd /*vsftp的安全验证文件*/ /etc/vsftpd/ftpusers /*其中的用户不能登陆ftp*/ /etc/vsftpd/user_list /*其中的用户不能登陆ftp同上一样*/ /etc/vsftpd/vsftpd.conf /*ftp主配置文件*/ /etc/vsftpd/vsftpd_conf_migrate.sh vsftp的主目录的位置在/var/ftp下,并且是系统默认,不能更改。vsftp在通过rpm包安装好后,打开其服务并设为自动运行后,ftp就可以 提供服务了。 20.1.2 vsftp安装与启动 如果没有安装的话,通过以下方式进行安装。 rpm -ivh vsftpd-2.0.4-1.2.i386.rpm warning: vsftpd-2.0.4-1.2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2 Preparing... ########################################### [100%] 1:vsftpd ########################################### [100%] vsftpd服务采用是独立启动方式来启动的。 chkconfig --level 345 vsftpd on设为开机自启动 service vsftpd start 启动ftp服务。 20.2 vsftp访问配置 20.2.1 vsftp匿名用户 匿名用户:ftp 与anonymous其主目录为/var/ftp 普通用户:用户名为登录用户名,主目录为/home/用户名 20.2.2 vsftp默认配置文件 去掉#后配置选项如下: vi vsftpd.conf anonymous_enable=YES /*匿名用户启用*/ local_enable=YES /*本地用户可登陆*/ write_enable=YES /*是否允许写*/ local_umask=022 /*锁定创建文件权限*/ #anon_upload_enable=YES /*是否允许匿名用户上传*/ #anon_mkdir_write_enable=YES /*是否允许匿名用户创建目录*/ dirmessage_enable=YES /*允许显示目录信息*/ xferlog_enable=YES /*启用记录上传与下载日志*/ connect_from_port_20=YES /*开启20端口*/ #chown_uploads=YES #chown_username=whoever #xferlog_file=/var/log/vsftpd.log /*上传与下载日志文件*/ xferlog_std_format=YES /*使用标准日志格式*/ #idle_session_timeout=600 /*会话空闲时间*/ #data_connection_timeout=120 /*连接超时时间*/ #nopriv_user=ftpsecure #async_abor_enable=YES #ascii_upload_enable=YES /*是否使用ascii格式上传*/ #ascii_download_enable=YES /*是否使用ascii格式下载*/ #ftpd_banner=Welcome to blah FTP service. /*服务器banner*/ #deny_email_enable=YES /*启用电子邮件阻止*/ #banned_email_file=/etc/vsftpd/banned_emails /* 阻止的邮件地址文件*/ #chroot_list_enable=YES /*是否允许用户改变主目录*/ #chroot_list_file=/etc/vsftpd/chroot_list /*允许改变主目录的用户*/ #ls_recurse_enable=YES /*是否允许用户ls -R循环显示每一个目录*/ pam_service_name=vsftpd /*验证服务名*/ userlist_ena
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页

打赏

Gover丶

你的点滴的支持是我最大的动力!

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者