FTP服务器需要开几个端口
原文: https://blog.csdn.net/houbin0912/article/details/72578688
------------------------------------------------------------------------------------------
FTP服务器需要开几个端口
新买了台服务器,只用来提供FTP和SQL Server服务,为保证安全,只开放21和1433端口。但FTP不能访问,于是我就花了点时间研究了一下防火墙的日志和在网上找了些相关的资料,有了以下的总结。 由于前段时间公司新买了台服务器,只用来提供FTP和SQL Server服务(有固定公网IP并且对外服务),于是我就想用防火墙封住除开FTP和SQL Server之外的所有端口(也就是只开放21和1433啦),以保证服务器的安全,但是想不到的是开了21端口之后,FTP依旧不能访问,让我很纳闷,于是我就花了点时间研究了一下防火墙的日志和在网上找了些相关的资料,有了以下的总结。
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;你把命令端口改成了600,那么数据端口就是599。这样使用防火墙就很方便了,只要开通这两个端口就可以了,但是如果客户端是共享上网的话那岂不是不能正常使用FTP了,这样还是不行,一定需要被动模式。
在被动模式中就麻烦了些,默认情况下命令端口是21,但是数据端口是随机的,这个问题又让我头痛了一下,还好,我又找到了办法,因为被动模式中数据端口的范围是可以自定义的,在此我以Serv-U 6.1.0.5版为例,在/Local Server/Settings/Advanced/中,这下好了,我把被动模式中的端口范围也设置为20-20,那么不管客户端使用何种模式来访问我的FTP,都只需要开通这两个端口了,再加上SQL Server的1433,一台服务器总共才开了3个端口,这下应该比较安全了,装上防火墙,收工…
FTP服务器需要开几个端口的更多相关文章
- FTP被动模式服务器端开有限的端口
很多服务器上都搭建的有FTP服务,FTP服务有两种连接模式:主动模式和被动模式.关于这两种模式的介绍,请参考这篇文章:重温FTP的主动模式和被动模式 关于这两种模式的比较,原文有这样的描述: 主动模式 ...
- 外网访问内网的FTP服务器-原理解析
1. 背景简介 最近研究如何在内网搭架FTP服务器,同时要保证外网(公网)能访问的到.终成正果,但走了一些弯路,在此记下,以飨后人. 2. 基础知识 FTP 使用 2 个端口,一个数据端口和一个命令端 ...
- Serv-u 外网访问内网的FTP服务器
1. 背景简介 最近研究如何在内网搭架FTP服务器,同时要保证外网(公网)能访问的到.终成正果,但走了一些弯路,在此记下,以飨后人. 2. 基础知识 FTP 使用 2 个端口,一个数据端口和一个命令端 ...
- 外网访问内网的FTP服务器
转自 外网访问内网的FTP服务器 首先感谢作者给出的总结,原文是介绍Serv-U的,我针对FileZilla Server进行了稍微修改,仅看操作可直接跳到分割线后第3部分. 1. 背景简介最近研究如 ...
- 98、配置ftp服务器(vsftpd)
98.1.安装vsftpd: 1.安装: [root@m01 ~]# yum install -y vsftpd #安装vsftpd [root@m01 ~]# vsftpd -v #查看ftp的版本 ...
- 翻译:在Ubuntu 14.04上安装FTP服务器的方法
说明: 1.原文地址:http://www.krizna.com/ubuntu/setup-ftp-server-on-ubuntu-14-04-vsftpd/ 2.今天要做一个网络日志的迁移程序,搬 ...
- 使用FileZilla Server轻松搭建个人FTP服务器
Linux平台下快速搭建FTP服务器 服务器FTP Server环境搭建 针对以上遇到的问题的解决方案如下: 1)如何上传文件到云服务器上 关于这个问题,我首先想到的是使用FileZ ...
- Android中FTP服务器、客户端搭建以及SwiFTP、ftp4j介绍
本文主要内容: 1.FTP服务端部署---- 基于Android中SwiFTP开源软件介绍: 2.FTP客户端部署 --- 基于ftp4j开源jar包的客户端开发 : 3.使用步骤 --- 如何测试我 ...
- Android和FTP服务器交互,上传下载文件(实例demo)
今天同学说他备份了联系人的数据放在一个文件里,想把它存到服务器上,以便之后可以进行下载恢复..于是帮他写了个上传,下载文件的demo 主要是 跟FTP服务器打交道-因为这个东东有免费的可以身亲哈 1. ...
随机推荐
- Launcher3无图标问题
MTK8382/8121平台. 机器(8寸,默认竖屏)第一次烧录完成后,以横放姿势启动,发现Launcher没有图标,而竖屏启动是没有这个问题的.在测试过程中发现,在设置中clear data后也会有 ...
- StringUtils工具类的使用
注意isNotEmpty()和isNotBlank()的区别 过去的字符串判空:if("".equals(str) || str == null).现在使用工具类StringUti ...
- ES6新特性之傻瓜式说明
ES6出来挺长一段时间了,但目前网上好像教程并不多也不详细.我依然遵循傻瓜式教学模式,白话文说明JavaScript和ES6的一些区别,说明下ES6的一些新特性.本文适合新手学习,大神请勿见笑,在下在 ...
- CSDN博客用Windows Live Writer方法,终于可以离线编辑了!
以下是安装WLW 和相关设置: 1. 下载安装WLW (步骤略,可自行下载,官方下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id ...
- ionic 之环境的搭建
在ionic的学习中,首先要做的就是环境的搭建,接下来我对从一开始环境的搭建做了记录,以及过程中遇到的问题. 1.安装环境 1.1 安装Node.js Node.js建议安装最新版本,下载地址:htt ...
- CF 990B. Micro-World【数组操作/贪心/STL/二分搜索】
[链接]:CF [题意]:对任意一个数a[i] ,可以对任意 满足 i != j 且 a[i] > a[j] && a[i] <= a[j] +k 的 a[j] 可以被删掉 ...
- lca最短公共祖先模板(hdu2586)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2586 #include<iostream> #include<cstdio> ...
- 21、Django实战第21天:课程章节信息
在课程详情页中,点击"开始学习",就进入到这课程章节信息,这里面包含了两个页面:"章节"和评论 1.把course-video.html(章节).course- ...
- create table select from
CREATE TABLE new_table AS SELECT * FROM old_table
- CentOS 7 下Ansiable搭建命令列表 及常用监控指令
根据文章 [ 自动化运维工具Ansible详细部署 ] 搭建 ============================================================== 1.Ans ...