热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

20191214FTP服务器搭建

title:FTP服务器搭建date:2019-12-1415:34:19updated:2019-12-1415:34:19categories:[服务器,搭建][网络]tags

title: FTP服务器搭建
date: 2019-12-14 15:34:19
updated: 2019-12-14 15:34:19
categories:

  • [服务器, 搭建]
  • [网络]
    tags:
  • FTP
  • 服务器
目录
  • 什么是FTP服务器
  • 本地FTP服务器搭建(简易版)
  • FTP服务器发布至外网(Serv-u版)
什么是FTP服务器

FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。

软件种类

  1. Server-U
  2. FileZilla
  3. VsFTP
  4. IIS FTP

工作模式

FTP是仅基于TCP的服务,不支持UDP。与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口)。通常来说这两个端口是21(命令端口)和20(数据端口)。但FTP 工作方式的不同,数据端口并不总是20。这就是主动与被动FTP的最大不同之处。主要有两种工作模式:

  1. 主动模式(PORT)
    主动模式下,客户端随机打开一个大于1024 的端口向服务器的命令端口 P,即 21 端口,发起连接,同时开放N +1 端口监听,并向服务器发出 “port N+1” 命令,由服务器从它自己的数据端口 (20) 主动连接到客户端指定的数据端口 (N+1)。
    FTP 的客户端只是告诉服务器自己的端口号,让服务器来连接客户端指定的端口。对于客户端的防火墙来说,这是从外部到内部的连接,可能会被阻塞。

  2. 被动模式(PASV)
    为了解决服务器发起到客户的连接问题,有了另一种 FTP 连接方式,即被动方式。命令连接和数据连接都由客户端发起,这样就解决了从服务器到客户端的数据端口的连接被防火墙过滤的问题。
    被动模式下,当开启一个 FTP 连接时,客户端打开两个任意的本地端口 (N > 1024 和 N+1) 。

总结

在主动模式下:FTP服务器的控制端口是21,数据端口是20,所以在做静态映射的时候只需要开放21端口即可,他会用20端口和客户端主动的发起连接。

在被动模式下:FTP服务器的控制端口是21,数据端口是随机的,且是客户端去连接对应的数据端口,所以在做静态的映射话只开放21端口是不可以的。此时需要做DMZ。

本地FTP服务器搭建(简易版)

参考资料:https://www.cnblogs.com/popfisher/p/7992036.html

第一步:配置IIS Web服务器

  • 1.1 控制面板中找到“程序”并打开

  • 1.2 “程序”界面找到“启用或关闭Windows功能”并打开

上面两步也可以简化为一步:按【Win + R】快捷键打开运行对话框,输入“optionalfeatures”后,按回车键

  • 1.3 从“启用或关闭Windows功能”弹窗中找到Internet Information Services(或者中文版Internet信息服务)并打开

  • 1.4 配置IIS并点击确定
    《2019-12-14-FTP服务器搭建》

第二步:配置IIS Web站点

  • 2.1 开始菜单搜索“IIS”并点击进入IIS管理器(Internet Information Services (IIS)管理器)

简化操作:按【Win + R】快捷键打开运行对话框,输入“inetMgr.exe”后,按回车键

  • 2.2 新建FTP站点

    • 2.2.1 新建FTP服务器 根目录文件夹

    这步就是你随便找个位置新建一个文件夹,这个文件夹可以随意放置,没有特定需要,当然,尽量不要放在系统盘。

    • 2.2.2 查看本机ip地址,后续访问Ftp地址需要用到(打开cmd输入ipconfig)

    本机ip地址是IPv4 地址,当然,可能有些人的电脑连接了很多地址,那就要看你当前用的是无线局域网适配器还是以太网,以及更加细致的分类。

    • 2.2.3 IIS网站管理器界面左边导航栏找到“网站”,右键弹出菜单,在弹出菜单中点击“添加FTP站点”

    • 2.2.4 配置网站(网站名称:FtpSite 物理路径:E:\ftpserver)

    这里,名称随意,物理路径就是刚才你的新建文件夹的路径。

    • 2.2.5 IP 端口号 SSL设置

    本机IP地址(从下拉菜单选择):此处是你的IP地址
    端口号是21,要不要自动启动(开机就启动)看你自己
    SSL设置为无SSL,除非你有SSL,并且知道怎么用了。
    《2019-12-14-FTP服务器搭建》

    • 2.2.6 身份验证和授权信息设置

    为了方便测试,此处身份验证先设置为匿名(以后可以更改),授权 允许所有用户,权限 读写都打勾。
    《2019-12-14-FTP服务器搭建》

