大家好,又见面了,我是你们的朋友全栈君。
是什么
FTP
的全称是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。 FTP服务器则是在互联网上提供存储空间的计算机,它们依照FTP协议提供服务。当它们运行时,用户就可以连接到服务器上下载文件,也可以将自己的文件上传到FTP服务器中。有时把FTP服务器简称为FTP。 FTP服务器的存在,大大方便了网友之间远程交换文件资料的需要,充分体现了互联网资源共享的精神。 现在许多朋友都已经用上了宽带网,而且硬盘也有足够的空间,完全可以通过软件手段把自己的电脑变为一台FTP服务器,和网络中的朋友们一起分享大家各自收藏的好东东!
1.2
、什么是内网
内网的计算机以NAT(网络地址转换)协议,通过一个公共的网关访问因特网。内网的计算机可向因特网上的其它计算机发送连接请求,但因特网上的其它计算机无法向内网的计算机发送连接请求,所以无法用通常的方法去建立FTP服务器。 内网的IP地址有如下3种形式: 10.*.*.* 172.16.*.*至172.31.*.* 192.168.*.*
1.3
、内网建FTP的两种方式
1.3.1
、动态域名和虚拟专用法:
适于条件:不能够接触到网关服务器,无法做专业端口映射。 如:科迈网之动态域名和虚拟专用服务之内网专业版。(TrueHost)。
1.3.2
、端口映射法:
适用条件:能够接触到网关服务器,并作端口映射。如:端口映射软件PortTunnel。
1.4
、关于域名
通过域名可以解决没有固定因特网IP的问题。如“每步”等。 上面1.3.1所提及的方法不需要另外的域名服务,因为本身已提供该服务。
1.5
、关于Serv-U
一种常见的建立FTP的工具软件。
1.6
、架设FTP服务器的基本条件:
架设一台 FTP 服务器其实很简单。
1.6.1
、网络速度
机器能上网,网络速度最好不低于 ADSL 512 Kbps。
1.6.2
、硬件性能
一般来说,系统最低要求如下: CPU:P
Ⅲ
450 MHz
以上 内存:256M SDRM 以上
1.6.3
、软件环境
FTP
服务器软件:可以使用专业FTP服务器软件,如SERV-U;也可以使用微软的 IIS(Internet Information Server 因特网信息服务系统)。不同的软件提供的功能不同,适应的需求和操作系统也不同。 操作系统:Windows 98/Me/NT/2000/XP 均可,如果对服务器的性能和安全性要求很低,可以采用 Windows 98 和Windows Me。 本文中,如无特殊说明,均以Windows XP 专业版为操作系统,其余操作系统下 FTP 服务器的架设及设置均大同小异。
1.7
、建站软件下载地址
建议根据下文提到的软件名称,用GOOGLE之类的搜索一下。 或者到天空软件站下载: http://www.skycn.com/
2
、建立FTP方案
2.1
、方案一之A方案:用 Serv-U 架设FTP
适用条件:有固定因特网IP地址。
2.2
、方案一之B方案:用IIS 架设FTP
适用条件:有固定因特网IP地址。
2.3
、方案二、Serv-U+每步
适用条件:有不固定因特网IP地址。
2.4
、方案三、Serv-U+每步+PortTunnel端口映射
适用条件:内网IP,可控制网关服务器并设置端口映射。
2.5
、方案四、Serv-U+TrueHost
适用条件:内网IP,不能控制网关服务器。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/162612.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...
、方案一之A方案:用Serv-U 架设FTP之 Serv-U(Version 4.1.0.0)全攻略
Serv-u
是著名的 FTP 服务端软件,可以方便地建立 FTP 服务器,下面详细解释 Serv-u 的安装、设置、使用和解答一些常见问题。
2.1.1
、内容索引
1.
安装
安装 — 汉化 — 运行
2.
建立 FTP 服务器
建立域 — 添加用户 — 设置用户目录 — 设置用户权限
3.
高级设置:
建立组 — 赋予组权限 修改服务端口 封锁访问者 IP 踢人 设置服务器回复信息
4.
访问样例
Internet Explorer Cute FTP
5.
常见问题 6.Serv-U 架设的FTP 服务器的管理
2.1.2
、安装
1.
运行安装程序:
1.jpg
2. 选择安装路径 安装路径这点大家通常都会忽略,因为大家都有一个不良习惯:把所有程序都安装到默认的 %system%/program files/ 下。普通软件是没有什么大问题的,但是这对于服务类软件和安全类软件是非常危险的,在默认情况下 user 对 program files 的权限是可访问可运行的,对于黑客来说,无需夺得管理员权限就可随意关掉你的防火墙病毒墙,把需要的文件共享,很简单就达到完全入侵的目的。所以建议把 Serv-u 安装到权限已设置好的安全目录中去较为稳妥。 恐怖的权限:
2.jpg
这是普通的Windows Media Player 目录属性 (可见 Serv-U 装在这里的话…):
3.jpg
4.jpg
完成补丁按安装后 Serv-u 就变成中文版了,接下来的设置就会比较容易理解而且十分清晰。 Serv-u 支持建立多个域,即多个 FTP 服务器;但这些服务器不能同时使用相同的端口,必须每个服务器使用不同的端口,计算机的可用网络端口有 65535 个,扣除系统预留的端口,用户可以随意选择的端口还有很多。 下面介绍如何在一个空空如也的 Serv-u 中建立 FTP 服务器。 2.1.3、建立 FTP 服务器 运行 Serv-u,展开《本地服务器》,右击新建域或直接按下 Insert:
5.jpg
1. 新建域的服务器 IP 如图所示:如使用动态 IP 地址的可以留空:
6.jpg
7.jpg
3. 选择服务端口 默认的 FTP 端口是 21,您可以选择其他端口,但需要知会访问者:
8.jpg
启用 DNS 选项可以在 TOZ.CO[img]申请一个动态域名解释服务(试用期30天),这里不用理会:
9.jpg
10.jpg
5. 添加用户 这里可以添加两种用户,一种是有匿名访问权限的 Anonymous,另一种是必须输入用户名称和密码才能访问 FTP 服务。这两种用户我们都可以赋予不同的权限。 A. 添加匿名用户 与添加域名相似,右击域目录树下的用户选择添加用户或选中域目录树下的用户然后按 Insert。 输入匿名用户的缺省名称 Anonymous ,注意:Serv-U 把会自动把用户名为 Anonymous 的用户识别成匿名用户。输入 Anonymous
11.jpg
指定可访问目录:
12.jpg
锁定目录 :
13.jpg
B. 添加权限约束用户权限约束用户必须输入用户名和密码才能够登陆 FTP 服务器。与添加匿名用户一样。
、方案一之B方案:用IIS 架设FTP
2.2.1
、IIS 架设FTP方法
如果只是想建个小型的同时在线用户数不超过10个的FTP服务器,且不会同时进行大流量的数据传输,可以用IIS 5.0 作为服务器软件来架设(IIS 只适用于Windows NT/2000/XP 操作系统)。
1、安装
Windows XP 默认安装时不安装IIS 组件,需要手工添加安装。进入控制面板,找到“添加/删除程序”,打开后选择“添加/删除Windows 组件”,在弹出的“Windows 组件向导”窗口中,将“Internet 信息服务(IIS)”项选中。在该选项前的“√”背景色是灰色的,这是因为Windows XP 默认并不安装FTP 服务组件。再点击右下角的“详细信息”,在弹出的“Internet 信息服务(IIS)”窗口中,找到“文件传输协议(FTP)服务”,选中后确定即可。 安装完后需要重启。Windows NT/2000/XP 的安装方法相同。
2、设置
电脑重启后,FTP 服务器就开始运行了,但还要进行一些设置。点击“开始
→
所有程序
→
管理工具
→
Internet
信息服务”,进入“Internet 信息服务”窗口后,找到“默认FTP 站点”,右击鼠标,在弹出的右键菜单中选择“属性”。在“属性”中,我们可以设置FTP 服务器的名称、IP、端口、访问账户、FTP 目录位置、用户进入FTP 时接收到的消息等。 1)FTP 站点基本信息 进入“FTP站点”选项卡,其中的“描述”选项为该FTP站点的名称,用来称呼你的服务器,可以随意填,比如“我的小站”;“IP地址”为服务器的IP,如果在下拉列表框中有两个或两个以上的IP地址时,最好指定为公网IP;“TCP端口”一般仍设为默认的21端口;“连接”选项用来设置允许同时连接服务器的用户最大连接数;“连接超时”用来设置一个等待时间,如果连接到服务器的用户在线的时间超过等待时间而没有任何操作,服务器就会自动断开与该用户的连接。 2)设置账户及其权限 很多FTP站点都要求用户输入用户名和密码才能登录,这个用户名和密码就叫账户。不同用户可使用相同的账户访问站点,同一个站点可设置多个账户,每个账户可拥有不同的权限,如有的可以上传和下载,而有的则只允许下载。 3)安全设定 进入“安全账户”选项卡,有“允许匿名连接”和“仅允许匿名连接”两项,默认为“允许匿名连接”,此时FTP服务器提供匿名登录。“仅允许匿名连接”是用来防止用户使用有管理权限的账户进行访问,选中后,即使是Administrator(管理员)账号也不能登录,FTP只能通过服务器进行“本地访问”来管理。至于“FTP站点操作员”选项,是用来添加或删除本FTP服务器具有一定权限的账户。IIS与其他专业的FTP服务器软件不同,它基于Windows用户账号进行账户管理,本身并不能随意设定FTP服务器允许访问的账户,要添加或删除允许访问的账户,必须先在操作系统自带的“管理工具”中的“计算机管理”中去设置Windows用户账号,然后再通过“安全账户”选项卡中的“FTP站点操作员”选项添加或删除。但对于Windows 2000和Windows XP专业版,系统并不提供“FTP站点操作员”账户添加与删除功能,只提供Administrator一个管理账号。 提示:匿名登录一般不要求用户输入用户名和密码即可登录成功,若需要,可用“anonymous”作为用户名,以任意电子邮件地址为密码来登录。 4)设置用户登录目录 最后设置FTP主目录(即用户登录FTP后的初始位置),进入“主目录”选项卡,在“本地路径”中选择好FTP站点的根目录,并设置该目录的读取、写入、目录访问权限。“目录列表样式”中“UNIX”和“MS-DOS”的区别在于:假设将G:/FTP设为站点根目录,则当用户登录FTP后,前者会使主目录显示为“/”,后者显示为“G:/FTP”。 设置完成后,FTP服务器就算真正建成了。如果前面IP地址为218.1.1.1,则用户使用FTP客户端软件(用来登录FTP服务器的上传/下载软件,如CuteFTP、FlashFXP等,如无特别说明,本文中所称FTP客户端软件均以CuteFTP Pro 为例)时,主机处填218.1.1.1,端口填21,此服务器的地址表述为:ftp://218.1.1.1:21/。IIS虽然安装简单,设置较简便,但功能不强,管理也很麻烦,尤其是连新建一个基本的授权访问账户都要进行繁杂的设置,而且IIS本身的安全性也比较差,容易受到诸如“红色代码”等专门针对IIS漏洞进行攻击的病毒侵袭,因而很多人都喜欢使用第三方的FTP服务器软件来架设。
2.2.2、ISS 架设的FTP服务器的管理
IIS虽然安装简单,但管理功能不强,只有简单的账户管理、目录权限设置、消息设置、连接用户管理。
1、账户管理
与Serv-U不同,IIS对账户的管理按照Windows用户账户方式进行。
Serv-U
的设置上面已经有介绍,下面介绍一下每步的设置。 1、首先申请登陆客户端的用户名和密码 http://www.meibu.com/index.asp
14.jpg
点击“申请免费动态解析”
15.jpg
16.jpg
在http://www.meibu.com/khd.asp 下载每步2008版客户端,安装
17.jpg
点击“免费客户端下载”
18.jpg
19.jpg
运行安装完成,在桌面上打开客户端:
20.jpg
完全免费的动态域名解析软件,支持所有解析服务,是完全的泛域名解析,同一域名下的不同子域名可以分别解析到动态ip和静态ip上。
3、安全篇 既然是公网FTP服务器,就难免会遭遇一些恶意攻击,轻则丢失文件,重则造成FTP服务器甚至整个系统崩溃。怎样才能最大限度地保证它的安全性呢? 3.1、操作系统的选择 FTP服务器首先是基于操作系统而运作的,因而操作系统本身的安全性就决定了FTP服务器安全性的级别。虽然Windows 98/Me一样可以架设FTP服务器,但由于其本身的安全性就不强,易受攻击,因而最好不要采用。Windows NT就像鸡肋,不用也罢。最好采用Windows 2000及以上版本,并记住及时打上补丁。至于Unix、Linux,则不在讨论之列。 3.2、使用防火墙 端口是计算机和外部网络相连的逻辑接口,也是计算机的第一道屏障,端口配置正确与否直接影响到主机的安全,一般来说,仅打开你需要使用的端口,将其他不需要使用的端口屏蔽掉会比较安全。限制端口的方法比较多,可以使用第三方的个人防火墙,如天网个人防火墙等,这里只介绍Windows自带的防火墙设置方法。 3.2.1.利用TCP/IP筛选功能 在Windows 2000和Windows XP中,系统都带有TCP/IP筛选功能,利用它可以简单地进行端口设置。以Windows XP为例,打开“本地连接”的属性,在“常规”选项中找到“Internet协议(TCP/IP)”,双击它打开该协议的属性设置窗口。点击右下方的“高级”按钮,进入“高级TCP/IP设置”。在“选项”中选中“TCP/IP筛选”并双击进入其属性设置。这里我们可以设置系统只允许开放的端口(图1)。假如架设的FTP服务器端口为21,先选中“启用TCP/IP筛选(所有适配器)”,再在TCP端口选项中选择“只允许”,点“添加”,输入端口号21,确定即可。这样,系统就只允许打开21端口。要开放其他端口,继续添加即可。这可以有效防止最常见的139端口入侵。缺点是功能过于简单,只能设置允许开放的端口,不能自定义要关闭的端口。如果你有大量端口要开放,就得一个个地去手工添加,比较麻烦。 3.2.2.打开Internet连接防火墙 对于Windows XP系统,自带了“Internet连接防火墙”功能,与TCP/IP筛选功能相比,设置更方便,功能更强大。除了自带防火墙端口开放规则外,还可以自行增删。在控制面板中打开“网络连接”,右击拨号连接,进入“高级”选项卡(图2),选中“通过限制或阻止来自Internet的对此计算机的访问来保护我的计算机和网络”,启用它。系统默认状态下是关闭了FTP端口的,因而还要设置防火墙,打开所使用的FTP端口。点击右下角的“设置”按钮进入“高级设置”,选中“FTP服务器”,编辑它。由于FTP服务默认端口是21,因而除了IP地址一栏外,其余均不可更改。在IP地址一栏中填入服务器公网IP,确定后退出即可即时生效。如果架设的FTP服务器端口为其他端口,比如22,则可以在“服务”选项卡下方点“添加”,输入服务器名称和公网IP后,将外部端口号和内部端口号均填入22即可。 3.3、对IIS、Serv-U等服务器软件进行设置 除了依靠系统提供的安全措施外,就需要利用FTP服务器端软件本身的设置来提高整个服务器的安全了。 3.3.1.IIS的安全性设置 1)及时安装新补丁 对于IIS的安全性漏洞,可以说是“有口皆碑”了,平均每两三个月就要出一两个漏洞。所幸的是,微软会根据新发现的漏洞提供相应的补丁,这就需要你不断更新,安装最新补丁。 2)将安装目录设置到非系统盘,关闭不需要的服务 一些恶意用户可以通过IIS的溢出漏洞获得对系统的访问权。把IIS安放在系统分区上,会使系统文件与IIS同样面临非法访问,容易使非法用户侵入系统分区。另外,由于IIS是一个综合性服务组件,每开设一个服务都将会降低整个服务的安全性,因而,对不需要的服务尽量不要安装或启动。 3)只允许匿名连接 FTP最大的安全漏洞在于其默认传输密码的过程是明文传送,很容易被人嗅探到。而IIS又是基于Windows用户账户进行管理的,因而很容易泄漏系统账户名及密码,如果该账户拥有一定管理权限,则更会影响到整个系统的安全。设置为“只允许匿名连接”,可以免却传输过程中泄密的危险。进入“默认FTP站点”,在属性的“安全账户”选项卡中,将此选项选中。 4)谨慎设置主目录及其权限 IIS可以将FTP站点主目录设为局域网中另一台计算机的共享目录,但在局域网中,共享目录很容易招致其他计算机感染的病毒攻击,严重时甚至会造成整个局域网瘫痪,不到万不得已,最好使用本地目录并将主目录设为NTFS格式的非系统分区中。这样,在对目录的权限设置时,可以对每个目录按不同组或用户来设置相应的权限。右击要设置的目录,进入“共享和安全→安全”中设置,如非必要,不要授予“写入”权限。 5)尽量不要使用默认端口号21 启用日志记录,以备出现异常情况时查询原因。
4、FTP服务器的发布 4.1、FTP服务器的发布形式 建好FTP后,可以用以下形式发布: ftp://user:password@ftp.vip.com:1314/ 其含义是: 址址: ftp.vip.com 用户:user 密码:password 端口:1314 PS:默认情况下FTP的端口是21,如果有修改,就发布修改后的端口; 默认情况下FTP采用PASV模式,如果设置成PORT模式,发布时要说明采用PORT模式登录。 关于PASV与PORT模式的含义参见本贴中的 5.2、FTP中的两种工作方式。 4.2、如何做FTP服务器的列表 为了节省带宽资源,方便别人了解FTP主要内容,可以做一个FTP服务器的列表文件。 做列表文件使用的软件常见的有FTPLIST。 4.3、如何做显示FTP服务器状态的图片 1、单独建立一个用于显示FTP状态的账号,如用户名、密码都是online。 2、该账号权限设置为任意IP仅文件可读,目录无权限。 3、在该账号主目录内放置一小的文件名的online.gif的GIF格式图片(根据人个爱好选择)。4、在发布帖中加上以下内容: ftp://online:online@yourftp:port/ 注意:上面的链接中把全角符号改成半角符号。
4.4、其它问题 1、使用WXP操作系统做FTP时,请把XP自带的防火墙关闭,否则可能导致无法连接。同时建议做FTP的兄弟安装杀毒软件和专业的防火墙。 2、长宽用户(同样建议其它用户)请把FTP端口改成1024以后的端口,以增强安全性。 上面只是建立FTP的一些方法,所有内容来自网上。 由于时间及条件限制,并没有一一测试。 当然建立FTP有多种方案。这里抛砖引玉,欢迎大家把自己的建FTP的以验拿出来让大家一起分享。
5、FTP相关知识: 5.1、关于登录FTP时看到的FTP状态代码5.1.1、FTP状态代码含义说明
110 Restart marker reply. In this case, the text is exact and not left to the particular implementation; it must read: MARK yyyy = mmmm where yyyy is User-process data stream marker, and mmmm server’s equivalent marker (note the spaces between markers and “=”. 重新启动标志回应。这种情况下,信息是精确的并且不用特别的处理;可以这样看:标记 yyyy = mmm 中 yyyy是 用户进程数据流标记,mmmm是服务器端相应的标记(注意在标记和等号间的空格)。 120 Service ready in nnn minutes. 服务在NNN时间内可用。 125 Data connection already open; transfer starting. 数据连接已经打开,开始传送数据。 150 File status okay; about to open data connection. 文件状态正确,正在打开数据连接。
200 Command okay. 命令执行正常结束。
202 Command not implemented, superfluous at this site. 命令未被执行,此站点不支持此命令。
211 System status, or system help reply. 系统状态或系统帮助信息回应。
212 Directory status. 目录状态信息。
213 File status. 文件状态信息。 214 Help message.On how to use the server or the meaning of a particular non-standard command. This reply is useful only to the human user. 帮助信息。关于如何使用本服务器或特殊的非标准命令。此回复只对人有用。
215 NAME system type. Where NAME is an official system name from the list in the Assigned Numbers document. NAME系统类型。 220 Service ready for new user. 新连接的用户的服务已就绪。 221 Service closing control connection. 控制连接关闭 。
225 Data connection open; no transfer in progress. 数据连接已打开,没有进行中的数据传送。 226 Closing data connection. Requested file action successful (for example, file transfer or file abort). 正在关闭数据连接。请求文件动作成功结束(例如,文件传送或终止)。 227 Entering Passive Mode (h1,h2,h3,h4,p1,p2). 进入被动模式。 230 User logged in, proceed. Logged out if appropriate. 用户已登入。如果不需要可以登出。
250 Requested file action okay, completed. 被请求文件操作成功完成。
257 “PATHNAME” created. 路径已建立。 331 User name okay, need password. 用户名存在,需要输入密码。
332 Need account for login. 需要登陆的账户。 350 Requested file action pending further information 对被请求文件的操作需要进一步更多的信息。 421 Service not available, closing control connection.This may be a reply to any command if the service knows it must shut down. 服务不可用,控制连接关闭。这可能是对任何命令的回应,如果服务认为它必须关闭。 425 Can’t open data connection. 打开数据连接失败。 426 Connection closed; transfer aborted. 连接关闭,传送中止。
5.3.1、消息变量的作用: FTP提供了详细的消息设置,这些消息都可以在帮助文件中找到,因此不再做详细的介绍。而消息中可以使用变量,这些变量主要应用于: 1)登录/登出消息 2)指定的用户登录消息 3)目录改变消息 5.3.2、消息变量的含义: (1)Time/date %Time – 你的PC上的当前时间 %Date – 你的PC上的当前日期 (2)Server statistics %ServerDays – 服务器已经运行的天数 %ServerHours – 服务器已经运行的小时数 %ServerMins – 服务器已经运行的分钟数 %ServerSecs – 服务器已经运行的的秒数 %ServerKbUp – 自服务器运行以来上载的文件总量(KB) %ServerKbDown – 自服务器运行以来下载的文件总量(KB) %ServerFilesUp – 自服务器运行以来上载的文件数目 %ServerFilesDown – 自服务器运行以来上载的文件数目 %LoggedInAll – 自服务器运行以来用户的总登录数 %ServerAvg – 自服务器运行以来的平均吞吐量 %ServerKBps – 当前服务器的带宽 (3)Server settings %MaxUsers – 允许的最大用户数目 %MaxAnonymous – 允许的最大匿名用户数目 (4)User info %Name – 用户登录名 %IP – 用户IP地址 %Dir – 用户当前目录 %Disk – 用户当前磁盘驱动器 %DFree – 用户当前剩余空间(KB) %FUp – 用户上载文件总数 %FDown – 用户下载文件总数 %FTot – 传输文件总数 %BUp – 用户上载文件总量(KB) %Bdown – 用户下载文件总量(KB) %BTot – 传输文件总量 %TconM – 总连接时间(分钟) %TconS – 总连接时间(秒) %RatioUp – UL/DL的上载部分 %RatioDown – UL/DL的下载部分 %RatioCredit – 当前UL/DL中的下载信用(Kb或文件数目) %QuotaUsed – 用户所用空间配额(KB) %QuotaLeft – 用户剩余空间配额(Kb) %QuotaMax – 最大可用磁盘空间(KB) (5)Number of users %UNow – 当前连接到FTP服务器的用户数目 %UAll – 自服务器启动后连接上的用户数目 %U24h – 最后24小时连入的用户数目 %UAnonAll – 当前连入的匿名用户数目 %UAnonThisIP – 使用此IP连入的匿名用户数目 %UNonAnonAll – 当前连入的非匿名用户数目 %UNonAnonThisIP – 使用此IP连入的非匿名用户数目 %UThisName – 使用当前用户名连入的用户数目 5.3.3、消息示例: 欢迎访问mywebsite_FTP服务器下载,服务器已经运行了%ServerDays天、%ServerHours小时、%ServerMins分钟,共有%LoggedInAll个用户登录,共下载软件%ServerKbDown KB;当前服务器带宽为%ServerKBps,平均吞吐量为%ServerAvg,现在共有%UNow 个用户连接服务器,您的登录用户名是%Name ,IP是%IP,总连接时间%TconM 分钟,有%UThisName 个使用当前用户名连入,用户最大可用磁盘空间%QuotaMax ,剩余空间配额%QuotaLeft。