这个错误是因为是主动模式的,应该改为被动模式

以下是操作过程:

iptables中加

-A INPUT -p tcp -m state --state NEW -m tcp --dport 10221:10231 -j ACCEPT

重启iptables

#/etc/init.d/iptables restart

vsftpd.conf中

最后加上

pasv_enable=YES
pasv_min_port=10221 #随机最小端口,原来是4000
pasv_max_port=10231 #随机最大端口,原来是5000.
#anon_other_write_enable=YES
#port_promiscuous=YES
pasv_promiscuous=YES #这个如果不打开, 在连接时可能会出现bad ip ....可能是网络不稳定..也或者是ip在传输时有改变.....

重启 vsftpd

#service vsftpd restart

记得如果ftp是在虚拟机上面架设的,则一定要在代理服务器的防火墙上面/物理主机上面添加监听端口

netsh interface portproxy add v4tov4 listenport=10221 listenaddress=物理主机ip connectaddress=内网虚拟机ip connectport=10221
netsh interface portproxy add v4tov4 listenport=10222 listenaddress=物理主机ip connectaddress=内网虚拟机ip connectport=10222
netsh interface portproxy add v4tov4 listenport=10223 listenaddress=物理主机ip connectaddress=内网虚拟机ip connectport=10223
netsh interface portproxy add v4tov4 listenport=10224 listenaddress=物理主机ip connectaddress=内网虚拟机ip connectport=10224
netsh interface portproxy add v4tov4 listenport=10225 listenaddress=物理主机ip connectaddress=内网虚拟机ip connectport=10225
netsh interface portproxy add v4tov4 listenport=10226 listenaddress=物理主机ip connectaddress=内网虚拟机ip connectport=10226
netsh interface portproxy add v4tov4 listenport=10227 listenaddress=物理主机ip connectaddress=内网虚拟机ip connectport=10227
netsh interface portproxy add v4tov4 listenport=10228 listenaddress=物理主机ip connectaddress=内网虚拟机ip connectport=10228
netsh interface portproxy add v4tov4 listenport=10229 listenaddress=物理主机ip connectaddress=内网虚拟机ip connectport=10229
netsh interface portproxy add v4tov4 listenport=10230 listenaddress=物理主机ip connectaddress=内网虚拟机ip connectport=10230
netsh interface portproxy add v4tov4 listenport=10231 listenaddress=物理主机ip connectaddress=内网虚拟机ip connectport=10231

如果是被动模式的话,出现如下错误,是因为端口被占用或者端口没有开放的问题


500 Illegal PORT command的问题(主被动模式)

在windows的dos窗口用FTP命令去连时,可以登录,但使用ls等命令时,出现:
500 Illegal PORT command.
425 Use PORT or PASV first.
根据提示是被动模式的问题。

 FTP主/被动模式的原理
-----------------------------------------------------------
FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。

FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。

PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。

PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。

概括:
--------------------------------------------
主动模式:服务器向客户端敲门,然后客户端开门
被动模式:客户端向服务器敲门,然后服务器开门

所以,如果你是如果通过代理上网的话,就不能用主动模式,因为服务器敲的是上网代理服务器的门,而不是敲客户端的门
而且有时候,客户端也不是轻易就开门的,因为有防火墙阻挡,除非客户端开放大于1024的高端端口

--------------------------------------------

要用主动模式来下载,请您把下载工具的被动模式(PASV)都不要打勾,用主动模式来下载就OK了,如果在出错,那就被动主动相互转换一下

---------------------------------------------

如何设置vsftpd的主动与被动模式:

Vsftpd的配置文件 /etc/vsftpd/vsftpd.conf 
主动模式设置
Port_enable=YES              开启主动模式(default:YES)
Connect_from_port_20=YES     当主动模式开启的时候 是否启用默认的20端口监听
Ftp_date_port=%portnumber%   上一选项使用NO参数是 指定数据传输端口 
被动模式
PASV_enable=YES  开启被动模式
PASV_min_port=%number% 被动模式最低端口
PASV_max_port=%number% 被动模式最高端口

----------------------------------------------

大部分FTP客户端默认使用PASV方式,PASV模式的意式是被动模式。在大部分FTP客户端的设置里,常见到的字眼都是“PASV”或“被动模式”。

IE: 工具 -> Internet选项 -> 高级 -> “使用被动FTP”(需要IE6.0以上才支持)。

CuteFTP: Edit -> Setting -> Connection -> Firewall -> “PASV Mode”
或 File -> Site Manager,在左边选中站点 -> Edit -> “Use PASV mode”

FlashGet: 工具 -> 选项 -> 代理服务器 -> 直接连接 -> 编辑 -> “PASV模式”

FlashFXP: 选项 -> 参数选择 -> 代理/防火墙/标识 -> “使用被动模式”
或 站点管理 -> 对应站点 -> 选项 -> “使用被动模式”
或 快速连接 -> 切换 -> “使用被动模式”

LeapFTP: Option ->Preferences -> General->Proxy->Use Pasv Mode

