window2003 的ftp防火墙如何放行?

cc同学 发布于 2015/05/22 13:38
阅读 134
收藏 1
window 2003 自带防火墙对ftp服务如何放行?
加载中
1
c
cc同学

引用来自“1989丶”的评论

对服务器的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 "5005-5005"



这个端口必须在5001到65535之间) 

3 ,重新启动FTP服务。 

4 ,打开防火墙 ,添加221和5005端口。

好的  我试试
0
雁南飞丶
雁南飞丶
对服务器的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 "5005-5005"



这个端口必须在5001到65535之间) 

3 ,重新启动FTP服务。 

4 ,打开防火墙 ,添加221和5005端口。

返回顶部
顶部