免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 10247 | 回复: 9
打印 上一主题 下一主题

[FTP] 用VSFTP架设FTP服务器后,客户端还是连接不上呀。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-11 13:07 |只看该作者 |倒序浏览
问题如下:
      我用的是Centos5.3,自带的vsftp软件架设的FTP服务器,照着网上的很多教程设置了以后,检查
chkconfig --list vsftpd
vsftpd          0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭

说明vsftp服务已经启动,可是按照网上的一篇文章用pgrep vsftpd查看后,显示:
7470

而按照http://www.linuxsir.org/main/?q=node/152#7 这个网页上面的说法,要显示成4248才表示成功,也不知道是怎么回事,

用客户端cuteffp连接时显示:
STATUS:>          [09.4.11 13:00:22] Getting listing ""...
STATUS:>          [09.4.11 13:00:22] Connecting to FTP server... 61.234.97.2:21 (ip = 61.234.97.2)...
STATUS:>          [09.4.11 13:00:22] Socket connected. Waiting for welcome message...
ERROR:>           [09.4.11 13:00:23] Can't read from control socket. Socket error = #10054.

然后,又怀疑是防火墙的缘故,用service iptables stop,将防火墙给关了,但是运行cutftp时,还是显示上面的错误,也看了许多文章,还是搞不掂,linux真的不一般人能学的。

论坛徽章:
0
2 [报告]
发表于 2009-04-11 13:27 |只看该作者
后来又重新测试了一下,在本机上用ftp 192.168.0.3 这样是可以上去的,但用客户端cuteFTP就登录不上去了。

论坛徽章:
0
3 [报告]
发表于 2009-04-11 14:35 |只看该作者
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES

把配置文件的三句的注释去掉,重启服务,重新登陆。
贴出log: tail -f =/var/log/vsftpd.log

论坛徽章:
0
4 [报告]
发表于 2009-04-11 14:38 |只看该作者
vsftp架设好之后~用ftp命令能登陆上去~但是无法删除文件~客户端就可以~~为什么呢?

论坛徽章:
0
5 [报告]
发表于 2009-04-11 14:52 |只看该作者
原帖由 linuxsoso 于 2009-4-11 14:38 发表
vsftp架设好之后~用ftp命令能登陆上去~但是无法删除文件~客户端就可以~~为什么呢?


在命令行执行删除操作,有什么提示?在日志又有什么反映?

论坛徽章:
0
6 [报告]
发表于 2009-04-11 15:03 |只看该作者
remove directory operation failed~~~
xferlog没什么反映。。

论坛徽章:
0
7 [报告]
发表于 2009-04-11 15:48 |只看该作者
原帖由 linuxsoso 于 2009-4-11 15:03 发表
remove directory operation failed~~~
xferlog没什么反映。。



您是怎么删除的?


我在我这里用delete **** 是可以删除的。

