写在前面
本文仅适合吾等技术小白,大神们请果断忽略之。
1、需求分析
为了提高效率,更好地完成期末网站作业,搭建ftp,实现组内资源共享。
2、所需软件
FileZilla Server 网址:http://filezilla-project.org/
FileZilla Client 网址:http://filezilla-project.org/(或其他ftp工具)
3、搭建流程
首先,到FileZilla官网下载FileZilla Server (服务端)。
输入官网网址:http://filezilla-project.org/,进入首页,点击下载FileZilla Server,如图01。
图 01
进入下载页面,确认下载,如图02。
图 02
找到下载完成的安装软件,安装,如图03。
图 03
点击安装,出现以下提醒,点“运行”,如图04。
图 04
进入安装界面,点击“I Agree",如图05。
图 05
请接受默认选择,直接进入下一步,如图06。
图 06
选择安装路径,建议安装到非系统盘,如图07。
图 07
选择启动项,第一项为开机启动,第二项 为手动启动,第三项不推荐,可忽略之。我选择手动,其他保持默认值,如图08。
图 08
进入下一步,保持默认选项,确认安装,如图09。
图 09
安装完成,关闭该界面,如图10。
图 10
安装完成后,自动打开程序界面,点击左上方的File,在下拉菜单中选择“Connect to Server",如图11。
图 11
设置Server信息,Server Address和Port项保持 默认值,并输入自己喜欢的密码,点击'OK",如图12。
图 12
回到主界面,点击左上方的”Edit",进入“Settings”选项,如图13。
图 13
进入Settings设置界面,点开“General Settings",按个人需求修改各项数值。注意,第一项设置保持默认值。修改完成之后,点击”OK“以保存修改,如图14。
图 14
回到主界面,添加用户和文件夹,点击人头图标,如图15。
图 15
进入Users设置界面,选中General项,点击”Add“添加用户,如图16。
图 16
设置用户信息,输入用户名,如图17。
图 17
回到Users设置界面,设置密码,也可以不设,看个人习惯。如图18.
图 18
接下来,点击界面左上角的Shared folders,设置共享文件夹及权限。如图19。
图 19
至此,完成了ftp的搭建。
4、运行测试
本机运行FileZilla Client ,输入地址:127.0.0.1,用户名及密码,连接。连接成功之后如图20。
图 20
若用CuteFTP连接,成功之后,如图21。
图 21
需要注意的是,用CuteFTP连接,容易出现乱码,所以建议使用FileZilla Client 。(鉴于能力有限,乱码解决问题不在本文讨论范围之内)
若用IE打开,连接成功之后,如图22。
图 22
至此,说明ftp可以正常运行。接下来,则要实现异地访问,保证小组其他成员可以正常访问。
首先,要找出本机的IP。Windows7下打开”所有程序--附件--运行“,或者直接Win+R,弹出运行对话框,输入cmd,确定,在弹出来的界面中输入ipconfig,再ENTER键,则可以看到本机IP,中大校园网用户的IP通常为172.16.*.*。如图23。
图 23
找出IP,把IP地址发给小组成员,连接。通常是不成功的,因为防火墙的设置没有修改。
最简单的设置就是把防火墙关了。Windows7下,打开”控制面板--系统和安全--Windows防火墙--打开或关闭防火墙“,选择关闭防火墙。如图24、25。
图 24
图 25
保存设置,再次用别的电脑访问,应该就可以了。
但是,这个方法太过暴力,而且关掉防火墙,个人感觉不太安全。所以,不推荐使用此方法。
更好的方法是启用防火墙,将FileZilla软件添加到允许程序列表中。具体操作如下:
打开Windows防火墙主界面,点击左侧的”允许程序或功能通过Windows防火墙“,如图26。
图 26
点击进入设置界面,点击下方的”允许运行另一程序“,如图27。
图 27
弹出”添加程序“对话框,选中FileZilla Server,注意不要选成FileZilla Server Interface。如果列表中没有该选项,则点击浏览,然后选中FileZilla Server,再点击”添加“。如图28、29。
图 28
图 29
保存设置,刷新,再次用其他电脑访问,应该就可以了。
当然,为了保证正常访问,自己本机里必须把FileZilla Server打开,当别人访问成功时,FileZilla Server会有提示,如图30。
图 30
选中下方的访问者,如果看对方不顺眼,可以右键,选择”Kick user" 或者“Ban user's IP address",即将对方踢下线或者禁止该IP访问。
另外,鉴于我们是校园网用户,网速十分一般,为避免访问者一下占用太大的频宽导致网络变慢,可设置下载频宽。打开Users设置界面(Edit--Users),选中左侧的Speed limits。然后,按照个人需要设置下载速度限制,如图31。
图 31
至此,应该就可以成功搭建ftp,并实现资源共享了。
/************************FTP连接时出现“227 Entering Passive Mode” 的解决方法*********************/
今天从公网的服务器连接本地内网的FTP server copy文件时,系统老是提示227 Entering Passive Mode (xxx,xxx,,xxx,xxx,x),很是奇怪,于是上网找资料仔细研究了一下,原来FTP有两种工作模式,PORT模式和PASV模式.
在主动模式下,FTP客户端随机开启一个大于1024的本地端口(比如N号端口)向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令。
服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端的N+1号端口进行数据传输。
在被动模式下,FTP客户端随机开启一个大于1024的本地端口(比如N号端口)向服务器的21号端口发起连接,同时会开启N+1号端口,
然后向服务器发送PASV命令通知服务器自己处于被动模式。服务器收到该命令后,会开放一个大于1024的端口(比如P号端口)进行监听,
然后用PORT P命令通知客户端,而自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的P号端口,
最后在客户端N+1号端口和服务器的P号端口之间进行数据传输。
用下面的图例会更清晰说明两者之间的区别:
*主动模式
命令连接:客户端 大于1024 端口 → 服务器 21 端口
数据连接:客户端 大于1024 端口 ← 服务器 20 端口
*被动模式
命令连接:客户端 大于1024 端口 → 服务器 21 端口
数据连接:客户端 大于1024 端口 ← 服务器 大于1024 端口
总的来说,主动模式是服务器主动连接客户端的数据端口,被动模式是服务器被动地等待客户端连接自己的数据端口。
被动模式通常用在处于防火墙之后的FTP客户端需要访问外界FTP服务器的场景,因为在这种场景下,防火墙通常被配置为不允许外界访问防火墙之后主机,而只允许防火墙之后的计算机发起的连接请求。因此在这种场景下不能使用主动模式,而被动模式可以良好的工作。
由于我的本地FTP服务器在内网,只是从外网映射了两个端口(20,21),即FTP服务器处于防火墙之后,所以应该使用主动模式。
ftp> passive
Passive mode off.
ftp> passive (再次运行命令可打开)
Passive mode on.