FTP-设置及 主动模式与被动模式

写在前面

本文仅适合吾等技术小白,大神们请果断忽略之。

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. 


你可能感兴趣的:(Windows操作系统,Linux操作系统)