对服务器的ftp端口进行修改

对服务器的ftp端口进行修改

对服务器的ftp端口进行了修改,把21端口改了,比如221端口,就这样用221连接的时候,连接登录成功,但打不开目录,为何,总结如下:

1、完成一个FTP的传输过程不仅仅只需要21一个端口,而是2个端口,21端口只是一个命令端口,其实另外还有一个数据端口,我想这就是有些朋友在内网架设FTP并且在网关上做了21端口的映射之后外网还是不能访问的原因吧,另外一个数据端口是多少呢?这又牵涉到另外一个问题。

2、FTP具有两种模式,分别是port模式(也叫主动模式)和pasv模式(也叫被动模式),怎么来理解这两种模式呢?我来打个比喻吧,在主动模式下:客户端给服务器端的21端口发命令说,我要下载什么什么,并且还会说我已经打开了自己的某个端口,你就从这里把东西给我吧,服务器知道后就会通过另外一个数据端口把东西传给客户端,这就是主动模式,可以理解为服务端主动给客户端传输文件;在被动模式下:客户端给服务器端的21端口发命令说,我要下载什么什么,服务器端知道后,就打开一个端口,然后告诉客户端,我已经打开了某某端口,你自己进去拿吧,于是客户端就从那个端口进去拿文件了,这就是被动模式,可以理解为服务端被客户端拿走了东西,哈哈,可以看懂吧。

在FTP的历史中,本来只有主动模式的,但是为什么又出现了被动模式呢?这又牵涉到另外一个问题了,呵呵~

3、在很久以前(我也不知道多久),地球上还没有什么共享上网这种技术,但是后来出现了,所以也就有了下面的问题,大家都知道,共享上网就是很多台电脑共享一个公网IP去使用internet,再打个比喻吧,某个局域网共享210.33.25.1这个公网IP上网,当一个内网用户192.168.0.100去访问外网的FTP服务器时,如果采用主动模式的话,192.168.0.1告诉了FTP服务器我需要某个文件和我打开了x端口之后,由于共享上网的原因,

192.168.0.1在出网关的时候自己的IP地址已经被翻译成了210.33.25.1这个公网IP,所以服务器端收到的消息也就是210.33.25.1需要某个文件并打开了x端口,FTP服务器就会往210.33.25.1的x端口传数据,这样当然会连接不成功了,因为打开x端口的并不是

210.33.25.1这个地址,在这种情况下被动模式就有用了,相信大家已经能够理解被动模式是怎么个连接法了吧。

好了,说了这么多,现在可以回到第一个问题了。

在主动模式中,FTP的两个端口是相对固定的,如果命令端口是x的话,那数据端口就是x-1,也就是说默认情况下,命令端口是21,数据端口就是20;你把命令端口改成了123,

那么数据端口就是122。这样使用防火墙就很方便了,只要开通这两个端口就可以了,但是如果客户端是共享上网的话那岂不是不能正常使用FTP了,这样还是不行,一定需要被动模式。

在被动模式中就麻烦了些,默认情况下命令端口是21,但是数据端口是随机的,不过被动模式中数据端口的范围是可以自定义的,IIS中修改ftp端口步骤如下:

1,打开IIS,修改FTP端口为221;

2,运行cmd后输入如下命令:C:/Inetpub/AdminScripts>cscript adsutil.vbs set

/MSFTPSVC/PassivePortRange "5001-5001"(这个端口必须在5001到65535之间) 3,重新启动FTP服务。

4,打开防火墙,添加221和5001端口。以卡巴斯基为例,在防火墙的设置中添加“包过滤规则”,需要注意的是,属性选择“本地端口”。

 

第二篇:修改ftp默认端口

将FTP站点设置成PASV模式

1、启用直接编辑元数据库

打开 IIS Microsoft 管理控制台 (MMC):控制面板 ---> 管理工具---> Internet信息服务(IIS)管理器 ---> Internet信息服务--->本地计算机

右击本地计算机节点,选择属性,选择启用直接编辑元数据库复选框。

2、 修改端口号,方法1可行,方法2没有试验过。

方法 1 通过 ADSUTIL 脚本配置 PassivePortRange

运行cmd.exe程序进入命令行模式,并输入以下命令:

C:\Inetpub\AdminScripts\adsutil.vbs set /MSFTPSVC/PassivePortRange "5500-5550" 这样就将FTP服务器上TCP 默认短暂端口范围限制在5500-5550范围内,如果同时连接数量较多,可适当进行调整。

用以下命令查看PassivePortRange:

C:\Inetpub\AdminScripts\adsutil.vbs get /MSFTPSVC/PassivePortRange

方法 2 通过修改配置文件

打开下面这个文件 :

1. C:\WINDOWS\system32\inetsrv\MetaBase.xml

搜索 MaxConnections 这个字段

在 MaxConnections 下面新加一行被动模式的配置信息,修改后的配置文件

LogType="1"

MSDOSDirOutput="TRUE"

MaxClientsMessage=" "

MaxConnections="100000"

PassivePortRange="5500-5550"

3、windows 2003 中防火墙的设置

3.1 打开FTP控制端口TCP 21(如果更改端口号,这里要做相应的更改)

在命令行输入:

NETSH FIREWALL ADD PORTOPENING TCP 21 FTPPort21

3.2 打开PassivePortRange 5500-5550的TCP端口

建立以下批处理文件并运行(例如:ftpport.bat):

ECHO OPENING FIREWALL PORTS 5500-5550

FOR /L %%I IN (5500,1,5550) DO NETSH FIREWALL ADD PORTOPENING TCP %%I FTPPort%%I

iisreset /restart

ECHO FINISHED

Pause

至此,整个服务架设完成,可在启用防火墙的情况下进行测试。