第三步:测试FTP站点(先在 根目录文件夹,随便放一个文件)

  • 3.1 浏览器或者文件管理器地址栏输入ftp地址(ftp://192.168.0.105) ,别傻傻地复制粘贴,输入你自己的IP,注意前缀ftp://

  • 3.2 IIS管理器中的FTP身份验证里面配置身份认证
    在FTP的管理栏中,打开FTP身份验证

此处根据你自己的需要进行设置,基本身份验证是根据你电脑中的用户访问的,匿名身份验证是指任何人都可以访问。
《2019-12-14-FTP服务器搭建》

  • 3.3 IIS管理器中的FTP授权规则

在FTP的管理栏中,打开FTP授权规则
在右边操作栏里,添加允许规则添加拒绝规则,根据自己需要,设置相应规则。
《2019-12-14-FTP服务器搭建》

  • 3.4 配置FTP站点用户名和密码
    • 3.4.1 此电脑(桌面计算机图标右键)—>管理->本地用户和组->用户->新建一个用户,并设置密码
      《2019-12-14-FTP服务器搭建》
      《2019-12-14-FTP服务器搭建》

    细心的你可能已经发现这里的账户就是我们计算机的账户,所以说访问你的FTP服务器的账号实际上是你的电脑用户账号。
    我们使用自己登录电脑的用户名和密码来登录FTP站点,不用新建这个test用户都可以。

结语

到此一个简单的FTP服务器搭建成功,同一个局域网内其他人可以访问到你的电脑了,可以相互传输文件。当然这只是局限于局域网,如果想要在任何一台联网的电脑上访问到这个FTP文件服务器,那紧接着下面的教程吧!

FTP服务器发布至外网(Serv-u版)

参考资料:
https://blog.csdn.net/suliang5158/article/details/79273099
https://jingyan.baidu.com/article/e75aca85634b68142edac6f2.html
https://blog.csdn.net/wz947324/article/details/80063061
https://blog.csdn.net/superdog007/article/details/48787049

工具及环境:

  1. 系统:Windows Server2012R2

  2. 软件:Serv-u(MFT Server 15.1.2)

百度云 链接: https://pan.baidu.com/s/1QrqlfzFIcP-y1YD6981CbQ 提取码: kja7

  1. 环境配置:
  • 如果是购买阿里云的服务器的话,必须还得在阿里云后台开放指定端口!
  1. 登录阿里云,知道服务器控制台页面,左侧菜单栏有个 安全组 的子菜单
  2. 安全组中添加两个规则:
    开放20-21端口、1024-65535端口
  • 目前(2019/12/14),我在腾讯云上没遇到这个问题,是可以直接使用的。

Serv-U的安装与配置

  1. 打开SU-FTP-Server-Windows-v15.1.2执行安装,选择中文(简体)
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》

  2. 启动Serv-U管理控制台,进行域配置
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》

注意这里的IPv4地址填写你自己FTP服务器所在的内网IP
《2019-12-14-FTP服务器搭建》

  1. 使用向导创建匿名用户
    《2019-12-14-FTP服务器搭建》
    这里点击后,前往域下面的用户,在用户里找到向导,点击进入。
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ni73SN1z-1579322643614)(http://139.196.40.21:88/img/2019-12-14-FTP%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%90%AD%E5%BB%BA/3333.jpg)]
    《2019-12-14-FTP服务器搭建》

  2. 新建域用户,添加域管理员
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    选择域管理员用户,双击编辑该用户,进入’目录访问’标签,添加如图(域管理员3)两个路径。
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    同理,也可以设置匿名用户的目录访问权限

  3. 解决FTP服务器在浏览时出现中文乱码的问题

  1. 下面选择“限制和设置”——“FTP设置”——“用户默认设置”中找到OPTS UTF8命令,右击禁用此命令。
  2. 点击下面的“全局属性”——高级选项”里,把“对所有已收发的路径和文件名使用UFT-8编码”前面的钩去掉。
    《2019-12-14-FTP服务器搭建》
    《2019-12-14-FTP服务器搭建》
    这样,在上传或浏览FTP服务器时就不会出现中文乱码了。

发布至外网(云服务器)

  1. 配置监听器,指向公网IP
    《2019-12-14-FTP服务器搭建》
  2. 对ftp服务器下的监听器进行修改
    《2019-12-14-FTP服务器搭建》
  3. 设置PASV端口范围(就是服务器向外发送数据用端口)
    《2019-12-14-FTP服务器搭建》

到这里,应该是可以让你在其他电脑上访问你搭建的FTP服务器了,访问路径是ftp://此处填写你的公网IP

FTP绑定域名

添加域名解析
进入你购买域名的服务商控制台,在域名管理中添加一个域名解析。选择A记录,填写二级域名前缀,记录值为你的公网ip。
然后在ftp服务器空间后台绑定这个域名,这样的话等域名解析生效了,那么就可以用域名访问ftp服务器以及里面的内容了。
访问地址为:ftp://此处填写你的域名

有可能出现访问不到的情况,可能是你的云服务器还没备案,先去备案吧。

总结
  1. PASV端口范围
    被动模式(PASV)下,有数据要传输时,服务器会打开一个数据端口(并处于监听状态),然后告知客户端,客户端连接这个数据端口发送数据。但是数据端口是随机的,那么服务器该如何将这些随机数据端口映射到公网的路由器上呢?总不能让内部网的一台机器完全暴露到公网上吧,虽然确实有这样的方案(称之为DMZ主机),但这绝对是最愚蠢的选择。
    虽然数据端口是随机的,但Serv-U可以指定随机的范围。打开Serv-U管理控制台 > 管理服务器 > 服务器限制和设置 > 服务器设置 。在“设置”选项卡里找到“PASV端口范围”,就是上面的配置端口那张图。只需要把这些指定的端口映射出去就可以了。

  2. PASV IP地址
    这是全文中想要发布至外网的关键所在。打开Serv-U管理控制台 > 你自定义的域名 > 域详细信息 > 监听器 > 编辑 ,在PASV IP地址或域名中设置公网IP即可。


推荐阅读
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • MicrosoftDeploymentToolkit2010部署培训实验手册V1.0目录实验环境说明3实验环境虚拟机使用信息3注意:4实验手册正文说 ... [详细]
  • 最详尽的4K技术科普
    什么是4K?4K是一个分辨率的范畴,即40962160的像素分辨率,一般用于专业设备居多,目前家庭用的设备,如 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 本文详细介绍了如何使用Python中的smtplib库来发送带有附件的邮件,并提供了完整的代码示例。作者:多测师_王sir,时间:2020年5月20日 17:24,微信:15367499889,公司:上海多测师信息有限公司。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 属性类 `Properties` 是 `Hashtable` 类的子类,用于存储键值对形式的数据。该类在 Java 中广泛应用于配置文件的读取与写入,支持字符串类型的键和值。通过 `Properties` 类,开发者可以方便地进行配置信息的管理,确保应用程序的灵活性和可维护性。此外,`Properties` 类还提供了加载和保存属性文件的方法,使其在实际开发中具有较高的实用价值。 ... [详细]
  • 本文详细解析了使用C++实现的键盘输入记录程序的源代码,该程序在Windows应用程序开发中具有很高的实用价值。键盘记录功能不仅在远程控制软件中广泛应用,还为开发者提供了强大的调试和监控工具。通过具体实例,本文深入探讨了C++键盘记录程序的设计与实现,适合需要相关技术的开发者参考。 ... [详细]
author-avatar
码农
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有