记一次ftp服务器错误 centOS 6.4 vsftpd 500 illegal port command的更多相关文章

  1. centOS 6.4 vsftpd 500 illegal port command

    原先配置好的vsftpd突然不行了,不知为啥,感觉跟网络有关,这个网络总是有dns拦截的现象,..小公司.真烦人,用联通线路就没问题, 但同事就是连不上,我的笔记本却可以连接上..我的ubuntn,同 ...

  2. ftp:500 Illegal PORT command. 425

    局域网用FTP命令访问外网的FTP SERVER,执行任何命令(如dir,ls,put,get)总是报下面的错误ftp:500 Illegal PORT command. 425ftp:Use POR ...

  3. 记一次ftp服务器搭建走过的坑

    记一次ftp服务器搭建走过的坑 1.安装 ①下载 wget https://security.appspot.com/downloads/vsftpd-3.0.3.tar.gz #要FQ ②解压 ta ...

  4. FTP服务器(SOCKET)返回异常 500 Command not understood

    出现着这样的问题,一般是NLST中的参数包含特殊字符,如"\n",所以在发送SOCKET命令时,一定要检查命令参数的合法性.

  5. Linux CentOS 6.5 下 vsftpd ftp服务器搭建

    Linux CentOS 6.5 下 vsftpd ftp服务器搭建 by:授客 QQ:1033553122   操作系统环境:CentOS 6.5-x86_64 下载地址:http://www.ce ...

  6. centos FTP服务器的架设和配置

    yum install vsftpd 2.启动/重启/关闭vsftpd服务器 [root@localhost ftp]# /sbin/service vsftpd restart Shutting d ...

  7. Ubantu下FTP服务器资源进行控制

    在FTP服务器的管理中无论对本地用户还是匿名用户,对于FTP服务器资源的使用都需要进行控控制, 避免由于负担过大造成FTP服务器运行异常, 可以添加以下配置项对FTP客户机使用FTP服务器资源进行控制 ...

  8. linux搭建FTP服务器并整合Nginx

    操作系统:Centos7 1.1.服务器配置 # 关闭SELINUX,把SELINUX=enforcing改为SELINUX=disabled,reboot重启服务器生效 vim /etc/sysco ...

  9. Linux上的ftp服务器vsftpd之配置满天飞--设置匿名用户访问(不弹出用户名密码框)以及其他用户可正常上传

    一.问题背景 没事谁折腾这鬼玩意哦...还不是因为bug. 我们的应用,用户头像是存在ftp上的.之前的ftp服务器是一台windows,我们后台服务器程序收到用户上传头像的请求时,会用一个ROOT/ ...

随机推荐

  1. NOIP 2015 子串

    借鉴大神思路... #include<cstdio> #include<cstring> #include<cstdlib> #include<iostrea ...

  2. WCF入门介绍

    内容介绍 1.WCF是什么? 2.WCF能干什么? 3.WCF与以往的分布式技术有何区别? 一.WCF是什么?     比较贴近官方的说法是:WCF(原代号为Indigo)是一个用于创建和运行分布式系 ...

  3. globalfifo设备驱动

    把globalmem中的全局内存变成一个FIFO,只有当FIFO中有数据的时候(即有进程把数据写到这个FIFO而且没有被读进程读空),读进程才能把数据读出,而且读取后的数据会从globalmem的全局 ...

  4. Web Services and C# Enums -摘自网络

    Web Service Transparency .NET support for web services is excellent in creating illusion of transpar ...

  5. windows下利用dll生成lib

    原来工程编译的一些dll库,这次项目需要静态库,偷懒想直接转化.看到网上一些教程,使用VC工具和建立lib项目来实现.有点麻烦.还有一种方法,仅仅利用工具和几条命令转化.来试试看.文章参考harrie ...

  6. Scala IDE for Eclipse的下载、安装和WordCount的初步使用(本地模式和集群模式)

    包括: Scala IDE for Eclipse的下载  Scala IDE for Eclipse的安装 本地模式或集群模式 我们知道,对于开发而言,IDE是有很多个选择的版本.如我们大部分人经常 ...

  7. Ubuntu16.04编译安装php

    #Ubuntu16.04编译安装php Ubuntu16.04上面搭建基于Nginx的php服务.Nginx使用apt直接安装的. sudo apt install nginx php的安装部署步骤主 ...

  8. nginx 重装添加http_ssl_module模块

    起因: 如果出现“[emerg] 10464#0: unknown directive "ssl" in /usr/local/nginx-0.6.32/conf/nginx.co ...

  9. 推送通知/传感器/UIDynamic仿真(推送通知已适配iOS10)

    推送通知/传感器/UIDynamic 一.推送通知 1.推送通知简介 什么是推送通知 此处的推送通知与NSNotification没有任何关系 可以理解为,向用户推送一条信息来通知用户某件事情 作用: ...

  10. 如何给Windows添加自动启动的程序

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何给Windows添加自动启动的程序.