我的vsftpd.conf 如下:

  1. # Example config file /etc/vsftpd/vsftpd.conf
  2. #
  3. # The default compiled in settings are fairly paranoid. This sample file
  4. # loosens things up a bit, to make the ftp daemon more usable.
  5. # Please see vsftpd.conf.5 for all compiled in defaults.
  6. #
  7. # READ THIS: This example file is NOT an exhaustive list of vsftpd options.
  8. # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
  9. # capabilities.
  10. #
  11. # Allow anonymous FTP? (Beware - allowed by default if you comment this out).
  12. anonymous_enable=YES
  13. #
  14. # Uncomment this to allow local users to log in.
  15. local_enable=YES
  16. #
  17. # Uncomment this to enable any form of FTP write command.
  18. write_enable=YES
  19. #
  20. # Default umask for local users is 077. You may wish to change this to 022,
  21. # if your users expect that (022 is used by most other ftpd's)
  22. local_umask=022
  23. #
  24. # Uncomment this to allow the anonymous FTP user to upload files. This only
  25. # has an effect if the above global write enable is activated. Also, you will
  26. # obviously need to create a directory writable by the FTP user.
  27. #anon_upload_enable=YES
  28. #
  29. # Uncomment this if you want the anonymous FTP user to be able to create
  30. # new directories.
  31. #anon_mkdir_write_enable=YES
  32. #
  33. # Activate directory messages - messages given to remote users when they
  34. # go into a certain directory.
  35. dirmessage_enable=YES
  36. #
  37. # Activate logging of uploads/downloads.
  38. xferlog_enable=YES
  39. #
  40. # Make sure PORT transfer connections originate from port 20 (ftp-data).
  41. connect_from_port_20=YES
  42. #
  43. # If you want, you can arrange for uploaded anonymous files to be owned by
  44. # a different user. Note! Using "root" for uploaded files is not
  45. # recommended!
  46. #chown_uploads=YES
  47. #chown_username=whoever
  48. #
  49. # You may override where the log file goes if you like. The default is shown
  50. # below.
  51. xferlog_file=/var/log/vsftpd.log
  52. #
  53. # If you want, you can have your log file in standard ftpd xferlog format
  54. xferlog_std_format=YES
  55. #
  56. # You may change the default value for timing out an idle session.
  57. #idle_session_timeout=600
  58. #
  59. # You may change the default value for timing out a data connection.
  60. #data_connection_timeout=120
  61. #
  62. # It is recommended that you define on your system a unique user which the
  63. # ftp server can use as a totally isolated and unprivileged user.
  64. #nopriv_user=ftpsecure
  65. #
  66. # Enable this and the server will recognise asynchronous ABOR requests. Not
  67. # recommended for security (the code is non-trivial). Not enabling it,
  68. # however, may confuse older FTP clients.
  69. #async_abor_enable=YES
  70. #
  71. # By default the server will pretend to allow ASCII mode but in fact ignore
  72. # the request. Turn on the below options to have the server actually do ASCII
  73. # mangling on files when in ASCII mode.
  74. # Beware that on some FTP servers, ASCII support allows a denial of service
  75. # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd
  76. # predicted this attack and has always been safe, reporting the size of the
  77. # raw file.
  78. # ASCII mangling is a horrible feature of the protocol.
  79. #ascii_upload_enable=YES
  80. #ascii_download_enable=YES
  81. #
  82. # You may fully customise the login banner string:
  83. #ftpd_banner=Welcome to blah FTP service.
  84. #
  85. # You may specify a file of disallowed anonymous e-mail addresses. Apparently
  86. # useful for combatting certain DoS attacks.
  87. #deny_email_enable=YES
  88. # (default follows)
  89. #banned_email_file=/etc/vsftpd/banned_emails
  90. #
  91. # You may specify an explicit list of local users to chroot() to their home
  92. # directory. If chroot_local_user is YES, then this list becomes a list of
  93. # users to NOT chroot().
  94. #chroot_list_enable=YES
  95. # (default follows)
  96. #chroot_list_file=/etc/vsftpd/chroot_list
  97. #
  98. # You may activate the "-R" option to the builtin ls. This is disabled by
  99. # default to avoid remote users being able to cause excessive I/O on large
  100. # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
  101. # the presence of the "-R" option, so there is a strong case for enabling it.
  102. #ls_recurse_enable=YES
  103. #
  104. # When "listen" directive is enabled, vsftpd runs in standalone mode and
  105. # listens on IPv4 sockets. This directive cannot be used in conjunction
  106. # with the listen_ipv6 directive.
  107. listen=YES
  108. #listen_port=1212
  109. #
  110. # This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6
  111. # sockets, you must run two copies of vsftpd whith two configuration files.
  112. # Make sure, that one of the listen options is commented !!
  113. #listen_ipv6=YES

  114. chroot_local_user=YES
  115. pam_service_name=vsftpd
  116. userlist_enable=YES
  117. tcp_wrappers=YES
复制代码

论坛徽章:
0
8 [报告]
发表于 2009-04-11 16:44 |只看该作者
我发现有可能是路邮器的地址映射的问题:
因为查看cuteftp的连接信息,其中进行到这里的时候就报错了:
COMMAND:>        [09.4.11 16:41:08] LIST
STATUS:>          [09.4.11 16:41:08] Connecting FTP data socket... 61.234.97.4:35642...

在路邮器上,我只映射了20-21端口到服务器上去,其他端口没有映射,但这句“61.234.97.4:35642” 后面表明data socket是用了35642端口,这个端口我也没有做映射,应该是不通的,
又进一步发现,这个端口是经常变的,
每次连接的时候都不同,这该怎么办。

论坛徽章:
0
9 [报告]
发表于 2009-04-11 17:22 |只看该作者
我日他妈!!!!!

经过网上查资料及看cuteftp提示,终于搞掂,内网能连接,外网不行,初步断定是路邮器的端口映射的问题,然后就是pasv模式与port模式的问题,多方测试,需要设置如下:

在/etc/vsftpd/vsftpd.conf配置文件里,保证有以下几项:
pasv_enable=YES                 //这个就是开启pasv模式,好象cuteftp怎是优先用此模式连接;
pasv_min_port=65500         //这个端口是动态分配的,每次用cuteftp连接时,都会不同,所以要指定最小端口号与最大端口号;
pasv_max_port=65535

然后就是在路邮器中进行设置:将外网65500 ~ 85535这个段的端口全部映射到内网某台计算机的65500 ~ 85535端口号上;

重启路邮器;
重启vsftp服务器,OK,搞掂!

Linux真他妈难呀,不过,经过这一番努力,好象知道了一些原理

论坛徽章:
0
10 [报告]
发表于 2009-04-11 18:23 |只看该作者

回复 #9 零度出土 的帖子

ls 的探索精神真可贵


或者您用主动模式,就不用开那么映射那么多端口啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP