首先把ftp软件部署在服务器上,然后通过ip地址加端口号的方式访问ftp服务器资源。
ftp服务器可以局域网搭建或者使用公网地址映射私网服务器,可以实现互联网访问。
分类: 电脑/网络 >>互联网解析:
FTP基础知识
您是否正准备搭建自己的FTP网站?您知道FTP协议的工作机制吗?您知道什么是PORT方式?什么是PASV方式吗?如果您不知道,或没有完全掌握,请您坐下来,花一点点时间,细心读完这篇文章。所谓磨刀不误砍柴功,掌握这些基础知识,会令您事半功倍。否则,很可能折腾几天,最后一事无成。
FTP基础知识
FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。
FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。
PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。
当需要传送数据时,客户端在命令链路上用 PORT命令告诉服务器:“我打开了****端口,你过来连接我”。于是服务器从20端口向客户端的****端口发送连接请求,建立一条数据链路来传送数据。
PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。
当需要传送数据时,服务器在命令链路上用 PASV命令告诉客户端:“我打开了****端口,你过来连接我”。于是客户端向服务器的****端口发送连接请求,建立一条数据链路来传送数据。
从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同。而FTP的复杂性就在于此。
FTP服务器端的注意事项
一、FTP服务器是公网IP,用公网动态域名;或是内网IP,用内网专业版TrueHost
1、服务器如果安装了防火墙,请记住要在防火墙上打开FTP端口(默认是21)。
2、所有FTP服务器软件都支持PORT方式。至于PASV方式,大部分FTP服务器软件都支持。支持PASV方式的FTP服务器软件,也可以设置为只工作在PORT方式上。
3、为了PASV方式能正常工作,需要在FTP服务器软件上为PASV方式指定可用的端口范围(设置方法)。此外,还要在服务器的防火墙上打开这些端口。当客户端以PASV方式连接服务器的时候,服务器就会在这个端口范围里挑选一个端口出来,给客户端连接。
二、FTP服务器是内网IP,用内网动态域名标准版cm*natpro*y
这种情况下,FTP服务器不需要做特殊设置,只要支持PASV方式就可以了。大部分FTP服务器软件都支持PASV方式。
FTP客户端的注意事项
请注意:选择用PASV方式还是PORT方式登录FTP服务器,选择权在FTP客户端,而不是在FTP服务器。
一、客户端只有内网IP,没有公网IP
从上面的FTP基础知识可知,如果用PORT方式,因为客户端没有公网IP,FTP将无法连接客户端建立数据链路。因此,在这种情况下,客户端必须要用PASV方式,才能连接FTP服务器。大部分FTP站长发现自己的服务器有人能登录上,有人登录不上,典型的错误原因就是因为客户端没有公网IP,但用了IE作为FTP客户端来登录(IE默认使用PORT方式)。
作为FTP站长,有必要掌握FTP的基础知识,然后指导您的朋友如何正确登录您的FTP。
二、客户端有公网IP,但安装了防火墙
如果用PASV方式登录FTP服务器,因为建立数据链路的时候,是由客户端向服务器发送连接请求,没有问题。反过来,如果用PORT方式登录FTP服务器,因为建立数据链路的时候,是由服务器向客户端发送连接请求,此时连接请求会被防火墙拦截。如果要用PORT方式登录FTP服务器,请在防火墙上打开 1024以上的高端端口。
三、连接用内网标准版cm*natpro*y搭建的FTP服务,必须要用PASV方式。连接任何公网FTP服务器、或用内网专业版TrueHost搭建的FTP服务器,PORT方式和PASV方式都可以使用。
当然,使用PORT方式的时候,还要满足上面的两个条件。
四、常见的FTP客户端软件PORT方式与PASV方式的切换方法。
大部分FTP客户端默认使用PASV方式。IE默认使用PORT方式。
在大部分FTP客户端的设置里,常见到的字眼都是“PASV”或“被动模式”,极少见到“PORT”或“主动模式”等字眼。因为FTP的登录方式只有两种:PORT和PASV,取消PASV方式,就意味着使用PORT方式。
IE:
工具 ->Inter选项 ->高级 ->“使用被动FTP”(需要IE6.0以上才支持)。
CuteFTP:
Edit ->Setting ->Connection ->Firewall ->“PASV Mode”
或
File ->Site Manager,在左边选中站点 ->Edit ->“Use PASV mode”
FlashGet:
工具 ->选项 ->代理服务器 ->直接连接 ->编辑 ->“PASV模式”
FlashFTP:
选项 ->参数选择 ->代理/防火墙/标识 ->“使用被动模式”
或
站点管理 ->对应站点 ->选项 ->“使用被动模式”
或
快速连接 ->切换 ->“使用被动模式”
LeechFTP:
Option ->Firewall ->Do not Use
五、请尽量不要用IE作为FTP客户端
IE只是个很粗糙的FTP客户端工具。首先,IE6.0以下的版本不支持PASV方式;其次,IE在登录FTP的时候,看不到登录信息。在登录出错的时候,无法找到错误的原因。在测试自己的FTP网站的时候,强烈建议不要使用IE。
FTP建站的详细配置过程
请参考这个网页的说明来配置:
使用Serv-U建立FTP网站
高级话题
一、为什么没有公网IP,也能使用PORT方式登录FTP?
NAT 网关的工作方式是在TCP/IP数据包的包头里找局域网的源地址和源端口,替换成网关的地址和端口。对数据包里的内容,是不会改变的。而使用PORT方式登录FTP的时候,IP地址与端口信息是在数据包里面的,而不是在包头。因此,没有公网IP,使用PORT方式是无法从inter上的ftp服务器下载数据的。
但是,极少数的NAT网关也支持PORT方式。这些NAT网关连数据包里面的内容都扫描,扫描到 PORT指令后会替换PORT方式的IP和端口。在这种NAT网关下面,用PORT方式就没问题了。不过,这些网关也只扫描21端口的数据包,如果FTP 服务器不是用默认的21端口,也无法使用PORT方式。
二、内网可以用PORT访问其他FTP,为什么不能用PORT访问自己的TrueHost FTP?
下面要讨论的问题,只是为了说明一些原理,是不影响实际使用的。如果您没有兴趣深究这些原理,不必花时间看。
内网用户通过支持PORT方式的NAT网关,访问自己本机利用TrueHost建立的FTP服务器,FTP命令链路的建立过程如下:
FTP客户端
10.10.0.1
端口*** <==>ISP NAT网关
61.144.1.2
端口**** <==>TH服务器
*.*.*.*
端口21 <==>TH客户端 <==>用户FTP服务器
10.10.0.1
端口21
FTP客户端通过ISP的NAT网关、科迈TrueHost服务器、TrueHost客户端,连接用户本机的FTP服务器的21端口。
当需要下载数据的时候,FTP客户端通过这条命令链路,向FTP服务器发送PORT命令。假设命令为:
PORT 10,10,0,1,30,4 (即IP=10.10.0.1 端口=30*256+4=7684)
当命令通过ISP的NAT网关的时候,NAT网关判断目的端口是21,并且是PORT命令,于是,修改命令里的IP和端口,替换为自己的IP和端口,比如:
PORT 61,144,1,2,50,6 (即IP=61.144.1.2 端口=50*256+6=12806)
用户的FTP服务器最终收到的是上面这个PORT命令。于是,FTP服务器向这个IP和端口发送连接请求,建立数据链路。
用户FTP服务器
10.10.0.1
端口20 <==>ISP NAT网关
61.144.1.2
端口12806 <==>FTP客户端
10.10.0.1
端口7684
但是,因为NAT网关的公网IP只能接收外来的连接请求。就是说,61.144.1.2:12806只能接收其他公网IP的连接请求,对于从NAT内部(10.10.0.1:20)发起的连接请求,是无法建立连接的。为什么?原因很简单,因为内网IP要访问外网,必须要通过NAT建立映射。于是FTP数据链路无法建立。于是,用户无法在自己的机器上通过21端口访问自己的TrueHost FTP。
我们再来看看,如果FTP端口不是21,比如是22,会发生什么情况呢?在FTP客户端发送PORT命令的时候,NAT网关检测到目标端口是22,因为支持PORT的 NAT网关只监视目的端口是21的数据包,发现目的端口是22的数据包,不做任何处理,完全放行。于是FTP服务器收到的PORT命令依然是PORT 10,10,0,1,30,4。于是FTP服务器向这个IP和端口发送连接请求。
用户FTP服务器
10.10.0.1
端口20 <==>FTP客户端
10.10.0.1
端口7684
这种情况下命令链路就可以建立起来了。而且是等于本机连接本机,速度飞快。
综上所述,内网用户无法用PORT方式通过21端口访问自己的TrueHost FTP服务器。如果FTP端口不是21,则可以访问,而且实际上是本机连接本机。
上面的文字,仅仅是为了说明一些原理,不影响实际使用。如果本机访问本机,还要通过FTP的话,就有画蛇添足之嫌了。
以cuteftp 5.0 xp为例: 第一步,运行cuteftp 5.0 xp,首先我们需要打开cuteftp,启动后弹出一个如下图的界面。点击continue trial. 第二步:在新的界面中点击new 第三步,在弹出的连接框中请填入: Label for site(站点名称):New Site Ftp Host Address(ftp上传地址):ftp.nease.net (免费试用空间为:ftp.go.nease.net) Ftp site User Name(用户名): abc(abc为您所申请的个人空间的用户名) Ftp site Password(密码): 您所申请的收个人空间的密码。 Ftp site connection port(端口):21 填写完成后点击Connect(连接), 第四步:文件的上传与下载: 点击connect键后,就正式连接上了。 数字1处为上传进度栏; 数字2处为本地硬盘; 数字3处为服务器硬盘; 您的信息均应存放在根目录下(数字3标示处),如上载文件只需在左侧选中若干文件再用鼠标拖到右侧即可,下载反向操作即可。 第五步: 文件传输完后就可以断开FTP的连接。只需点击CUTEFTP窗口中左上角的断开图标即可 第六步:在服务器端直接对文件进行操作: 如果需要在服务器端直接对文件操作,例如删除、改名,只需选中该文件,然后点鼠标右键,就会弹出一个菜单,选中相应的命令即可。 特别请您注意,一定要将您的首页文件取名为根目录下的"index.html",只有这样,您在浏览器的地址栏中输入http://您的用户名.nease.net 才可能显示您的首页。还有一点要提醒您的,您不但要把您的html文件传上去,还有您的图片文件也一定要传到网站服务器上去,另外如果您还有什么在首页中链接了的文件也要一并传上去,这样您的主页才算完整哦! 注:免费试用空间的Host(ftp上传地址)为ftp.go.nease.net,浏览地址为http://您的用户名.go.nease.net 以“网络传神”为例: 第一步,运行“网络传神”,我们需要先打开“网络传神”软件。 第二步,添加帐户: 由于一般的ftp软件可以分别管理几个不同的空间账号,我们首先需要将您在网易购买的空间账号添加到软件中。 首先,添加空间帐号:点击站点总管菜单中的“站点总管”。如图中第1步。 其次,在“站点总管”中使用鼠标右键单击“ftp服务”,选择“新建站点”。如图中第2步。 最后,在“网站编辑”的“一般用户设置中”填写“用户设置”内容。 网站名称填写————我的网站 服务器地址填写———ftp.nease.net 用户名———————您在www.nease.net申请的用户名 密码————————您在填写个人资料是填写的个人密码 点击“确定”完成帐户添加, 这样,我们就已经将您在网易购买的空间账户成功添加到软件中了。 第三步,将您的本地计算机连接到个人主页空间: 首先,选择“站点总管”菜单中的“站点总管”。如图中第4步。 其次,选择我们刚刚建立的“我的网站”,图中第5步。 最后,点击“连接”,我们就等待着它给我们连好吧。在通过一系列的工作之后,系统弹出了一个信息框,告诉我们已经连通了。并且对我们进行问候“你好吗”这样我们就已经连接成功。 第四步,文件上传: 连接成功后,弹出一个类似"资料管理器"的界面,左面的是您的本地硬盘上的文件,右面的是网站服务器。您就可以像在自己的计算机上拷贝文件一样将您要上传的文件用"拖拽"的方式拖到网站上。不过注意,您一定要将您的首页文件取为根目录下的"index.html",只有这样,您在浏览器的地址栏中输入http://您的用户名.nease.net 才可能显示您的首页。还有一点要提醒您的,您不但要把您的HTML文件传上去,还有您的图片文件也一定要传到网站服务器上去,另外如果您还有什么在首页中链接了的文件也要一并传上去,这样您的主页才算完整哦! 文件修改和删除: 1、修改: 请在本地机器上用网页制作工具修改网页内容,再上传到服务器上。 2、删除: 使用ftp连接到您的空间以后,用鼠标右键点击您想删除的文件,选择"删除"项就可以了。欢迎分享,转载请注明来源:夏雨云
评论列表(0条)