电脑计算机论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3830|回复: 0

部署ftp后应该对外开放哪些端口?只开放21端口就可以吗??

[复制链接]
admin 发表于 2021-6-10 15:11:08 | 显示全部楼层 |阅读模式
最近遇到在服务器上部署ftp之后,在服务器本机防火墙上只放开21端口,发现局域网的其他机器都无法访问ftp,把防火墙全部停掉,局域网其他机器可以访问ftp,在防火墙上映射21端口,外部也无法访问ftp,这是为什么呢?应该怎么解决?


其实,要想解决这个问题,必须要弄清楚ftp的两种模式(非常重要):
FTP具有两种模式,分别是port模式(也叫主动模式)和pasv模式(也叫被动模式),怎么来理解这两种模式呢?我来打个比喻吧,在主动模式下:客户端给服务器端的21端口发命令说,我要下载什么什么,并且还会说我已经打开了自己的某个端口,你就从这里把东西给我吧,服务器知道后就会通过另外一个数据端口(一般是ftp端口-1,比如ftp设置的是21,数据接口就是20)把东西传给客户端,这就是主动模式,可以理解为服务端主动给客户端传输文件;在被动模式下:客户端给服务器端的21端口发命令说,我要下载什么什么,服务器端知道后,就打开一个端口,然后告诉客户端,我已经打开了某某端口,你自己进去拿吧,于是客户端就从那个端口进去拿文件了,这就是被动模式,可以理解为服务端被客户端拿走了东西
     弄清楚了这两种模式,哪种模式好呢? 答案是各有优势:  主动模式对服务器好,因为服务器只需要打开21和20两个端口(如果ftp设置了其他端口,例如121,那么数据接口就是120),更加安全,但是这种方式,对客户端不够好,因为客户端需要打开随机端口,让服务器传东西进来,一旦客户端有防火墙限制,可能就是导致连接失败; 而被动模式对客户端好,因为是客户端去连服务器的某个随机端口,客户端防火墙不会限制,只要ftp服务器配置正确,客户端肯定能连上,但是服务器端就需要将用到的随机数据端口也开放出来才可以。
     下一个问题,ftp的主动模式、被动模式,可以选择吗? 答案是,ftp客户端一般两种模式都支持,而且大部分ftp客户端都可以设置是用主动模式还是被动模式,甚至大部分ftp客户端即使不设置也会先用被动模式连接,连接失败之后再自动换用主动模式连接。但是ftp服务端才是最关键的,ftp服务端大部分是主动模式和被动模式同时支持的。但由于被动模式下,能保证客户端不需要特别设置,都能连接上,所以一般ftp服务器,都是按照被动模式需要放开的端口去映射端口。
      被动模式的ftp服务器需要映射哪些端口呢?上面说的,ftp服务端会随机打开一个端口用来连接数据,我们总不能把所有端口都映射出去吧?所以一般我们在设置ftp服务端的时候,一般有一个端口范围可以设置,我们根据可能的ftp客户端数量设置一个数据端口用的随机端口范围,例如设置成55536-55540  设置5个端口,ftp也不建议用21端口,可以改成其他端口,比如121,那么我们就只需要在服务器上映射出 121 120 55536-55540 这几个端口就可以了。

您需要登录后才可以回帖 登录 | 注册

本版积分规则


QQ|手机版|小黑屋|电脑计算机论坛 ( 京ICP备2022023538号-1 )

GMT+8, 2024-12-27 23:31 , Processed in 0.094159 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表